From 112d411fbeb56afd18c117e20b524a86afc9aba5 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 5 Mar 2021 10:45:41 -0500 Subject: [PATCH] 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 2f70fdb06. 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 --- contrib/cube/Makefile | 2 +- contrib/cube/cube--1.4--1.5.sql | 8 ++++++++ contrib/cube/cube.control | 2 +- contrib/hstore/hstore--1.7--1.8.sql | 4 ++++ contrib/intarray/Makefile | 2 +- contrib/intarray/intarray--1.4--1.5.sql | 8 ++++++++ contrib/intarray/intarray.control | 2 +- contrib/seg/Makefile | 2 +- contrib/seg/seg--1.3--1.4.sql | 8 ++++++++ contrib/seg/seg.control | 2 +- doc/src/sgml/cube.sgml | 8 -------- doc/src/sgml/hstore.sgml | 10 ---------- doc/src/sgml/intarray.sgml | 8 -------- doc/src/sgml/seg.sgml | 8 -------- 14 files changed, 34 insertions(+), 40 deletions(-) create mode 100644 contrib/cube/cube--1.4--1.5.sql create mode 100644 contrib/intarray/intarray--1.4--1.5.sql create mode 100644 contrib/seg/seg--1.3--1.4.sql diff --git a/contrib/cube/Makefile b/contrib/cube/Makefile index 54f609db171..cf195506c71 100644 --- a/contrib/cube/Makefile +++ b/contrib/cube/Makefile @@ -7,7 +7,7 @@ OBJS = \ cubeparse.o 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 PGFILEDESC = "cube - multidimensional cube data type" diff --git a/contrib/cube/cube--1.4--1.5.sql b/contrib/cube/cube--1.4--1.5.sql new file mode 100644 index 00000000000..54492e5d181 --- /dev/null +++ b/contrib/cube/cube--1.4--1.5.sql @@ -0,0 +1,8 @@ +/* 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); diff --git a/contrib/cube/cube.control b/contrib/cube/cube.control index 3e238fc9374..50427ec1170 100644 --- a/contrib/cube/cube.control +++ b/contrib/cube/cube.control @@ -1,6 +1,6 @@ # cube extension comment = 'data type for multidimensional cubes' -default_version = '1.4' +default_version = '1.5' module_pathname = '$libdir/cube' relocatable = true trusted = true diff --git a/contrib/hstore/hstore--1.7--1.8.sql b/contrib/hstore/hstore--1.7--1.8.sql index d80a1384658..fb450a9d6ab 100644 --- a/contrib/hstore/hstore--1.7--1.8.sql +++ b/contrib/hstore/hstore--1.7--1.8.sql @@ -11,3 +11,7 @@ LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE; ALTER TYPE hstore SET ( SUBSCRIPT = hstore_subscript_handler ); + +-- Remove @ and ~ +DROP OPERATOR @ (hstore, hstore); +DROP OPERATOR ~ (hstore, hstore); diff --git a/contrib/intarray/Makefile b/contrib/intarray/Makefile index 01faa36b107..3817c1669ab 100644 --- a/contrib/intarray/Makefile +++ b/contrib/intarray/Makefile @@ -12,7 +12,7 @@ OBJS = \ _intbig_gist.o 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.0--1.1.sql PGFILEDESC = "intarray - functions and operators for arrays of integers" diff --git a/contrib/intarray/intarray--1.4--1.5.sql b/contrib/intarray/intarray--1.4--1.5.sql new file mode 100644 index 00000000000..2454ebcddc2 --- /dev/null +++ b/contrib/intarray/intarray--1.4--1.5.sql @@ -0,0 +1,8 @@ +/* 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); diff --git a/contrib/intarray/intarray.control b/contrib/intarray/intarray.control index bbc837c5732..c3ff753e2cf 100644 --- a/contrib/intarray/intarray.control +++ b/contrib/intarray/intarray.control @@ -1,6 +1,6 @@ # intarray extension comment = 'functions, operators, and index support for 1-D arrays of integers' -default_version = '1.4' +default_version = '1.5' module_pathname = '$libdir/_int' relocatable = true trusted = true diff --git a/contrib/seg/Makefile b/contrib/seg/Makefile index f3578a86340..bb63e835067 100644 --- a/contrib/seg/Makefile +++ b/contrib/seg/Makefile @@ -7,7 +7,7 @@ OBJS = \ segparse.o 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 PGFILEDESC = "seg - line segment data type" diff --git a/contrib/seg/seg--1.3--1.4.sql b/contrib/seg/seg--1.3--1.4.sql new file mode 100644 index 00000000000..13babddba4e --- /dev/null +++ b/contrib/seg/seg--1.3--1.4.sql @@ -0,0 +1,8 @@ +/* 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); diff --git a/contrib/seg/seg.control b/contrib/seg/seg.control index 9ac30808481..e2c6a4750fc 100644 --- a/contrib/seg/seg.control +++ b/contrib/seg/seg.control @@ -1,6 +1,6 @@ # seg extension comment = 'data type for representing line segments or floating-point intervals' -default_version = '1.3' +default_version = '1.4' module_pathname = '$libdir/seg' relocatable = true trusted = true diff --git a/doc/src/sgml/cube.sgml b/doc/src/sgml/cube.sgml index 3dd89bb14d7..adf8dbaa917 100644 --- a/doc/src/sgml/cube.sgml +++ b/doc/src/sgml/cube.sgml @@ -222,14 +222,6 @@ - - (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 - data types!) - - In addition to the above operators, the usual comparison operators shown in are diff --git a/doc/src/sgml/hstore.sgml b/doc/src/sgml/hstore.sgml index e867fcc5aee..db5779052a5 100644 --- a/doc/src/sgml/hstore.sgml +++ b/doc/src/sgml/hstore.sgml @@ -318,16 +318,6 @@ key => NULL - - - Prior to PostgreSQL 8.2, the containment operators @> - and <@ were called @ and ~, - 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! - - - <type>hstore</type> Functions diff --git a/doc/src/sgml/intarray.sgml b/doc/src/sgml/intarray.sgml index af44c7b2142..dfe98279c09 100644 --- a/doc/src/sgml/intarray.sgml +++ b/doc/src/sgml/intarray.sgml @@ -364,14 +364,6 @@
- - (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 data types!) - - The operators &&, @> and <@ are equivalent to PostgreSQL's built-in diff --git a/doc/src/sgml/seg.sgml b/doc/src/sgml/seg.sgml index e0dfbc76cf3..9be69e3609f 100644 --- a/doc/src/sgml/seg.sgml +++ b/doc/src/sgml/seg.sgml @@ -352,14 +352,6 @@ test=> select '6.25 .. 6.50'::seg as "pH"; - - (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 - data types!) - - In addition to the above operators, the usual comparison operators shown in are