Commit 112d411f authored by Tom Lane's avatar Tom Lane

Remove deprecated containment operators for contrib types.

Since PG 8.2, @ and ~ have been deprecated aliases for the containment
operators @> and <@.  It seems like enough time has passed to actually
remove them, so do so.

This completes the project begun in commit 2f70fdb0.  Note that in
the core types, the relation to the preferred operator names was
reversed from what it is in these contrib modules.  The confusion
that induced was a large part of the reason for deprecation.

Justin Pryzby

Discussion: https://postgr.es/m/20201027032511.GF9241@telsasoft.com
parent 8a8f4d8e
...@@ -7,7 +7,7 @@ OBJS = \ ...@@ -7,7 +7,7 @@ OBJS = \
cubeparse.o cubeparse.o
EXTENSION = cube EXTENSION = cube
DATA = cube--1.2.sql cube--1.2--1.3.sql cube--1.3--1.4.sql \ DATA = cube--1.2.sql cube--1.2--1.3.sql cube--1.3--1.4.sql cube--1.4--1.5.sql \
cube--1.1--1.2.sql cube--1.0--1.1.sql cube--1.1--1.2.sql cube--1.0--1.1.sql
PGFILEDESC = "cube - multidimensional cube data type" PGFILEDESC = "cube - multidimensional cube data type"
......
/* contrib/cube/cube--1.4--1.5.sql */
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
\echo Use "ALTER EXTENSION cube UPDATE TO '1.5'" to load this file. \quit
-- Remove @ and ~
DROP OPERATOR @ (cube, cube);
DROP OPERATOR ~ (cube, cube);
# cube extension # cube extension
comment = 'data type for multidimensional cubes' comment = 'data type for multidimensional cubes'
default_version = '1.4' default_version = '1.5'
module_pathname = '$libdir/cube' module_pathname = '$libdir/cube'
relocatable = true relocatable = true
trusted = true trusted = true
...@@ -11,3 +11,7 @@ LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE; ...@@ -11,3 +11,7 @@ LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
ALTER TYPE hstore SET ( ALTER TYPE hstore SET (
SUBSCRIPT = hstore_subscript_handler SUBSCRIPT = hstore_subscript_handler
); );
-- Remove @ and ~
DROP OPERATOR @ (hstore, hstore);
DROP OPERATOR ~ (hstore, hstore);
...@@ -12,7 +12,7 @@ OBJS = \ ...@@ -12,7 +12,7 @@ OBJS = \
_intbig_gist.o _intbig_gist.o
EXTENSION = intarray EXTENSION = intarray
DATA = intarray--1.3--1.4.sql intarray--1.2--1.3.sql \ DATA = intarray--1.4--1.5.sql intarray--1.3--1.4.sql intarray--1.2--1.3.sql \
intarray--1.2.sql intarray--1.1--1.2.sql \ intarray--1.2.sql intarray--1.1--1.2.sql \
intarray--1.0--1.1.sql intarray--1.0--1.1.sql
PGFILEDESC = "intarray - functions and operators for arrays of integers" PGFILEDESC = "intarray - functions and operators for arrays of integers"
......
/* contrib/intarray/intarray--1.4--1.5.sql */
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
\echo Use "ALTER EXTENSION intarray UPDATE TO '1.5'" to load this file. \quit
-- Remove @ and ~
DROP OPERATOR @ (_int4, _int4);
DROP OPERATOR ~ (_int4, _int4);
# intarray extension # intarray extension
comment = 'functions, operators, and index support for 1-D arrays of integers' comment = 'functions, operators, and index support for 1-D arrays of integers'
default_version = '1.4' default_version = '1.5'
module_pathname = '$libdir/_int' module_pathname = '$libdir/_int'
relocatable = true relocatable = true
trusted = true trusted = true
...@@ -7,7 +7,7 @@ OBJS = \ ...@@ -7,7 +7,7 @@ OBJS = \
segparse.o segparse.o
EXTENSION = seg EXTENSION = seg
DATA = seg--1.1.sql seg--1.1--1.2.sql seg--1.2--1.3.sql \ DATA = seg--1.1.sql seg--1.1--1.2.sql seg--1.2--1.3.sql seg--1.3--1.4.sql \
seg--1.0--1.1.sql seg--1.0--1.1.sql
PGFILEDESC = "seg - line segment data type" PGFILEDESC = "seg - line segment data type"
......
/* contrib/seg/seg--1.3--1.4.sql */
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
\echo Use "ALTER EXTENSION seg UPDATE TO '1.4'" to load this file. \quit
-- Remove @ and ~
DROP OPERATOR @ (seg, seg);
DROP OPERATOR ~ (seg, seg);
# seg extension # seg extension
comment = 'data type for representing line segments or floating-point intervals' comment = 'data type for representing line segments or floating-point intervals'
default_version = '1.3' default_version = '1.4'
module_pathname = '$libdir/seg' module_pathname = '$libdir/seg'
relocatable = true relocatable = true
trusted = true trusted = true
...@@ -222,14 +222,6 @@ ...@@ -222,14 +222,6 @@
</tgroup> </tgroup>
</table> </table>
<para>
(Before PostgreSQL 8.2, the containment operators <literal>@&gt;</literal> and <literal>&lt;@</literal> were
respectively called <literal>@</literal> and <literal>~</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
data types!)
</para>
<para> <para>
In addition to the above operators, the usual comparison In addition to the above operators, the usual comparison
operators shown in <xref linkend="functions-comparison-op-table"/> are operators shown in <xref linkend="functions-comparison-op-table"/> are
......
...@@ -318,16 +318,6 @@ key =&gt; NULL ...@@ -318,16 +318,6 @@ key =&gt; NULL
</tgroup> </tgroup>
</table> </table>
<note>
<para>
Prior to PostgreSQL 8.2, the containment operators <literal>@&gt;</literal>
and <literal>&lt;@</literal> were called <literal>@</literal> and <literal>~</literal>,
respectively. These names are still available, but are deprecated and will
eventually be removed. Notice that the old names are reversed from the
convention formerly followed by the core geometric data types!
</para>
</note>
<table id="hstore-func-table"> <table id="hstore-func-table">
<title><type>hstore</type> Functions</title> <title><type>hstore</type> Functions</title>
<tgroup cols="1"> <tgroup cols="1">
......
...@@ -364,14 +364,6 @@ ...@@ -364,14 +364,6 @@
</tgroup> </tgroup>
</table> </table>
<para>
(Before PostgreSQL 8.2, the containment operators <literal>@&gt;</literal> and
<literal>&lt;@</literal> were respectively called <literal>@</literal> and <literal>~</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 data types!)
</para>
<para> <para>
The operators <literal>&amp;&amp;</literal>, <literal>@&gt;</literal> and The operators <literal>&amp;&amp;</literal>, <literal>@&gt;</literal> and
<literal>&lt;@</literal> are equivalent to <productname>PostgreSQL</productname>'s built-in <literal>&lt;@</literal> are equivalent to <productname>PostgreSQL</productname>'s built-in
......
...@@ -352,14 +352,6 @@ test=&gt; select '6.25 .. 6.50'::seg as "pH"; ...@@ -352,14 +352,6 @@ test=&gt; select '6.25 .. 6.50'::seg as "pH";
</tgroup> </tgroup>
</table> </table>
<para>
(Before PostgreSQL 8.2, the containment operators <literal>@&gt;</literal> and <literal>&lt;@</literal> were
respectively called <literal>@</literal> and <literal>~</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
data types!)
</para>
<para> <para>
In addition to the above operators, the usual comparison In addition to the above operators, the usual comparison
operators shown in <xref linkend="functions-comparison-op-table"/> are operators shown in <xref linkend="functions-comparison-op-table"/> are
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment