Hello Alvaro, Looking at 0001+0003, I see it claims GIN support for <<@ and @>>, but > actually only the former is implemented fully; the latter is missing a > strategy number in ginarrayproc.c and pg_amop.dat, and also > src/test/regress/sql/gin.sql does not test it. I suspect > ginqueryarrayextract needs to be told about this too.
GIN/array_ops requires the left operand to be an array, so only @>> can be used in GIN. However, <<@ is defined as @>> commutative counterpart, so when for example “5 <<@ index” it will be translated to “index @>> index” thus indirectly using the GIN index. We can definitely add tests to “ src/test/regress/sql/gin.sql” to test this. Do you agree? Also what do you mean by “ ginqueryarrayextract needs to be told about this too”? Best Regards, Mark Rofail