Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit709aca5

Browse files
committed
Declare range inclusion operators as taking anyelement not anynonarray.
Use of anynonarray was a crude hack to get around ambiguity versus thearray inclusion operators of the same names. My previous patch to extendthe parser's type resolution heuristics makes that unnecessary, so usethe more general declaration instead. This eliminates a wart that theseoperators couldn't be used with ranges over arrays, which are otherwisesupported just fine.Also, mark range_before and range_after as commutator operators,per discussion with Jeff Davis.
1 parent1a8b9fb commit709aca5

File tree

6 files changed

+24
-9
lines changed

6 files changed

+24
-9
lines changed

‎src/include/catalog/catversion.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,6 @@
5353
*/
5454

5555
/*yyyymmddN */
56-
#defineCATALOG_VERSION_NO201111161
56+
#defineCATALOG_VERSION_NO201111171
5757

5858
#endif

‎src/include/catalog/pg_amop.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -729,8 +729,8 @@ DATA(insert (3903 3831 3831 1 s3882 405 0 ));
729729
DATA(insert (3919383138311s38827830 ));
730730
DATA(insert (3919383138312s38837830 ));
731731
DATA(insert (3919383138313s38887830 ));
732-
DATA(insert (3919383127764s38897830 ));
733-
DATA(insert (3919277638315s38917830 ));
732+
DATA(insert (3919383122834s38897830 ));
733+
DATA(insert (3919228338315s38917830 ));
734734
DATA(insert (3919383138316s38907830 ));
735735
DATA(insert (3919383138317s38927830 ));
736736
DATA(insert (3919383138318s38937830 ));

‎src/include/catalog/pg_operator.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1676,17 +1676,17 @@ DATA(insert OID = 3887 ( ">" PGNSP PGUID b f f 3831 3831 16 3884 3885 range_
16761676
DESCR("greater than");
16771677
DATA(insertOID=3888 ("&&"PGNSPPGUIDbff383138311638880range_overlaps-- ));
16781678
DESCR("overlaps");
1679-
DATA(insertOID=3889 ("@>"PGNSPPGUIDbff383127761638910range_contains_elem-- ));
1679+
DATA(insertOID=3889 ("@>"PGNSPPGUIDbff383122831638910range_contains_elem-- ));
16801680
DESCR("contains");
16811681
DATA(insertOID=3890 ("@>"PGNSPPGUIDbff383138311638920range_contains-- ));
16821682
DESCR("contains");
1683-
DATA(insertOID=3891 ("<@"PGNSPPGUIDbff277638311638890elem_contained_by_range-- ));
1683+
DATA(insertOID=3891 ("<@"PGNSPPGUIDbff228338311638890elem_contained_by_range-- ));
16841684
DESCR("is contained by");
16851685
DATA(insertOID=3892 ("<@"PGNSPPGUIDbff383138311638900range_contained_by-- ));
16861686
DESCR("is contained by");
1687-
DATA(insertOID=3893 ("<<"PGNSPPGUIDbff383138311600range_beforescalarltselscalarltjoinsel ));
1687+
DATA(insertOID=3893 ("<<"PGNSPPGUIDbff383138311638940range_beforescalarltselscalarltjoinsel ));
16881688
DESCR("is left of");
1689-
DATA(insertOID=3894 (">>"PGNSPPGUIDbff383138311600range_afterscalargtselscalargtjoinsel ));
1689+
DATA(insertOID=3894 (">>"PGNSPPGUIDbff383138311638930range_afterscalargtselscalargtjoinsel ));
16901690
DESCR("is right of");
16911691
DATA(insertOID=3895 ("&<"PGNSPPGUIDbff383138311600range_overleftscalarltselscalarltjoinsel ));
16921692
DESCR("overlaps or is left of");

‎src/include/catalog/pg_proc.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4367,11 +4367,11 @@ DATA(insert OID = 3856 ( range_nePGNSP PGUID 12 1 0 0 0 f f f t f i 2 0 16 "38
43674367
DESCR("implementation of <> operator");
43684368
DATA(insertOID=3857 (range_overlapsPGNSPPGUID121000ffftfi2016"3831 3831"_null__null__null__null_range_overlaps_null__null__null_ ));
43694369
DESCR("implementation of && operator");
4370-
DATA(insertOID=3858 (range_contains_elemPGNSPPGUID121000ffftfi2016"38312776"_null__null__null__null_range_contains_elem_null__null__null_ ));
4370+
DATA(insertOID=3858 (range_contains_elemPGNSPPGUID121000ffftfi2016"38312283"_null__null__null__null_range_contains_elem_null__null__null_ ));
43714371
DESCR("implementation of @> operator");
43724372
DATA(insertOID=3859 (range_containsPGNSPPGUID121000ffftfi2016"3831 3831"_null__null__null__null_range_contains_null__null__null_ ));
43734373
DESCR("implementation of @> operator");
4374-
DATA(insertOID=3860 (elem_contained_by_rangePGNSPPGUID121000ffftfi2016"2776 3831"_null__null__null__null_elem_contained_by_range_null__null__null_ ));
4374+
DATA(insertOID=3860 (elem_contained_by_rangePGNSPPGUID121000ffftfi2016"2283 3831"_null__null__null__null_elem_contained_by_range_null__null__null_ ));
43754375
DESCR("implementation of <@ operator");
43764376
DATA(insertOID=3861 (range_contained_byPGNSPPGUID121000ffftfi2016"3831 3831"_null__null__null__null_range_contained_by_null__null__null_ ));
43774377
DESCR("implementation of <@ operator");

‎src/test/regress/expected/rangetypes.out

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -964,6 +964,18 @@ select arrayrange(ARRAY[1,2], ARRAY[2,1]);
964964
["{1,2}","{2,1}")
965965
(1 row)
966966

967+
select array[1,1] <@ arrayrange(array[1,2], array[2,1]);
968+
?column?
969+
----------
970+
f
971+
(1 row)
972+
973+
select array[1,3] <@ arrayrange(array[1,2], array[2,1]);
974+
?column?
975+
----------
976+
t
977+
(1 row)
978+
967979
--
968980
-- OUT/INOUT/TABLE functions
969981
--

‎src/test/regress/sql/rangetypes.sql

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,9 @@ create type arrayrange as range (subtype=int4[]);
346346

347347
select arrayrange(ARRAY[1,2], ARRAY[2,1]);
348348

349+
select array[1,1]<@ arrayrange(array[1,2], array[2,1]);
350+
select array[1,3]<@ arrayrange(array[1,2], array[2,1]);
351+
349352
--
350353
-- OUT/INOUT/TABLE functions
351354
--

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp