{"push_id":1508538845,"size":1,"distinct_size":1,"ref":"refs/heads/134494357_anyenum_anynonarray","head":"4c2128cd42d2020c33314499091ad56682388434","before":"c60b98d8838887e6a6201699415291d72a37f4af","commits":[{"sha":"4c2128cd42d2020c33314499091ad56682388434","author":{"name":"Dhanashree Kashid","email":"a7113a6f4ccd27890471715685a45013ab2c9271@pivotal.io"},"message":"[#134494357] Handle ANYENUM in Translator\n\nAfter 8.3 merge, gpdb has new polymorphic type, ANYENUM.\n\nThis fix adds support for ANYENUM in Translator.\n\nAs per postgreSQL, when a function has polymorphic arguments and results;\nin the function call they must have the same actual type.\nFor example, a function declared as `f(ANYARRAY) returns ANYENUM`\nwill only accept arrays of enum types.\n\nDetails about PdrgpmdidResolvePolymorphicTypes() :\n1. Iterate through arguments from function signature and\n   populate them from arguments sent to the function call.\n2. Deduce ANYELEMENT either from ANYARRAY or ANYENUM\n3. Use deduced ANYELEMENT to deduce ANYARRAY or ANYENUM (if they are not already resolved)\n4. Check the return type and use the appropriate deduced type.\n\nIn nutshell, since all of the polymorphic types for a given function call conform to same actual type,\nwe can deduce them from one another.\nHence we first deduce ANYELEMENT from ANYARRAY or ANYENUM and use it to deduce remaining unresolved types.\nOnce we have all the types resolved, we pick them based on the function return type.\n\nSigned-off-by: Ekta Khanna <ekhanna@pivotal.io>","distinct":true,"url":"https://api.github.com/repos/dhanashreek89/gpdb/commits/4c2128cd42d2020c33314499091ad56682388434"}]}
{"actor":{"display_login":"dhanashreek89"}}