Forking this thread: https://www.postgresql.org/message-id/fd93f1c5-7818-a02c-01e5-1075ac0d4...@iki.fi
They have been deprecated for a Long Time, so finally remove them for v14. Four fewer exclamation marks makes the documentation less exciting, which is a good thing.
>From 7868fee24f92fb5150735f1f9507cfe9a6ab212c Mon Sep 17 00:00:00 2001 From: Justin Pryzby <pryz...@telsasoft.com> Date: Sat, 11 Apr 2020 22:57:06 -0500 Subject: [PATCH] remove deprecated v8.2 containment operators See also: ba920e1c9182eac55d5f1327ab0d29b721154277 684ad6a92fcc33adebdab65c4e7d72a68ba05408 --- contrib/cube/cube.c | 4 -- contrib/hstore/hstore.h | 1 - contrib/hstore/hstore_gist.c | 3 +- contrib/intarray/_int_gin.c | 4 -- contrib/intarray/_int_gist.c | 2 - contrib/intarray/_intbig_gist.c | 2 - contrib/intarray/intarray--1.2.sql | 6 -- contrib/intarray/intarray--1.3--1.4.sql | 7 --- contrib/seg/seg.c | 4 -- doc/src/sgml/cube.sgml | 8 --- doc/src/sgml/func.sgml | 9 --- doc/src/sgml/hstore.sgml | 10 ---- doc/src/sgml/intarray.sgml | 8 --- doc/src/sgml/seg.sgml | 8 --- src/backend/access/brin/brin_inclusion.c | 2 - src/backend/access/gist/gistproc.c | 4 -- src/include/access/stratnum.h | 2 - src/include/catalog/pg_amop.dat | 16 ------ src/include/catalog/pg_operator.dat | 65 ---------------------- src/test/regress/expected/create_am.out | 12 ++-- src/test/regress/expected/create_index.out | 24 ++++---- src/test/regress/expected/opr_sanity.out | 7 +-- src/test/regress/sql/create_am.sql | 6 +- src/test/regress/sql/create_index.sql | 12 ++-- 24 files changed, 28 insertions(+), 198 deletions(-) diff --git a/contrib/cube/cube.c b/contrib/cube/cube.c index 6f810b26c5..57b89d91b8 100644 --- a/contrib/cube/cube.c +++ b/contrib/cube/cube.c @@ -634,11 +634,9 @@ g_cube_leaf_consistent(NDBOX *key, retval = (cube_cmp_v0(key, query) == 0); break; case RTContainsStrategyNumber: - case RTOldContainsStrategyNumber: retval = cube_contains_v0(key, query); break; case RTContainedByStrategyNumber: - case RTOldContainedByStrategyNumber: retval = cube_contains_v0(query, key); break; default: @@ -661,11 +659,9 @@ g_cube_internal_consistent(NDBOX *key, break; case RTSameStrategyNumber: case RTContainsStrategyNumber: - case RTOldContainsStrategyNumber: retval = (bool) cube_contains_v0(key, query); break; case RTContainedByStrategyNumber: - case RTOldContainedByStrategyNumber: retval = (bool) cube_overlap_v0(key, query); break; default: diff --git a/contrib/hstore/hstore.h b/contrib/hstore/hstore.h index bf4a565ed9..8713a22dcc 100644 --- a/contrib/hstore/hstore.h +++ b/contrib/hstore/hstore.h @@ -181,7 +181,6 @@ extern Pairs *hstoreArrayToPairs(ArrayType *a, int *npairs); #define HStoreExistsStrategyNumber 9 #define HStoreExistsAnyStrategyNumber 10 #define HStoreExistsAllStrategyNumber 11 -#define HStoreOldContainsStrategyNumber 13 /* backwards compatibility */ /* * defining HSTORE_POLLUTE_NAMESPACE=0 will prevent use of old function names; diff --git a/contrib/hstore/hstore_gist.c b/contrib/hstore/hstore_gist.c index 102c9cea72..10c9906fa5 100644 --- a/contrib/hstore/hstore_gist.c +++ b/contrib/hstore/hstore_gist.c @@ -517,8 +517,7 @@ ghstore_consistent(PG_FUNCTION_ARGS) sign = GETSIGN(entry); - if (strategy == HStoreContainsStrategyNumber || - strategy == HStoreOldContainsStrategyNumber) + if (strategy == HStoreContainsStrategyNumber) { HStore *query = PG_GETARG_HSTORE_P(1); HEntry *qe = ARRPTR(query); diff --git a/contrib/intarray/_int_gin.c b/contrib/intarray/_int_gin.c index b7958d8eca..72cfbc2fd7 100644 --- a/contrib/intarray/_int_gin.c +++ b/contrib/intarray/_int_gin.c @@ -78,7 +78,6 @@ ginint4_queryextract(PG_FUNCTION_ARGS) *searchMode = GIN_SEARCH_MODE_DEFAULT; break; case RTContainedByStrategyNumber: - case RTOldContainedByStrategyNumber: /* empty set is contained in everything */ *searchMode = GIN_SEARCH_MODE_INCLUDE_EMPTY; break; @@ -89,7 +88,6 @@ ginint4_queryextract(PG_FUNCTION_ARGS) *searchMode = GIN_SEARCH_MODE_INCLUDE_EMPTY; break; case RTContainsStrategyNumber: - case RTOldContainsStrategyNumber: if (*nentries > 0) *searchMode = GIN_SEARCH_MODE_DEFAULT; else /* everything contains the empty set */ @@ -127,7 +125,6 @@ ginint4_consistent(PG_FUNCTION_ARGS) res = true; break; case RTContainedByStrategyNumber: - case RTOldContainedByStrategyNumber: /* we will need recheck */ *recheck = true; /* at least one element in check[] is true, so result = true */ @@ -148,7 +145,6 @@ ginint4_consistent(PG_FUNCTION_ARGS) } break; case RTContainsStrategyNumber: - case RTOldContainsStrategyNumber: /* result is not lossy */ *recheck = false; /* Must have all elements in check[] true */ diff --git a/contrib/intarray/_int_gist.c b/contrib/intarray/_int_gist.c index f1817a6cce..e0535d9934 100644 --- a/contrib/intarray/_int_gist.c +++ b/contrib/intarray/_int_gist.c @@ -87,12 +87,10 @@ g_int_consistent(PG_FUNCTION_ARGS) query); break; case RTContainsStrategyNumber: - case RTOldContainsStrategyNumber: retval = inner_int_contains((ArrayType *) DatumGetPointer(entry->key), query); break; case RTContainedByStrategyNumber: - case RTOldContainedByStrategyNumber: /* * This code is unreachable as of intarray 1.4, because the <@ diff --git a/contrib/intarray/_intbig_gist.c b/contrib/intarray/_intbig_gist.c index 18ecd8cda6..56a77d8053 100644 --- a/contrib/intarray/_intbig_gist.c +++ b/contrib/intarray/_intbig_gist.c @@ -527,12 +527,10 @@ g_intbig_consistent(PG_FUNCTION_ARGS) query, siglen); break; case RTContainsStrategyNumber: - case RTOldContainsStrategyNumber: retval = _intbig_contains((GISTTYPE *) DatumGetPointer(entry->key), query, siglen); break; case RTContainedByStrategyNumber: - case RTOldContainedByStrategyNumber: /* * This code is unreachable as of intarray 1.4, because the <@ diff --git a/contrib/intarray/intarray--1.2.sql b/contrib/intarray/intarray--1.2.sql index f10b53db1c..4d2c86b818 100644 --- a/contrib/intarray/intarray--1.2.sql +++ b/contrib/intarray/intarray--1.2.sql @@ -402,8 +402,6 @@ DEFAULT FOR TYPE _int4 USING gist AS OPERATOR 6 = (anyarray, anyarray), OPERATOR 7 @>, OPERATOR 8 <@, - OPERATOR 13 @, - OPERATOR 14 ~, OPERATOR 20 @@ (_int4, query_int), FUNCTION 1 g_int_consistent (internal, _int4, smallint, oid, internal), FUNCTION 2 g_int_union (internal, internal), @@ -479,8 +477,6 @@ AS OPERATOR 6 = (anyarray, anyarray), OPERATOR 7 @>, OPERATOR 8 <@, - OPERATOR 13 @, - OPERATOR 14 ~, OPERATOR 20 @@ (_int4, query_int), FUNCTION 1 g_intbig_consistent (internal, _int4, smallint, oid, internal), FUNCTION 2 g_intbig_union (internal, internal), @@ -510,8 +506,6 @@ AS OPERATOR 6 = (anyarray, anyarray), OPERATOR 7 @>, OPERATOR 8 <@, - OPERATOR 13 @, - OPERATOR 14 ~, OPERATOR 20 @@ (_int4, query_int), FUNCTION 1 btint4cmp (int4, int4), FUNCTION 2 ginarrayextract (anyarray, internal, internal), diff --git a/contrib/intarray/intarray--1.3--1.4.sql b/contrib/intarray/intarray--1.3--1.4.sql index 3fbebb5417..7669529e8a 100644 --- a/contrib/intarray/intarray--1.3--1.4.sql +++ b/contrib/intarray/intarray--1.3--1.4.sql @@ -12,10 +12,3 @@ DROP OPERATOR 8 (_int4, _int4); ALTER OPERATOR FAMILY gist__intbig_ops USING gist DROP OPERATOR 8 (_int4, _int4); --- Likewise for the old spelling ~. - -ALTER OPERATOR FAMILY gist__int_ops USING gist -DROP OPERATOR 14 (_int4, _int4); - -ALTER OPERATOR FAMILY gist__intbig_ops USING gist -DROP OPERATOR 14 (_int4, _int4); diff --git a/contrib/seg/seg.c b/contrib/seg/seg.c index 4a8e2be329..91c7231779 100644 --- a/contrib/seg/seg.c +++ b/contrib/seg/seg.c @@ -457,11 +457,9 @@ gseg_leaf_consistent(Datum key, Datum query, StrategyNumber strategy) retval = DirectFunctionCall2(seg_same, key, query); break; case RTContainsStrategyNumber: - case RTOldContainsStrategyNumber: retval = DirectFunctionCall2(seg_contains, key, query); break; case RTContainedByStrategyNumber: - case RTOldContainedByStrategyNumber: retval = DirectFunctionCall2(seg_contained, key, query); break; default: @@ -504,12 +502,10 @@ gseg_internal_consistent(Datum key, Datum query, StrategyNumber strategy) break; case RTSameStrategyNumber: case RTContainsStrategyNumber: - case RTOldContainsStrategyNumber: retval = DatumGetBool(DirectFunctionCall2(seg_contains, key, query)); break; case RTContainedByStrategyNumber: - case RTOldContainedByStrategyNumber: retval = DatumGetBool(DirectFunctionCall2(seg_overlap, key, query)); break; diff --git a/doc/src/sgml/cube.sgml b/doc/src/sgml/cube.sgml index 3b39147d14..1053f45437 100644 --- a/doc/src/sgml/cube.sgml +++ b/doc/src/sgml/cube.sgml @@ -222,14 +222,6 @@ </tgroup> </table> - <para> - (Before PostgreSQL 8.2, the containment operators <literal>@></literal> and <literal><@</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> In addition to the above operators, the usual comparison operators shown in <xref linkend="functions-comparison-op-table"/> are diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 54d7e51083..4cff809bdc 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -10886,15 +10886,6 @@ CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple </para> </caution> - <note> - <para> - Before <productname>PostgreSQL</productname> 8.2, the containment - operators <literal>@></literal> and <literal><@</literal> were respectively - called <literal>~</literal> and <literal>@</literal>. These names are still - available, but are deprecated and will eventually be removed. - </para> - </note> - <table id="functions-geometry-func-table"> <title>Geometric Functions</title> <tgroup cols="1"> diff --git a/doc/src/sgml/hstore.sgml b/doc/src/sgml/hstore.sgml index 14a36ade00..5fa012a6b5 100644 --- a/doc/src/sgml/hstore.sgml +++ b/doc/src/sgml/hstore.sgml @@ -318,16 +318,6 @@ key => NULL </tgroup> </table> - <note> - <para> - Prior to PostgreSQL 8.2, the containment operators <literal>@></literal> - and <literal><@</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"> <title><type>hstore</type> Functions</title> <tgroup cols="1"> 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 @@ </tgroup> </table> - <para> - (Before PostgreSQL 8.2, the containment operators <literal>@></literal> and - <literal><@</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> The operators <literal>&&</literal>, <literal>@></literal> and <literal><@</literal> are equivalent to <productname>PostgreSQL</productname>'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"; </tgroup> </table> - <para> - (Before PostgreSQL 8.2, the containment operators <literal>@></literal> and <literal><@</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> In addition to the above operators, the usual comparison operators shown in <xref linkend="functions-comparison-op-table"/> are diff --git a/src/backend/access/brin/brin_inclusion.c b/src/backend/access/brin/brin_inclusion.c index 7e380d66ed..986f76bd9b 100644 --- a/src/backend/access/brin/brin_inclusion.c +++ b/src/backend/access/brin/brin_inclusion.c @@ -378,7 +378,6 @@ brin_inclusion_consistent(PG_FUNCTION_ARGS) case RTOverlapStrategyNumber: case RTContainsStrategyNumber: - case RTOldContainsStrategyNumber: case RTContainsElemStrategyNumber: case RTSubStrategyNumber: case RTSubEqualStrategyNumber: @@ -399,7 +398,6 @@ brin_inclusion_consistent(PG_FUNCTION_ARGS) */ case RTContainedByStrategyNumber: - case RTOldContainedByStrategyNumber: case RTSuperStrategyNumber: case RTSuperEqualStrategyNumber: finfo = inclusion_get_strategy_procinfo(bdesc, attno, subtype, diff --git a/src/backend/access/gist/gistproc.c b/src/backend/access/gist/gistproc.c index 27d9c0f77c..b03c4b55a0 100644 --- a/src/backend/access/gist/gistproc.c +++ b/src/backend/access/gist/gistproc.c @@ -907,13 +907,11 @@ gist_box_leaf_consistent(BOX *key, BOX *query, StrategyNumber strategy) PointerGetDatum(query))); break; case RTContainsStrategyNumber: - case RTOldContainsStrategyNumber: retval = DatumGetBool(DirectFunctionCall2(box_contain, PointerGetDatum(key), PointerGetDatum(query))); break; case RTContainedByStrategyNumber: - case RTOldContainedByStrategyNumber: retval = DatumGetBool(DirectFunctionCall2(box_contained, PointerGetDatum(key), PointerGetDatum(query))); @@ -990,13 +988,11 @@ rtree_internal_consistent(BOX *key, BOX *query, StrategyNumber strategy) break; case RTSameStrategyNumber: case RTContainsStrategyNumber: - case RTOldContainsStrategyNumber: retval = DatumGetBool(DirectFunctionCall2(box_contain, PointerGetDatum(key), PointerGetDatum(query))); break; case RTContainedByStrategyNumber: - case RTOldContainedByStrategyNumber: retval = DatumGetBool(DirectFunctionCall2(box_overlap, PointerGetDatum(key), PointerGetDatum(query))); diff --git a/src/include/access/stratnum.h b/src/include/access/stratnum.h index d280f7e4fc..1929942bea 100644 --- a/src/include/access/stratnum.h +++ b/src/include/access/stratnum.h @@ -60,8 +60,6 @@ typedef uint16 StrategyNumber; #define RTBelowStrategyNumber 10 /* for <<| */ #define RTAboveStrategyNumber 11 /* for |>> */ #define RTOverAboveStrategyNumber 12 /* for |&> */ -#define RTOldContainsStrategyNumber 13 /* for old spelling of @> */ -#define RTOldContainedByStrategyNumber 14 /* for old spelling of <@ */ #define RTKNNSearchStrategyNumber 15 /* for <-> (distance) */ #define RTContainsElemStrategyNumber 16 /* for range types @> elem */ #define RTAdjacentStrategyNumber 17 /* for -|- */ diff --git a/src/include/catalog/pg_amop.dat b/src/include/catalog/pg_amop.dat index 1dfb6fd373..ad02cfda76 100644 --- a/src/include/catalog/pg_amop.dat +++ b/src/include/catalog/pg_amop.dat @@ -1100,10 +1100,6 @@ amopstrategy => '11', amopopr => '|>>(box,box)', amopmethod => 'gist' }, { amopfamily => 'gist/box_ops', amoplefttype => 'box', amoprighttype => 'box', amopstrategy => '12', amopopr => '|&>(box,box)', amopmethod => 'gist' }, -{ amopfamily => 'gist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '13', amopopr => '~(box,box)', amopmethod => 'gist' }, -{ amopfamily => 'gist/box_ops', amoplefttype => 'box', amoprighttype => 'box', - amopstrategy => '14', amopopr => '@(box,box)', amopmethod => 'gist' }, { amopfamily => 'gist/box_ops', amoplefttype => 'box', amoprighttype => 'point', amopstrategy => '15', amoppurpose => 'o', amopopr => '<->(box,point)', amopmethod => 'gist', amopsortfamily => 'btree/float_ops' }, @@ -1175,12 +1171,6 @@ { amopfamily => 'gist/poly_ops', amoplefttype => 'polygon', amoprighttype => 'polygon', amopstrategy => '12', amopopr => '|&>(polygon,polygon)', amopmethod => 'gist' }, -{ amopfamily => 'gist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '13', - amopopr => '~(polygon,polygon)', amopmethod => 'gist' }, -{ amopfamily => 'gist/poly_ops', amoplefttype => 'polygon', - amoprighttype => 'polygon', amopstrategy => '14', - amopopr => '@(polygon,polygon)', amopmethod => 'gist' }, { amopfamily => 'gist/poly_ops', amoplefttype => 'polygon', amoprighttype => 'point', amopstrategy => '15', amoppurpose => 'o', amopopr => '<->(polygon,point)', amopmethod => 'gist', @@ -1223,12 +1213,6 @@ { amopfamily => 'gist/circle_ops', amoplefttype => 'circle', amoprighttype => 'circle', amopstrategy => '12', amopopr => '|&>(circle,circle)', amopmethod => 'gist' }, -{ amopfamily => 'gist/circle_ops', amoplefttype => 'circle', - amoprighttype => 'circle', amopstrategy => '13', - amopopr => '~(circle,circle)', amopmethod => 'gist' }, -{ amopfamily => 'gist/circle_ops', amoplefttype => 'circle', - amoprighttype => 'circle', amopstrategy => '14', - amopopr => '@(circle,circle)', amopmethod => 'gist' }, { amopfamily => 'gist/circle_ops', amoplefttype => 'circle', amoprighttype => 'point', amopstrategy => '15', amoppurpose => 'o', amopopr => '<->(circle,point)', amopmethod => 'gist', diff --git a/src/include/catalog/pg_operator.dat b/src/include/catalog/pg_operator.dat index 7cc812adda..feb8edece5 100644 --- a/src/include/catalog/pg_operator.dat +++ b/src/include/catalog/pg_operator.dat @@ -2777,71 +2777,6 @@ oprname => '||', oprleft => 'anynonarray', oprright => 'text', oprresult => 'text', oprcode => 'anytextcat' }, -# obsolete names for contains/contained-by operators; remove these someday -{ oid => '2860', descr => 'deprecated, use <@ instead', - oprname => '@', oprleft => 'polygon', oprright => 'polygon', - oprresult => 'bool', oprcom => '~(polygon,polygon)', - oprcode => 'poly_contained', oprrest => 'contsel', oprjoin => 'contjoinsel' }, -{ oid => '2861', descr => 'deprecated, use @> instead', - oprname => '~', oprleft => 'polygon', oprright => 'polygon', - oprresult => 'bool', oprcom => '@(polygon,polygon)', - oprcode => 'poly_contain', oprrest => 'contsel', oprjoin => 'contjoinsel' }, -{ oid => '2862', descr => 'deprecated, use <@ instead', - oprname => '@', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcom => '~(box,box)', oprcode => 'box_contained', oprrest => 'contsel', - oprjoin => 'contjoinsel' }, -{ oid => '2863', descr => 'deprecated, use @> instead', - oprname => '~', oprleft => 'box', oprright => 'box', oprresult => 'bool', - oprcom => '@(box,box)', oprcode => 'box_contain', oprrest => 'contsel', - oprjoin => 'contjoinsel' }, -{ oid => '2864', descr => 'deprecated, use <@ instead', - oprname => '@', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcom => '~(circle,circle)', - oprcode => 'circle_contained', oprrest => 'contsel', - oprjoin => 'contjoinsel' }, -{ oid => '2865', descr => 'deprecated, use @> instead', - oprname => '~', oprleft => 'circle', oprright => 'circle', - oprresult => 'bool', oprcom => '@(circle,circle)', - oprcode => 'circle_contain', oprrest => 'contsel', oprjoin => 'contjoinsel' }, -{ oid => '2866', descr => 'deprecated, use <@ instead', - oprname => '@', oprleft => 'point', oprright => 'box', oprresult => 'bool', - oprcode => 'on_pb' }, -{ oid => '2867', descr => 'deprecated, use <@ instead', - oprname => '@', oprleft => 'point', oprright => 'path', oprresult => 'bool', - oprcom => '~(path,point)', oprcode => 'on_ppath' }, -{ oid => '2868', descr => 'deprecated, use @> instead', - oprname => '~', oprleft => 'path', oprright => 'point', oprresult => 'bool', - oprcom => '@(point,path)', oprcode => 'path_contain_pt' }, -{ oid => '2869', descr => 'deprecated, use <@ instead', - oprname => '@', oprleft => 'point', oprright => 'polygon', - oprresult => 'bool', oprcom => '~(polygon,point)', - oprcode => 'pt_contained_poly' }, -{ oid => '2870', descr => 'deprecated, use @> instead', - oprname => '~', oprleft => 'polygon', oprright => 'point', - oprresult => 'bool', oprcom => '@(point,polygon)', - oprcode => 'poly_contain_pt' }, -{ oid => '2871', descr => 'deprecated, use <@ instead', - oprname => '@', oprleft => 'point', oprright => 'circle', oprresult => 'bool', - oprcom => '~(circle,point)', oprcode => 'pt_contained_circle' }, -{ oid => '2872', descr => 'deprecated, use @> instead', - oprname => '~', oprleft => 'circle', oprright => 'point', oprresult => 'bool', - oprcom => '@(point,circle)', oprcode => 'circle_contain_pt' }, -{ oid => '2873', descr => 'deprecated, use <@ instead', - oprname => '@', oprleft => 'point', oprright => 'line', oprresult => 'bool', - oprcode => 'on_pl' }, -{ oid => '2874', descr => 'deprecated, use <@ instead', - oprname => '@', oprleft => 'point', oprright => 'lseg', oprresult => 'bool', - oprcode => 'on_ps' }, -{ oid => '2875', descr => 'deprecated, use <@ instead', - oprname => '@', oprleft => 'lseg', oprright => 'line', oprresult => 'bool', - oprcode => 'on_sl' }, -{ oid => '2876', descr => 'deprecated, use <@ instead', - oprname => '@', oprleft => 'lseg', oprright => 'box', oprresult => 'bool', - oprcode => 'on_sb' }, -{ oid => '2877', descr => 'deprecated, use @> instead', - oprname => '~', oprleft => '_aclitem', oprright => 'aclitem', - oprresult => 'bool', oprcode => 'aclcontains' }, - # uuid operators { oid => '2972', descr => 'equal', oprname => '=', oprcanmerge => 't', oprcanhash => 't', oprleft => 'uuid', diff --git a/src/test/regress/expected/create_am.out b/src/test/regress/expected/create_am.out index b9dc82dd3c..0dfb26c301 100644 --- a/src/test/regress/expected/create_am.out +++ b/src/test/regress/expected/create_am.out @@ -27,8 +27,6 @@ CREATE OPERATOR CLASS box_ops DEFAULT OPERATOR 10 <<|, OPERATOR 11 |>>, OPERATOR 12 |&>, - OPERATOR 13 ~, - OPERATOR 14 @, FUNCTION 1 gist_box_consistent(internal, box, smallint, oid, internal), FUNCTION 2 gist_box_union(internal, internal), -- don't need compress, decompress, or fetch functions @@ -46,18 +44,18 @@ SET enable_indexscan = ON; SET enable_bitmapscan = OFF; EXPLAIN (COSTS OFF) SELECT * FROM fast_emp4000 - WHERE home_base @ '(200,200),(2000,1000)'::box + WHERE home_base <@ '(200,200),(2000,1000)'::box ORDER BY (home_base[0])[0]; - QUERY PLAN ----------------------------------------------------------------- + QUERY PLAN +----------------------------------------------------------------- Sort Sort Key: ((home_base[0])[0]) -> Index Only Scan using grect2ind2 on fast_emp4000 - Index Cond: (home_base @ '(2000,1000),(200,200)'::box) + Index Cond: (home_base <@ '(2000,1000),(200,200)'::box) (4 rows) SELECT * FROM fast_emp4000 - WHERE home_base @ '(200,200),(2000,1000)'::box + WHERE home_base <@ '(200,200),(2000,1000)'::box ORDER BY (home_base[0])[0]; home_base ----------------------- diff --git a/src/test/regress/expected/create_index.out b/src/test/regress/expected/create_index.out index 6ace7662ee..3686006212 100644 --- a/src/test/regress/expected/create_index.out +++ b/src/test/regress/expected/create_index.out @@ -75,7 +75,7 @@ SET enable_seqscan = ON; SET enable_indexscan = OFF; SET enable_bitmapscan = OFF; SELECT * FROM fast_emp4000 - WHERE home_base @ '(200,200),(2000,1000)'::box + WHERE home_base <@ '(200,200),(2000,1000)'::box ORDER BY (home_base[0])[0]; home_base ----------------------- @@ -95,7 +95,7 @@ SELECT count(*) FROM fast_emp4000 WHERE home_base IS NULL; 278 (1 row) -SELECT * FROM polygon_tbl WHERE f1 ~ '((1,1),(2,2),(2,1))'::polygon +SELECT * FROM polygon_tbl WHERE f1 @> '((1,1),(2,2),(2,1))'::polygon ORDER BY (poly_center(f1))[0]; f1 --------------------- @@ -259,18 +259,18 @@ SET enable_indexscan = ON; SET enable_bitmapscan = OFF; EXPLAIN (COSTS OFF) SELECT * FROM fast_emp4000 - WHERE home_base @ '(200,200),(2000,1000)'::box + WHERE home_base <@ '(200,200),(2000,1000)'::box ORDER BY (home_base[0])[0]; - QUERY PLAN ----------------------------------------------------------------- + QUERY PLAN +----------------------------------------------------------------- Sort Sort Key: ((home_base[0])[0]) -> Index Only Scan using grect2ind on fast_emp4000 - Index Cond: (home_base @ '(2000,1000),(200,200)'::box) + Index Cond: (home_base <@ '(2000,1000),(200,200)'::box) (4 rows) SELECT * FROM fast_emp4000 - WHERE home_base @ '(200,200),(2000,1000)'::box + WHERE home_base <@ '(200,200),(2000,1000)'::box ORDER BY (home_base[0])[0]; home_base ----------------------- @@ -309,17 +309,17 @@ SELECT count(*) FROM fast_emp4000 WHERE home_base IS NULL; (1 row) EXPLAIN (COSTS OFF) -SELECT * FROM polygon_tbl WHERE f1 ~ '((1,1),(2,2),(2,1))'::polygon +SELECT * FROM polygon_tbl WHERE f1 @> '((1,1),(2,2),(2,1))'::polygon ORDER BY (poly_center(f1))[0]; - QUERY PLAN ------------------------------------------------------------ + QUERY PLAN +------------------------------------------------------------ Sort Sort Key: ((poly_center(f1))[0]) -> Index Scan using gpolygonind on polygon_tbl - Index Cond: (f1 ~ '((1,1),(2,2),(2,1))'::polygon) + Index Cond: (f1 @> '((1,1),(2,2),(2,1))'::polygon) (4 rows) -SELECT * FROM polygon_tbl WHERE f1 ~ '((1,1),(2,2),(2,1))'::polygon +SELECT * FROM polygon_tbl WHERE f1 @> '((1,1),(2,2),(2,1))'::polygon ORDER BY (poly_center(f1))[0]; f1 --------------------- diff --git a/src/test/regress/expected/opr_sanity.out b/src/test/regress/expected/opr_sanity.out index 7825a765cd..7ed29b4961 100644 --- a/src/test/regress/expected/opr_sanity.out +++ b/src/test/regress/expected/opr_sanity.out @@ -1163,14 +1163,13 @@ ORDER BY 1, 2; ?-| | ?-| ?| | ?| ?|| | ?|| - @ | ~ @@ | @@ @@@ | @@@ | | | ~<=~ | ~>=~ ~<~ | ~>~ ~= | ~= -(30 rows) +(29 rows) -- Likewise for negator pairs. SELECT DISTINCT o1.oprname AS op1, o2.oprname AS op2 @@ -1990,8 +1989,6 @@ ORDER BY 1, 2, 3; 783 | 11 | >^ 783 | 11 | |>> 783 | 12 | |&> - 783 | 13 | ~ - 783 | 14 | @ 783 | 15 | <-> 783 | 16 | @> 783 | 18 | = @@ -2084,7 +2081,7 @@ ORDER BY 1, 2, 3; 4000 | 26 | >> 4000 | 27 | >>= 4000 | 28 | ^@ -(125 rows) +(123 rows) -- Check that all opclass search operators have selectivity estimators. -- This is not absolutely required, but it seems a reasonable thing diff --git a/src/test/regress/sql/create_am.sql b/src/test/regress/sql/create_am.sql index 97df244d17..9a359466ce 100644 --- a/src/test/regress/sql/create_am.sql +++ b/src/test/regress/sql/create_am.sql @@ -28,8 +28,6 @@ CREATE OPERATOR CLASS box_ops DEFAULT OPERATOR 10 <<|, OPERATOR 11 |>>, OPERATOR 12 |&>, - OPERATOR 13 ~, - OPERATOR 14 @, FUNCTION 1 gist_box_consistent(internal, box, smallint, oid, internal), FUNCTION 2 gist_box_union(internal, internal), -- don't need compress, decompress, or fetch functions @@ -50,10 +48,10 @@ SET enable_bitmapscan = OFF; EXPLAIN (COSTS OFF) SELECT * FROM fast_emp4000 - WHERE home_base @ '(200,200),(2000,1000)'::box + WHERE home_base <@ '(200,200),(2000,1000)'::box ORDER BY (home_base[0])[0]; SELECT * FROM fast_emp4000 - WHERE home_base @ '(200,200),(2000,1000)'::box + WHERE home_base <@ '(200,200),(2000,1000)'::box ORDER BY (home_base[0])[0]; EXPLAIN (COSTS OFF) diff --git a/src/test/regress/sql/create_index.sql b/src/test/regress/sql/create_index.sql index 37f7259da9..1bb8347ee6 100644 --- a/src/test/regress/sql/create_index.sql +++ b/src/test/regress/sql/create_index.sql @@ -107,14 +107,14 @@ SET enable_indexscan = OFF; SET enable_bitmapscan = OFF; SELECT * FROM fast_emp4000 - WHERE home_base @ '(200,200),(2000,1000)'::box + WHERE home_base <@ '(200,200),(2000,1000)'::box ORDER BY (home_base[0])[0]; SELECT count(*) FROM fast_emp4000 WHERE home_base && '(1000,1000,0,0)'::box; SELECT count(*) FROM fast_emp4000 WHERE home_base IS NULL; -SELECT * FROM polygon_tbl WHERE f1 ~ '((1,1),(2,2),(2,1))'::polygon +SELECT * FROM polygon_tbl WHERE f1 @> '((1,1),(2,2),(2,1))'::polygon ORDER BY (poly_center(f1))[0]; SELECT * FROM circle_tbl WHERE f1 && circle(point(1,-2), 1) @@ -161,10 +161,10 @@ SET enable_bitmapscan = OFF; EXPLAIN (COSTS OFF) SELECT * FROM fast_emp4000 - WHERE home_base @ '(200,200),(2000,1000)'::box + WHERE home_base <@ '(200,200),(2000,1000)'::box ORDER BY (home_base[0])[0]; SELECT * FROM fast_emp4000 - WHERE home_base @ '(200,200),(2000,1000)'::box + WHERE home_base <@ '(200,200),(2000,1000)'::box ORDER BY (home_base[0])[0]; EXPLAIN (COSTS OFF) @@ -176,9 +176,9 @@ SELECT count(*) FROM fast_emp4000 WHERE home_base IS NULL; SELECT count(*) FROM fast_emp4000 WHERE home_base IS NULL; EXPLAIN (COSTS OFF) -SELECT * FROM polygon_tbl WHERE f1 ~ '((1,1),(2,2),(2,1))'::polygon +SELECT * FROM polygon_tbl WHERE f1 @> '((1,1),(2,2),(2,1))'::polygon ORDER BY (poly_center(f1))[0]; -SELECT * FROM polygon_tbl WHERE f1 ~ '((1,1),(2,2),(2,1))'::polygon +SELECT * FROM polygon_tbl WHERE f1 @> '((1,1),(2,2),(2,1))'::polygon ORDER BY (poly_center(f1))[0]; EXPLAIN (COSTS OFF) -- 2.17.0