Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l6wJm-0005j7-KR for pgsql-hackers@arkaria.postgresql.org; Tue, 02 Feb 2021 14:06:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1l6wJl-0002g0-Gi for pgsql-hackers@arkaria.postgresql.org; Tue, 02 Feb 2021 14:06:09 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l6wJk-0002fs-OM for pgsql-hackers@lists.postgresql.org; Tue, 02 Feb 2021 14:06:09 +0000 Received: from mail-il1-x134.google.com ([2607:f8b0:4864:20::134]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1l6wJd-00081c-Gr for pgsql-hackers@postgresql.org; Tue, 02 Feb 2021 14:06:07 +0000 Received: by mail-il1-x134.google.com with SMTP id q9so19126716ilo.1 for ; Tue, 02 Feb 2021 06:06:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telsasoft-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=ZhOYm68tzTDSXZcHcHnYUXXmlISSe6/n+uzfA5IT5EY=; b=rtREIMIx8RPUxyzuSFxAKeUumspqVZbVMFVOCEHaCQoNRx2kQpLash2v4mghcgWuXp IBoIlIHkydxVJMuneJjXjkUOuBYeHCH22j/HyHaD+5u43WkvQHBZDMxPFqF2VWgGwDGF L7GGRyWwP3DQ3VZ5x8QDwladZ4X2cwQIRaRk1WEPpniejibEHrjUpil+FIKIEygoCCzE ZuVt8PkIu1/1ltdhEGNC3/2DeEq2gtpkhWunEggJ+eLQnvdtQWvJvFAv7NURmL+4FZdp iw/261h44d4sQ9Z5LYhaYZFXOOVqQznG+CUeCIQteL+JXgX9e5rCuQxHPVKN28kDeFSZ sakA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=ZhOYm68tzTDSXZcHcHnYUXXmlISSe6/n+uzfA5IT5EY=; b=WGYtbRnN+e2XnB62pWfL5uzQdU+9vAGhMyk8sJWKJzKNGOzNrHJMd/hwEGhyf3+qV3 hwlpMCSM2Gt9wMQh4+KRyTYor68z/s73jTkg9wQ23qfadcXSzdLXIqmHQ9jWDB2Rv9nw 7NWuk8XibAzh9+ho8Q2E+76A9rgEEdALADFTyH+ObM28Y7u//BcjtDDNnG/OsuV3k0Ns Z1dd0UekXdRrQUY3jw6xtfWGc/Zd003gBBh2tNi5nXjWoV+Dxay4kW62LB/rAcIBr8Dm U3igWYGUEW0d9EIji6QTUjq6/zpv+THb6DTPpNuV/jvHY2s7tTyj1CG6kUahGvVYgXjH 0qXA== X-Gm-Message-State: AOAM530VbkvGPw2KuOx8VG4D49Oe4AXChEminwjiem/oqEJG8etbErz1 5dnoGU1eiri22zshCsh/eFD99Q== X-Google-Smtp-Source: ABdhPJy1k8+NPEPDtZ28zBdZX+/JpbX/ClUW4fZ9cl1lDvNtwJIcmYDy/LTmJICPQ01WSh8CytQTvA== X-Received: by 2002:a92:cda6:: with SMTP id g6mr18162445ild.274.1612274760448; Tue, 02 Feb 2021 06:06:00 -0800 (PST) Received: from pryzbyj.telsasoft (charmander.telsasoft.com. [50.244.222.1]) by smtp.gmail.com with ESMTPSA id e15sm2180638iog.24.2021.02.02.06.05.58 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Feb 2021 06:05:59 -0800 (PST) Received: by pryzbyj.telsasoft (Postfix, from userid 1000) id 19F16800929; Tue, 2 Feb 2021 08:05:58 -0600 (CST) Date: Tue, 2 Feb 2021 08:05:58 -0600 From: Justin Pryzby To: Tom Lane Cc: Anastasia Lubennikova , Stephen Frost , Magnus Hagander , Peter Eisentraut , Heikki Linnakangas , Ian Lawrence Barwick , pgsql-hackers@postgresql.org Subject: Re: [PATCH] remove deprecated v8.2 containment operators Message-ID: <20210202140557.GT7450@telsasoft.com> References: <20201027032511.GF9241@telsasoft.com> <155ecfd8-7ac6-1875-5090-d79a586a8847@enterprisedb.com> <235561.1605220100@sss.pgh.pa.us> <20201113150343.GT16415@tamriel.snowman.net> <20201116205516.GM14024@telsasoft.com> <20201130190611.GY24052@telsasoft.com> <1277206.1606763350@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="2NLGdgz3UMHa/lqP" Content-Disposition: inline In-Reply-To: <1277206.1606763350@sss.pgh.pa.us> User-Agent: Mutt/1.9.4 (2018-02-28) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --2NLGdgz3UMHa/lqP Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Mon, Nov 30, 2020 at 02:09:10PM -0500, Tom Lane wrote: > Justin Pryzby writes: > > I think this is waiting on me to provide a patch for the contrib/ modules with > > update script removing the SQL operators, and documentating their deprecation. > > Right. We can remove the SQL operators, but not (yet) the C code support. > > I'm not sure that the docs change would do more than remove any existing > mentions of the operators. I've finally returned to this. RFC. -- Justin --2NLGdgz3UMHa/lqP Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0001-remove-deprecated-v8.2-containment-operators.patch" From 98a870449bdf3670e2e190d8bdfccd59dae42452 Mon Sep 17 00:00:00 2001 From: Justin Pryzby Date: Sat, 11 Apr 2020 22:57:06 -0500 Subject: [PATCH] remove deprecated v8.2 containment operators See also: ba920e1c9182eac55d5f1327ab0d29b721154277 684ad6a92fcc33adebdab65c4e7d72a68ba05408 3165426e54df02a6199c0a216546e5095e875a0a 2f70fdb0644c32c4154236c2b5c241bec92eac5e 591d282e8d3e0448ec1339c6b066e10953f040a2 --- contrib/cube/Makefile | 2 +- contrib/cube/cube--1.4--1.5.sql | 10 ++++++++++ contrib/cube/cube.control | 2 +- contrib/hstore/Makefile | 1 + contrib/hstore/hstore--1.0--1.1.sql | 7 +++++++ contrib/hstore/hstore--1.8--1.9.sql | 8 ++++++++ contrib/hstore/hstore.control | 2 +- contrib/intarray/Makefile | 2 +- contrib/intarray/intarray--1.4--1.5.sql | 18 ++++++++++++++++++ contrib/intarray/intarray.control | 2 +- contrib/seg/Makefile | 2 +- contrib/seg/seg--1.3--1.4.sql | 11 +++++++++++ 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 -------- 17 files changed, 62 insertions(+), 41 deletions(-) create mode 100644 contrib/cube/cube--1.4--1.5.sql create mode 100644 contrib/hstore/hstore--1.0--1.1.sql create mode 100644 contrib/hstore/hstore--1.8--1.9.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 54f609db17..cf195506c7 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 0000000000..07a5f0755d --- /dev/null +++ b/contrib/cube/cube--1.4--1.5.sql @@ -0,0 +1,10 @@ +/* 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 ~ +ALTER OPERATOR FAMILY gist_cube_ops USING gist +DROP OPERATOR 13 (cube, cube); +ALTER OPERATOR FAMILY gist_cube_ops USING gist +DROP OPERATOR 14 (cube, cube); diff --git a/contrib/cube/cube.control b/contrib/cube/cube.control index 3e238fc937..50427ec117 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/Makefile b/contrib/hstore/Makefile index c4e339b57c..97b228b65f 100644 --- a/contrib/hstore/Makefile +++ b/contrib/hstore/Makefile @@ -12,6 +12,7 @@ OBJS = \ EXTENSION = hstore DATA = hstore--1.4.sql \ + hstore--1.8--1.9.sql \ hstore--1.7--1.8.sql \ hstore--1.6--1.7.sql \ hstore--1.5--1.6.sql \ diff --git a/contrib/hstore/hstore--1.0--1.1.sql b/contrib/hstore/hstore--1.0--1.1.sql new file mode 100644 index 0000000000..4e32a575c5 --- /dev/null +++ b/contrib/hstore/hstore--1.0--1.1.sql @@ -0,0 +1,7 @@ +/* contrib/hstore/hstore--1.0--1.1.sql */ + +-- complain if script is sourced in psql, rather than via ALTER EXTENSION +\echo Use "ALTER EXTENSION hstore UPDATE TO '1.1'" to load this file. \quit + +ALTER EXTENSION hstore DROP OPERATOR => (text, text); +DROP OPERATOR => (text, text); diff --git a/contrib/hstore/hstore--1.8--1.9.sql b/contrib/hstore/hstore--1.8--1.9.sql new file mode 100644 index 0000000000..2220fee444 --- /dev/null +++ b/contrib/hstore/hstore--1.8--1.9.sql @@ -0,0 +1,8 @@ +/* contrib/hstore/hstore--1.8--1.9.sql */ + +-- complain if script is sourced in psql, rather than via ALTER EXTENSION +\echo Use "ALTER EXTENSION hstore UPDATE TO '1.9'" to load this file. \quit + +-- Remove @ +ALTER OPERATOR FAMILY gist_hstore_ops USING gist +DROP OPERATOR 13 (hstore, hstore); diff --git a/contrib/hstore/hstore.control b/contrib/hstore/hstore.control index 89e3c746c4..b73c28aa4d 100644 --- a/contrib/hstore/hstore.control +++ b/contrib/hstore/hstore.control @@ -1,6 +1,6 @@ # hstore extension comment = 'data type for storing sets of (key, value) pairs' -default_version = '1.8' +default_version = '1.9' module_pathname = '$libdir/hstore' relocatable = true trusted = true diff --git a/contrib/intarray/Makefile b/contrib/intarray/Makefile index 01faa36b10..3817c1669a 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 0000000000..adb6ce136c --- /dev/null +++ b/contrib/intarray/intarray--1.4--1.5.sql @@ -0,0 +1,18 @@ +/* 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 @ +ALTER OPERATOR FAMILY gist__int_ops USING gist +DROP OPERATOR 13 (_int4, _int4); + +ALTER OPERATOR FAMILY gist__intbig_ops USING gist +DROP OPERATOR 13 (_int4, _int4); + +ALTER OPERATOR FAMILY gin__int_ops USING gin +DROP OPERATOR 13 (_int4, _int4); + +-- Remove ~ from GIN - it was removed from gist in 1.4 +ALTER OPERATOR FAMILY gin__int_ops USING gin +DROP OPERATOR 14 (_int4, _int4); diff --git a/contrib/intarray/intarray.control b/contrib/intarray/intarray.control index bbc837c573..c3ff753e2c 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 f3578a8634..bb63e83506 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 0000000000..8bdf1dd99b --- /dev/null +++ b/contrib/seg/seg--1.3--1.4.sql @@ -0,0 +1,11 @@ +/* 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 ~ +ALTER OPERATOR FAMILY gist_seg_ops USING gist +DROP OPERATOR 13 (seg, seg); + +ALTER OPERATOR FAMILY gist_seg_ops USING gist +DROP OPERATOR 14 (seg, seg); diff --git a/contrib/seg/seg.control b/contrib/seg/seg.control index 9ac3080848..e2c6a4750f 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 3dd89bb14d..adf8dbaa91 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 e867fcc5ae..db5779052a 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 af44c7b214..dfe98279c0 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 e0dfbc76cf..9be69e3609 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 -- 2.17.0 --2NLGdgz3UMHa/lqP--