The following review has been posted through the commitfest application:
make installcheck-world: tested, passed
Implements feature: tested, passed
Spec compliant: not tested
Documentation: tested, passed
I built and installed (make world / make install-world) github branch REL9_6_STABLE and applied the patch (patch -p1 <
patch/gin-true-anyarray-opclass-1.patch).
I then upgraded my development database (postgres 9.5) using pg_upgrade. This database has one table with an UUID array
ginindex. The database was upgraded correctly to postgresql 9.6 and I was able to successfully connect to it from a web
applicationwhich uses the database. There were no conflicts so I expect others to be able to upgrade without issues.
I then dropped the database and re-created it... I made sure that I no longer used my prior operator class definition.
Ire-started my web application and confirmed it works. This verifies the feature works as designed.
The following is no longer required:
CREATE OPERATOR CLASS _uuid_ops DEFAULT FOR TYPE _uuid USING gin AS OPERATOR 1 &&(anyarray, anyarray), OPERATOR 2
@>(anyarray,anyarray), OPERATOR 3 <@(anyarray, anyarray), OPERATOR 4 =(anyarray, anyarray), FUNCTION 1 uuid_cmp(uuid,
uuid),FUNCTION 2 ginarrayextract(anyarray, internal, internal), FUNCTION 3 ginqueryarrayextract(anyarray, internal,
smallint,internal, internal, internal, internal), FUNCTION 4 ginarrayconsistent(internal, smallint, anyarray, integer,
internal,internal, internal, internal), STORAGE uuid;
I also ran "make installcheck-world" and all the tests passed.
The new status of this patch is: Waiting on Author