You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
Drop opcintype from index AM strategy translation API
The type argument wasn't actually really necessary. It was a remnantof converting the API of the gist strategy translation from usingopclass to using opfamily+opcintype (commitsc09e5a6,622f678). For looking up the gist translation function, we usedthe convention "amproclefttype = amprocrighttype = opclass'sopcintype" (see pg_amproc.h). But each operator family should onlyhave one translation function, and getting the right type for thelookup is sometimes cumbersome and fragile, so this is allunnecessarily complicated.To simplify this, change the gist stategy support procedure to take"any", "any" as argument. (This is arbitrary but seems intuitive.The alternative of using InvalidOid as argument(s) upsets various DDLcommands, so it's not practical.) Then we don't need opcintype forthe lookup, and we can remove it from all the API layers introduced bycommitc09e5a6.This also adds some more documentation about the correct signature ofthe gist support function and adds more checks in gistvalidate().This was previously underspecified. (It relied implicitly onconvention mentioned above.)Discussion:https://www.postgresql.org/message-id/flat/E72EAA49-354D-4C2E-8EB9-255197F55330@enterprisedb.com