Re: Allowing GIN array_ops to work on anyarray - Mailing list pgsql-hackers

From Enrique Meneses
Subject Re: Allowing GIN array_ops to work on anyarray
Date
Msg-id 20160926005905.1310.63030.pgcf@coridan.postgresql.org
Whole thread Raw
In response to Allowing GIN array_ops to work on anyarray  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
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 am resending this due to an earlier error message from the mailing list:
-----
These are my comments for the review of https://commitfest.postgresql.org/10/708/ 

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.

I am not sure what "Spec compliant means"... so I did not select as tested or passed. What should I do to validate that
thischange is "Spec compliant"?
 


The new status of this patch is: Waiting on Author

pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: PoC: Make it possible to disallow WHERE-less UPDATE and DELETE
Next
From: Thomas Munro
Date:
Subject: Re: VACUUM's ancillary tasks