don't cause confusion with the built-in anyarray versions of those operators.
Adjust the module's index opclasses to support the built-in operators in place
of the private ones.
The private implementations are still available under their historical
names @ and ~, so no functionality is lost. Some quick testing suggests
that they offer no real benefit over the core operators, however.
Per a complaint from Rusty Conover.
-/* $PostgreSQL: pgsql/contrib/intarray/_int.sql.in,v 1.29 2009/03/25 22:19:01 tgl Exp $ */
+/* $PostgreSQL: pgsql/contrib/intarray/_int.sql.in,v 1.30 2009/04/05 00:40:35 tgl Exp $ */
-- Adjust this setting to control where the objects get created.
SET search_path = public;
-- JOIN = neqjoinsel
--);
-CREATE OPERATOR @> (
- LEFTARG = _int4,
- RIGHTARG = _int4,
- PROCEDURE = _int_contains,
- COMMUTATOR = '<@',
- RESTRICT = contsel,
- JOIN = contjoinsel
-);
+--CREATE OPERATOR @> (
+-- LEFTARG = _int4,
+-- RIGHTARG = _int4,
+-- PROCEDURE = _int_contains,
+-- COMMUTATOR = '<@',
+-- RESTRICT = contsel,
+-- JOIN = contjoinsel
+--);
-CREATE OPERATOR <@ (
- LEFTARG = _int4,
- RIGHTARG = _int4,
- PROCEDURE = _int_contained,
- COMMUTATOR = '@>',
- RESTRICT = contsel,
- JOIN = contjoinsel
-);
+--CREATE OPERATOR <@ (
+-- LEFTARG = _int4,
+-- RIGHTARG = _int4,
+-- PROCEDURE = _int_contained,
+-- COMMUTATOR = '@>',
+-- RESTRICT = contsel,
+-- JOIN = contjoinsel
+--);
-- obsolete:
CREATE OPERATOR @ (
DEFAULT FOR TYPE _int4 USING gist AS
OPERATOR 3 &&,
OPERATOR 6 = (anyarray, anyarray),
- OPERATOR 7 @>,
- OPERATOR 8 <@,
+ OPERATOR 7 @> (anyarray, anyarray),
+ OPERATOR 8 <@ (anyarray, anyarray),
OPERATOR 13 @,
OPERATOR 14 ~,
OPERATOR 20 @@ (_int4, query_int),
AS
OPERATOR 3 &&,
OPERATOR 6 = (anyarray, anyarray),
- OPERATOR 7 @>,
- OPERATOR 8 <@,
+ OPERATOR 7 @> (anyarray, anyarray),
+ OPERATOR 8 <@ (anyarray, anyarray),
OPERATOR 13 @,
OPERATOR 14 ~,
OPERATOR 20 @@ (_int4, query_int),
AS
OPERATOR 3 &&,
OPERATOR 6 = (anyarray, anyarray),
- OPERATOR 7 @>,
- OPERATOR 8 <@,
+ OPERATOR 7 @> (anyarray, anyarray),
+ OPERATOR 8 <@ (anyarray, anyarray),
OPERATOR 13 @,
OPERATOR 14 ~,
OPERATOR 20 @@ (_int4, query_int),
-/* $PostgreSQL: pgsql/contrib/intarray/uninstall__int.sql,v 1.10 2009/03/25 22:19:01 tgl Exp $ */
+/* $PostgreSQL: pgsql/contrib/intarray/uninstall__int.sql,v 1.11 2009/04/05 00:40:35 tgl Exp $ */
-- Adjust this setting to control where the objects get created.
SET search_path = public;
DROP FUNCTION intset(int4);
-DROP OPERATOR <@ (_int4, _int4);
-
-DROP OPERATOR @> (_int4, _int4);
-
DROP OPERATOR ~ (_int4, _int4);
DROP OPERATOR @ (_int4, _int4);
-
+
intarray
overlap — true> if arrays have at least one common element
|
- int[] @> int[]
+ int[] @ int[]
boolean
contains — true> if left array contains right array
|
- int[] <@ int[]
+ int[] ~ int[]
boolean
contained — true> if left array is contained in right array
- (Before PostgreSQL 8.2, the containment operators @> and <@ were
- respectively called @ and ~. These names are still available, but are
- deprecated and will eventually be retired. Notice that the old names
- are reversed from the convention formerly followed by the core geometric
- datatypes!)
+ The containment operators @> and ~> are functionally
+ equivalent to
PostgreSQL>'s built-in operators
+ @>> and <@>, respectively, except that
+ @> and ~> work only on integer arrays. These
+ operator names are deprecated and will eventually be retired. (Notice that
+ these names are reversed from the convention formerly followed by the core
+ geometric datatypes!)
intarray> provides index support for the
- &&>, @>>, <@>,
- and @@> operators, as well as regular array equality.
- The implementation uses an RD-tree data structure with
- built-in lossy compression.
+ &&>, @>, ~>,
+ and @@> operators, as well as regular array equality
+ and the built-in @>> and <@> operators
+ (when used on integer arrays).
gist__intbig_ops> uses a larger signature and is more
suitable for indexing large data sets (i.e., columns containing
a large number of distinct array values).
+ The implementation uses an RD-tree data structure with
+ built-in lossy compression.
There is also a non-default GIN operator class
- gin__int_ops>.
+ gin__int_ops> supporting the same operators.
Authors
- All work was done by Teodor Sigaev (teodor@stack.net) and
+ All work was done by Teodor Sigaev (teodor@sigaev.ru) and
additional information. Andrey Oktyabrski did a great work on adding new