diff options
-rw-r--r-- | contrib/intarray/_int.sql.in | 46 | ||||
-rw-r--r-- | contrib/intarray/uninstall__int.sql | 6 | ||||
-rw-r--r-- | doc/src/sgml/intarray.sgml | 35 | ||||
-rw-r--r-- | doc/src/sgml/release-8.4.sgml | 16 |
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 — <literal>true</> if arrays have at least one common element</entry> </row> <row> - <entry><literal>int[] @ int[]</literal></entry> + <entry><literal>int[] @> int[]</literal></entry> <entry><type>boolean</type></entry> <entry>contains — <literal>true</> if left array contains right array</entry> </row> <row> - <entry><literal>int[] ~ int[]</literal></entry> + <entry><literal>int[] <@ int[]</literal></entry> <entry><type>boolean</type></entry> <entry>contained — <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>@></> and <literal><@</>, 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>@></> and + <literal><@</> 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>@></> and <literal><@</> 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>&&</>, <literal>@</>, <literal>~</>, - and <literal>@@</> operators, as well as regular array equality - and the built-in <literal>@></> and <literal><@</> operators - (when used on integer arrays). + <literal>&&</>, <literal>@></>, <literal><@</>, + 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><@</> and <literal>@></> 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> |