In 7.4.1, intarray module have a problme about equal operator (=).
select * from table where intarray_column = '{}';
above query make error.
because when not equal operator (<>) is made,
this make incorrect equal operator by implicate.
so, I patched.
Patch content is here.
===== BEGIN of FILE =====
--- _int.sql.in.orig Thu Jun 12 03:44:15 2003
+++ _int.sql.in Wed Jan 7 13:14:37 2004
@@ -140,15 +140,15 @@
-- SORT2 = '<'
--);
-CREATE OPERATOR <> (
- LEFTARG = _int4,
- RIGHTARG = _int4,
- PROCEDURE = _int_different,
- COMMUTATOR = '<>',
- NEGATOR = '=',
- RESTRICT = neqsel,
- JOIN = neqjoinsel
-);
+--CREATE OPERATOR <> (
+-- LEFTARG = _int4,
+-- RIGHTARG = _int4,
+-- PROCEDURE = _int_different,
+-- COMMUTATOR = '<>',
+-- NEGATOR = '=',
+-- RESTRICT = neqsel,
+-- JOIN = neqjoinsel
+--);
CREATE OPERATOR @ (
LEFTARG = _int4,
@@ -343,7 +343,7 @@
CREATE OPERATOR CLASS gist__int_ops
DEFAULT FOR TYPE _int4 USING gist AS
OPERATOR 3 &&,
- OPERATOR 6 = RECHECK,
+ OPERATOR 6 = (anyarray, anyarray) RECHECK,
OPERATOR 7 @,
OPERATOR 8 ~,
OPERATOR 20 @@ (_int4, query_int),
@@ -418,7 +418,7 @@
FOR TYPE _int4 USING gist
AS
OPERATOR 3 && RECHECK,
- OPERATOR 6 = RECHECK,
+ OPERATOR 6 = (anyarray, anyarray) RECHECK,
OPERATOR 7 @ RECHECK,
OPERATOR 8 ~ RECHECK,
OPERATOR 20 @@ (_int4, query_int) RECHECK,
===== End of FILE =====