aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/intarray/_int.sql.in46
-rw-r--r--contrib/intarray/uninstall__int.sql6
-rw-r--r--doc/src/sgml/intarray.sgml35
-rw-r--r--doc/src/sgml/release-8.4.sgml16
4 files changed, 50 insertions, 53 deletions
diff --git a/contrib/intarray/_int.sql.in b/contrib/intarray/_int.sql.in
index 93930b559d5..645e9aeea2d 100644
--- a/contrib/intarray/_int.sql.in
+++ b/contrib/intarray/_int.sql.in
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/contrib/intarray/_int.sql.in,v 1.30 2009/04/05 00:40:35 tgl Exp $ */
+/* $PostgreSQL: pgsql/contrib/intarray/_int.sql.in,v 1.31 2009/06/07 20:09:34 tgl Exp $ */
-- Adjust this setting to control where the objects get created.
SET search_path = public;
@@ -152,23 +152,23 @@ CREATE OPERATOR && (
-- 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 @ (
@@ -365,8 +365,8 @@ CREATE OPERATOR CLASS gist__int_ops
DEFAULT FOR TYPE _int4 USING gist AS
OPERATOR 3 &&,
OPERATOR 6 = (anyarray, anyarray),
- OPERATOR 7 @> (anyarray, anyarray),
- OPERATOR 8 <@ (anyarray, anyarray),
+ OPERATOR 7 @>,
+ OPERATOR 8 <@,
OPERATOR 13 @,
OPERATOR 14 ~,
OPERATOR 20 @@ (_int4, query_int),
@@ -442,8 +442,8 @@ FOR TYPE _int4 USING gist
AS
OPERATOR 3 &&,
OPERATOR 6 = (anyarray, anyarray),
- OPERATOR 7 @> (anyarray, anyarray),
- OPERATOR 8 <@ (anyarray, anyarray),
+ OPERATOR 7 @>,
+ OPERATOR 8 <@,
OPERATOR 13 @,
OPERATOR 14 ~,
OPERATOR 20 @@ (_int4, query_int),
@@ -473,8 +473,8 @@ FOR TYPE _int4 USING gin
AS
OPERATOR 3 &&,
OPERATOR 6 = (anyarray, anyarray),
- OPERATOR 7 @> (anyarray, anyarray),
- OPERATOR 8 <@ (anyarray, anyarray),
+ OPERATOR 7 @>,
+ OPERATOR 8 <@,
OPERATOR 13 @,
OPERATOR 14 ~,
OPERATOR 20 @@ (_int4, query_int),
diff --git a/contrib/intarray/uninstall__int.sql b/contrib/intarray/uninstall__int.sql
index 42721ed2fb0..ba962cd0d57 100644
--- a/contrib/intarray/uninstall__int.sql
+++ b/contrib/intarray/uninstall__int.sql
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/contrib/intarray/uninstall__int.sql,v 1.11 2009/04/05 00:40:35 tgl Exp $ */
+/* $PostgreSQL: pgsql/contrib/intarray/uninstall__int.sql,v 1.12 2009/06/07 20:09:34 tgl Exp $ */
-- Adjust this setting to control where the objects get created.
SET search_path = public;
@@ -91,6 +91,10 @@ DROP FUNCTION icount(_int4);
DROP FUNCTION intset(int4);
+DROP OPERATOR <@ (_int4, _int4);
+
+DROP OPERATOR @> (_int4, _int4);
+
DROP OPERATOR ~ (_int4, _int4);
DROP OPERATOR @ (_int4, _int4);
diff --git a/doc/src/sgml/intarray.sgml b/doc/src/sgml/intarray.sgml
index 2e77b57de3e..9bd216ed495 100644
--- a/doc/src/sgml/intarray.sgml
+++ b/doc/src/sgml/intarray.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/intarray.sgml,v 1.7 2009/04/05 00:40:35 tgl Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/intarray.sgml,v 1.8 2009/06/07 20:09:34 tgl Exp $ -->
<sect1 id="intarray">
<title>intarray</title>
@@ -134,12 +134,12 @@
<entry>overlap &mdash; <literal>true</> if arrays have at least one common element</entry>
</row>
<row>
- <entry><literal>int[] @ int[]</literal></entry>
+ <entry><literal>int[] @&gt; int[]</literal></entry>
<entry><type>boolean</type></entry>
<entry>contains &mdash; <literal>true</> if left array contains right array</entry>
</row>
<row>
- <entry><literal>int[] ~ int[]</literal></entry>
+ <entry><literal>int[] &lt;@ int[]</literal></entry>
<entry><type>boolean</type></entry>
<entry>contained &mdash; <literal>true</> if left array is contained in right array</entry>
</row>
@@ -203,13 +203,22 @@
</table>
<para>
- The containment operators <literal>@</> and <literal>~</> are functionally
- equivalent to <productname>PostgreSQL</>'s built-in operators
- <literal>@&gt;</> and <literal>&lt;@</>, respectively, except that
- <literal>@</> and <literal>~</> 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!)
+ (Before PostgreSQL 8.2, the containment operators <literal>@&gt;</> and
+ <literal>&lt;@</> were respectively called <literal>@</> and <literal>~</>.
+ 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!)
+ </para>
+
+ <para>
+ The containment operators <literal>@&gt;</> and <literal>&lt;@</> are
+ approximately equivalent to <productname>PostgreSQL</>'s built-in operators
+ of the same names, except that they work only on integer arrays while the
+ built-in operators work for any array type. An important difference is
+ that <filename>intarray</>'s operators do not consider an empty array to be
+ contained in anything else. This is consistent with the behavior of
+ GIN-indexed queries, but not with the usual mathematical definition of
+ containment.
</para>
<para>
@@ -230,10 +239,8 @@
<para>
<filename>intarray</> provides index support for the
- <literal>&amp;&amp;</>, <literal>@</>, <literal>~</>,
- and <literal>@@</> operators, as well as regular array equality
- and the built-in <literal>@&gt;</> and <literal>&lt;@</> operators
- (when used on integer arrays).
+ <literal>&amp;&amp;</>, <literal>@&gt;</>, <literal>&lt;@</>,
+ and <literal>@@</> operators, as well as regular array equality.
</para>
<para>
diff --git a/doc/src/sgml/release-8.4.sgml b/doc/src/sgml/release-8.4.sgml
index a567afffb7d..cca2d033b2c 100644
--- a/doc/src/sgml/release-8.4.sgml
+++ b/doc/src/sgml/release-8.4.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.4.sgml,v 1.7 2009/05/27 22:12:53 tgl Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.4.sgml,v 1.8 2009/06/07 20:09:34 tgl Exp $ -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-8-4">
@@ -3323,20 +3323,6 @@
<listitem>
<para>
- Remove <filename>contrib/intarray</>'s definitions of the
- <literal>&lt;@</> and <literal>@&gt;</> operators (Tom)
- </para>
-
- <para>
- This avoids confusion with the equivalent built-in operators.
- If needed, the <filename>contrib/intarray</> implementations
- are still available under their historical names <literal>@</>
- and <literal>~</>.
- </para>
- </listitem>
-
- <listitem>
- <para>
Make <filename>contrib/pg_standby</> recover all available WAL before
failover (Fujii Masao, Simon, Heikki)
</para>