• D
    [#134494357] Added ANYENUM, ANYNONARRAY · c3ad85eb
    Dhanashree Kashid 提交于
    After 8.3 merge, gpdb has new polymorphic types, ANYENUM and ANYNONARRAY.
    
    This fix adds support for ANYENUM and ANYNONARRAY in Translator.
    
    As per postgreSQL, when a function has polymorphic arguments and results;
    in the function call they must have the same actual type.
    For example, a function declared as `f(ANYARRAY) returns ANYENUM`
    will only accept arrays of enum types.
    
    We already have this resolution logic implemented in
    `resolve_polymorphic_argtypes()`.
    
    Refactor the code in `PdrgpmdidResolvePolymorphicTypes()` to use
    `resolve_polymorphic_argtypes()` to deduce the correct data type for
    function argument and return type, based on function call.
    Signed-off-by: NBhuvnesh Chaudhary <bchaudhary@pivotal.io>
    Signed-off-by: NOmer Arap <oarap@pivotal.io>
    c3ad85eb
CTranslatorUtils.cpp 69.8 KB