@@ -140,16 +140,16 @@ WHERE p1.oid < p2.oid AND
140
140
-- need to be modified whenever new pairs of types are made binary-equivalent,
141
141
-- or when new polymorphic built-in functions are added!
142
142
-- Note: ignore aggregate functions here, since they all point to the same
143
- -- dummy built-in function.
143
+ -- dummy built-in function. Likewise, ignore range constructor functions.
144
144
SELECT DISTINCT p1.prorettype, p2.prorettype
145
145
FROM pg_proc AS p1, pg_proc AS p2
146
146
WHERE p1.oid != p2.oid AND
147
147
p1.prosrc = p2.prosrc AND
148
148
p1.prolang = 12 AND p2.prolang = 12 AND
149
149
NOT p1.proisagg AND NOT p2.proisagg AND
150
- ( p1.prorettype < p2.prorettype) AND
151
- -- range constructor functions are shared by all range types.
152
- NOT p1.prosrc LIKE 'range_constructor%'
150
+ p1.prosrc NOT LIKE E'range\\_constructor_' AND
151
+ p2.prosrc NOT LIKE E' range\\_constructor_' AND
152
+ ( p1.prorettype < p2.prorettype)
153
153
ORDER BY 1, 2;
154
154
prorettype | prorettype
155
155
------------+------------
@@ -163,9 +163,9 @@ WHERE p1.oid != p2.oid AND
163
163
p1.prosrc = p2.prosrc AND
164
164
p1.prolang = 12 AND p2.prolang = 12 AND
165
165
NOT p1.proisagg AND NOT p2.proisagg AND
166
- ( p1.proargtypes[0] < p2.proargtypes[0]) AND
167
- -- range constructor functions are shared by all range types.
168
- NOT p1.prosrc LIKE 'range_constructor%'
166
+ p1.prosrc NOT LIKE E'range\\_constructor_' AND
167
+ p2.prosrc NOT LIKE E' range\\_constructor_' AND
168
+ ( p1.proargtypes[0] < p2.proargtypes[0])
169
169
ORDER BY 1, 2;
170
170
proargtypes | proargtypes
171
171
-------------+-------------
@@ -182,9 +182,9 @@ WHERE p1.oid != p2.oid AND
182
182
p1.prosrc = p2.prosrc AND
183
183
p1.prolang = 12 AND p2.prolang = 12 AND
184
184
NOT p1.proisagg AND NOT p2.proisagg AND
185
- ( p1.proargtypes[1] < p2.proargtypes[1]) AND
186
- -- range constructor functions are shared by all range types.
187
- NOT p1.prosrc LIKE 'range_constructor%'
185
+ p1.prosrc NOT LIKE E'range\\_constructor_' AND
186
+ p2.prosrc NOT LIKE E' range\\_constructor_' AND
187
+ ( p1.proargtypes[1] < p2.proargtypes[1])
188
188
ORDER BY 1, 2;
189
189
proargtypes | proargtypes
190
190
-------------+-------------
@@ -1021,34 +1021,28 @@ ORDER BY 1, 2, 3;
1021
1021
403 | 5 | ~>~
1022
1022
405 | 1 | =
1023
1023
783 | 1 | <<
1024
- 783 | 1 | =
1025
1024
783 | 1 | @@
1026
1025
783 | 2 | &<
1027
- 783 | 2 | <>
1028
1026
783 | 3 | &&
1029
1027
783 | 4 | &>
1030
- 783 | 4 | @>
1031
- 783 | 5 | <@
1032
1028
783 | 5 | >>
1033
- 783 | 6 | @>
1029
+ 783 | 6 | -|-
1034
1030
783 | 6 | ~=
1035
- 783 | 7 | <@
1036
1031
783 | 7 | @>
1037
- 783 | 8 | <<
1038
1032
783 | 8 | <@
1039
1033
783 | 9 | &<|
1040
- 783 | 9 | >>
1041
- 783 | 10 | &<
1042
1034
783 | 10 | <<|
1043
1035
783 | 10 | <^
1044
- 783 | 11 | &>
1045
1036
783 | 11 | >^
1046
1037
783 | 11 | |>>
1047
- 783 | 12 | -|-
1048
1038
783 | 12 | |&>
1049
1039
783 | 13 | ~
1050
1040
783 | 14 | @
1051
1041
783 | 15 | <->
1042
+ 783 | 16 | @>
1043
+ 783 | 17 | <@
1044
+ 783 | 18 | =
1045
+ 783 | 19 | <>
1052
1046
783 | 27 | @>
1053
1047
783 | 28 | <@
1054
1048
783 | 47 | @>
@@ -1061,7 +1055,7 @@ ORDER BY 1, 2, 3;
1061
1055
2742 | 2 | @@@
1062
1056
2742 | 3 | <@
1063
1057
2742 | 4 | =
1064
- (51 rows)
1058
+ (45 rows)
1065
1059
1066
1060
-- Check that all opclass search operators have selectivity estimators.
1067
1061
-- This is not absolutely required, but it seems a reasonable thing
@@ -1070,15 +1064,9 @@ SELECT p1.amopfamily, p1.amopopr, p2.oid, p2.oprname
1070
1064
FROM pg_amop AS p1, pg_operator AS p2
1071
1065
WHERE p1.amopopr = p2.oid AND p1.amoppurpose = 's' AND
1072
1066
(p2.oprrest = 0 OR p2.oprjoin = 0);
1073
- amopfamily | amopopr | oid | oprname
1074
- ------------+---------+------+---------
1075
- 3919 | 3888 | 3888 | &&
1076
- 3919 | 3889 | 3889 | @>
1077
- 3919 | 3891 | 3891 | <@
1078
- 3919 | 3890 | 3890 | @>
1079
- 3919 | 3892 | 3892 | <@
1080
- 3919 | 3897 | 3897 | -|-
1081
- (6 rows)
1067
+ amopfamily | amopopr | oid | oprname
1068
+ ------------+---------+-----+---------
1069
+ (0 rows)
1082
1070
1083
1071
-- Check that each opclass in an opfamily has associated operators, that is
1084
1072
-- ones whose oprleft matches opcintype (possibly by coercion).
0 commit comments