summaryrefslogtreecommitdiff
path: root/src/include/catalog/pg_amproc.h
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2014-11-28 18:09:19 -0300
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2014-11-28 18:09:19 -0300
commit816e10d80033dd74b3b76fdfd84dffb767316c54 (patch)
treeeee5819c3d54792bc935cb24ec56b909efb09b2b /src/include/catalog/pg_amproc.h
parentae04bf50277ae25ca741cf3322d231c7dfb4c997 (diff)
downloadpostgresql-816e10d80033dd74b3b76fdfd84dffb767316c54.tar.gz
Fix BRIN operator family definitions
The original definitions were leaving no room for cross-type operators, so queries that compared a column of one type against something of a different type were not taking advantage of the index. Fix by making the opfamilies more like the ones for Btree, and include a few cross-type operator classes. Catalog version bumped. Per complaints from Hubert Lubaczewski, Mark Wong, Heikki Linnakangas.
Diffstat (limited to 'src/include/catalog/pg_amproc.h')
-rw-r--r--src/include/catalog/pg_amproc.h213
1 files changed, 165 insertions, 48 deletions
diff --git a/src/include/catalog/pg_amproc.h b/src/include/catalog/pg_amproc.h
index e09f5578d7..309aee66c9 100644
--- a/src/include/catalog/pg_amproc.h
+++ b/src/include/catalog/pg_amproc.h
@@ -460,25 +460,57 @@ DATA(insert ( 4065 19 19 11 655 ));
DATA(insert ( 4065 19 19 12 656 ));
DATA(insert ( 4065 19 19 13 658 ));
DATA(insert ( 4065 19 19 14 657 ));
-/* minmax bigint */
-DATA(insert ( 4063 20 20 1 3383 ));
-DATA(insert ( 4063 20 20 2 3384 ));
-DATA(insert ( 4063 20 20 3 3385 ));
-DATA(insert ( 4063 20 20 4 3386 ));
-DATA(insert ( 4063 20 20 11 469 ));
-DATA(insert ( 4063 20 20 12 471 ));
-DATA(insert ( 4063 20 20 13 472 ));
-DATA(insert ( 4063 20 20 14 470 ));
-/* minmax smallint */
-DATA(insert ( 4067 21 21 1 3383 ));
-DATA(insert ( 4067 21 21 2 3384 ));
-DATA(insert ( 4067 21 21 3 3385 ));
-DATA(insert ( 4067 21 21 4 3386 ));
-DATA(insert ( 4067 21 21 11 64 ));
-DATA(insert ( 4067 21 21 12 148 ));
-DATA(insert ( 4067 21 21 13 151 ));
-DATA(insert ( 4067 21 21 14 146 ));
-/* minmax integer */
+/* minmax integer: int2, int4, int8 */
+DATA(insert ( 4054 20 20 1 3383 ));
+DATA(insert ( 4054 20 20 2 3384 ));
+DATA(insert ( 4054 20 20 3 3385 ));
+DATA(insert ( 4054 20 20 4 3386 ));
+DATA(insert ( 4054 20 20 11 469 ));
+DATA(insert ( 4054 20 20 12 471 ));
+DATA(insert ( 4054 20 20 13 472 ));
+DATA(insert ( 4054 20 20 14 470 ));
+DATA(insert ( 4054 20 21 1 3383 ));
+DATA(insert ( 4054 20 21 2 3384 ));
+DATA(insert ( 4054 20 21 3 3385 ));
+DATA(insert ( 4054 20 21 4 3386 ));
+DATA(insert ( 4054 20 21 11 1858 ));
+DATA(insert ( 4054 20 21 12 1860 ));
+DATA(insert ( 4054 20 21 13 1861 ));
+DATA(insert ( 4054 20 21 14 1859 ));
+DATA(insert ( 4054 20 23 1 3383 ));
+DATA(insert ( 4054 20 23 2 3384 ));
+DATA(insert ( 4054 20 23 3 3385 ));
+DATA(insert ( 4054 20 23 4 3386 ));
+DATA(insert ( 4054 20 23 11 476 ));
+DATA(insert ( 4054 20 23 12 478 ));
+DATA(insert ( 4054 20 23 13 479 ));
+DATA(insert ( 4054 20 23 14 477 ));
+
+DATA(insert ( 4054 21 21 1 3383 ));
+DATA(insert ( 4054 21 21 2 3384 ));
+DATA(insert ( 4054 21 21 3 3385 ));
+DATA(insert ( 4054 21 21 4 3386 ));
+DATA(insert ( 4054 21 21 11 64 ));
+DATA(insert ( 4054 21 21 12 148 ));
+DATA(insert ( 4054 21 21 13 151 ));
+DATA(insert ( 4054 21 21 14 146 ));
+DATA(insert ( 4054 21 20 1 3383 ));
+DATA(insert ( 4054 21 20 2 3384 ));
+DATA(insert ( 4054 21 20 3 3385 ));
+DATA(insert ( 4054 21 20 4 3386 ));
+DATA(insert ( 4054 21 20 11 1852 ));
+DATA(insert ( 4054 21 20 12 1854 ));
+DATA(insert ( 4054 21 20 13 1855 ));
+DATA(insert ( 4054 21 20 14 1853 ));
+DATA(insert ( 4054 21 23 1 3383 ));
+DATA(insert ( 4054 21 23 2 3384 ));
+DATA(insert ( 4054 21 23 3 3385 ));
+DATA(insert ( 4054 21 23 4 3386 ));
+DATA(insert ( 4054 21 23 11 160 ));
+DATA(insert ( 4054 21 23 12 166 ));
+DATA(insert ( 4054 21 23 13 168 ));
+DATA(insert ( 4054 21 23 14 162 ));
+
DATA(insert ( 4054 23 23 1 3383 ));
DATA(insert ( 4054 23 23 2 3384 ));
DATA(insert ( 4054 23 23 3 3385 ));
@@ -487,6 +519,23 @@ DATA(insert ( 4054 23 23 11 66 ));
DATA(insert ( 4054 23 23 12 149 ));
DATA(insert ( 4054 23 23 13 150 ));
DATA(insert ( 4054 23 23 14 147 ));
+DATA(insert ( 4054 23 20 1 3383 ));
+DATA(insert ( 4054 23 20 2 3384 ));
+DATA(insert ( 4054 23 20 3 3385 ));
+DATA(insert ( 4054 23 20 4 3386 ));
+DATA(insert ( 4054 23 20 11 854 ));
+DATA(insert ( 4054 23 20 12 856 ));
+DATA(insert ( 4054 23 20 13 857 ));
+DATA(insert ( 4054 23 20 14 855 ));
+DATA(insert ( 4054 23 21 1 3383 ));
+DATA(insert ( 4054 23 21 2 3384 ));
+DATA(insert ( 4054 23 21 3 3385 ));
+DATA(insert ( 4054 23 21 4 3386 ));
+DATA(insert ( 4054 23 21 11 161 ));
+DATA(insert ( 4054 23 21 12 167 ));
+DATA(insert ( 4054 23 21 13 169 ));
+DATA(insert ( 4054 23 21 14 163 ));
+
/* minmax text */
DATA(insert ( 4056 25 25 1 3383 ));
DATA(insert ( 4056 25 25 2 3384 ));
@@ -514,7 +563,7 @@ DATA(insert ( 4069 27 27 11 2791 ));
DATA(insert ( 4069 27 27 12 2793 ));
DATA(insert ( 4069 27 27 13 2792 ));
DATA(insert ( 4069 27 27 14 2790 ));
-/* minmax real */
+/* minmax float */
DATA(insert ( 4070 700 700 1 3383 ));
DATA(insert ( 4070 700 700 2 3384 ));
DATA(insert ( 4070 700 700 3 3385 ));
@@ -523,15 +572,34 @@ DATA(insert ( 4070 700 700 11 289 ));
DATA(insert ( 4070 700 700 12 290 ));
DATA(insert ( 4070 700 700 13 292 ));
DATA(insert ( 4070 700 700 14 291 ));
-/* minmax double precision */
-DATA(insert ( 4071 701 701 1 3383 ));
-DATA(insert ( 4071 701 701 2 3384 ));
-DATA(insert ( 4071 701 701 3 3385 ));
-DATA(insert ( 4071 701 701 4 3386 ));
-DATA(insert ( 4071 701 701 11 295 ));
-DATA(insert ( 4071 701 701 12 296 ));
-DATA(insert ( 4071 701 701 13 298 ));
-DATA(insert ( 4071 701 701 14 297 ));
+
+DATA(insert ( 4070 700 701 1 3383 ));
+DATA(insert ( 4070 700 701 2 3384 ));
+DATA(insert ( 4070 700 701 3 3385 ));
+DATA(insert ( 4070 700 701 4 3386 ));
+DATA(insert ( 4070 700 701 11 301 ));
+DATA(insert ( 4070 700 701 12 303 ));
+DATA(insert ( 4070 700 701 13 304 ));
+DATA(insert ( 4070 700 701 14 303 ));
+
+DATA(insert ( 4070 701 701 1 3383 ));
+DATA(insert ( 4070 701 701 2 3384 ));
+DATA(insert ( 4070 701 701 3 3385 ));
+DATA(insert ( 4070 701 701 4 3386 ));
+DATA(insert ( 4070 701 701 11 295 ));
+DATA(insert ( 4070 701 701 12 296 ));
+DATA(insert ( 4070 701 701 13 298 ));
+DATA(insert ( 4070 701 701 14 297 ));
+
+DATA(insert ( 4070 701 700 1 3383 ));
+DATA(insert ( 4070 701 700 2 3384 ));
+DATA(insert ( 4070 701 700 3 3385 ));
+DATA(insert ( 4070 701 700 4 3386 ));
+DATA(insert ( 4070 701 700 11 307 ));
+DATA(insert ( 4070 701 700 12 308 ));
+DATA(insert ( 4070 701 700 13 310 ));
+DATA(insert ( 4070 701 700 14 309 ));
+
/* minmax abstime */
DATA(insert ( 4072 702 702 1 3383 ));
DATA(insert ( 4072 702 702 2 3384 ));
@@ -577,15 +645,6 @@ DATA(insert ( 4076 1042 1042 11 1049 ));
DATA(insert ( 4076 1042 1042 12 1050 ));
DATA(insert ( 4076 1042 1042 13 1052 ));
DATA(insert ( 4076 1042 1042 14 1051 ));
-/* minmax date */
-DATA(insert ( 4061 1082 1082 1 3383 ));
-DATA(insert ( 4061 1082 1082 2 3384 ));
-DATA(insert ( 4061 1082 1082 3 3385 ));
-DATA(insert ( 4061 1082 1082 4 3386 ));
-DATA(insert ( 4061 1082 1082 11 1087 ));
-DATA(insert ( 4061 1082 1082 12 1088 ));
-DATA(insert ( 4061 1082 1082 13 1090 ));
-DATA(insert ( 4061 1082 1082 14 1089 ));
/* minmax time without time zone */
DATA(insert ( 4077 1083 1083 1 3383 ));
DATA(insert ( 4077 1083 1083 2 3384 ));
@@ -595,7 +654,7 @@ DATA(insert ( 4077 1083 1083 11 1102 ));
DATA(insert ( 4077 1083 1083 12 1103 ));
DATA(insert ( 4077 1083 1083 13 1105 ));
DATA(insert ( 4077 1083 1083 14 1104 ));
-/* minmax timestamp without time zone */
+/* minmax datetime (date, timestamp, timestamptz) */
DATA(insert ( 4059 1114 1114 1 3383 ));
DATA(insert ( 4059 1114 1114 2 3384 ));
DATA(insert ( 4059 1114 1114 3 3385 ));
@@ -604,15 +663,73 @@ DATA(insert ( 4059 1114 1114 11 2054 ));
DATA(insert ( 4059 1114 1114 12 2055 ));
DATA(insert ( 4059 1114 1114 13 2056 ));
DATA(insert ( 4059 1114 1114 14 2057 ));
-/* minmax timestamp with time zone */
-DATA(insert ( 4060 1184 1184 1 3383 ));
-DATA(insert ( 4060 1184 1184 2 3384 ));
-DATA(insert ( 4060 1184 1184 3 3385 ));
-DATA(insert ( 4060 1184 1184 4 3386 ));
-DATA(insert ( 4060 1184 1184 11 1154 ));
-DATA(insert ( 4060 1184 1184 12 1155 ));
-DATA(insert ( 4060 1184 1184 13 1156 ));
-DATA(insert ( 4060 1184 1184 14 1157 ));
+DATA(insert ( 4059 1114 1184 1 3383 ));
+DATA(insert ( 4059 1114 1184 2 3384 ));
+DATA(insert ( 4059 1114 1184 3 3385 ));
+DATA(insert ( 4059 1114 1184 4 3386 ));
+DATA(insert ( 4059 1114 1184 11 2520 ));
+DATA(insert ( 4059 1114 1184 12 2521 ));
+DATA(insert ( 4059 1114 1184 13 2524 ));
+DATA(insert ( 4059 1114 1184 14 2523 ));
+DATA(insert ( 4059 1114 1082 1 3383 ));
+DATA(insert ( 4059 1114 1082 2 3384 ));
+DATA(insert ( 4059 1114 1082 3 3385 ));
+DATA(insert ( 4059 1114 1082 4 3386 ));
+DATA(insert ( 4059 1114 1082 11 2364 ));
+DATA(insert ( 4059 1114 1082 12 2365 ));
+DATA(insert ( 4059 1114 1082 13 2368 ));
+DATA(insert ( 4059 1114 1082 14 2367 ));
+
+DATA(insert ( 4059 1184 1184 1 3383 ));
+DATA(insert ( 4059 1184 1184 2 3384 ));
+DATA(insert ( 4059 1184 1184 3 3385 ));
+DATA(insert ( 4059 1184 1184 4 3386 ));
+DATA(insert ( 4059 1184 1184 11 1154 ));
+DATA(insert ( 4059 1184 1184 12 1155 ));
+DATA(insert ( 4059 1184 1184 13 1156 ));
+DATA(insert ( 4059 1184 1184 14 1157 ));
+DATA(insert ( 4059 1184 1114 1 3383 ));
+DATA(insert ( 4059 1184 1114 2 3384 ));
+DATA(insert ( 4059 1184 1114 3 3385 ));
+DATA(insert ( 4059 1184 1114 4 3386 ));
+DATA(insert ( 4059 1184 1114 11 2527 ));
+DATA(insert ( 4059 1184 1114 12 2528 ));
+DATA(insert ( 4059 1184 1114 13 2531 ));
+DATA(insert ( 4059 1184 1114 14 2530 ));
+DATA(insert ( 4059 1184 1082 1 3383 ));
+DATA(insert ( 4059 1184 1082 2 3384 ));
+DATA(insert ( 4059 1184 1082 3 3385 ));
+DATA(insert ( 4059 1184 1082 4 3386 ));
+DATA(insert ( 4059 1184 1082 11 2377 ));
+DATA(insert ( 4059 1184 1082 12 2378 ));
+DATA(insert ( 4059 1184 1082 13 2381 ));
+DATA(insert ( 4059 1184 1082 14 2379 ));
+
+DATA(insert ( 4059 1082 1082 1 3383 ));
+DATA(insert ( 4059 1082 1082 2 3384 ));
+DATA(insert ( 4059 1082 1082 3 3385 ));
+DATA(insert ( 4059 1082 1082 4 3386 ));
+DATA(insert ( 4059 1082 1082 11 1087 ));
+DATA(insert ( 4059 1082 1082 12 1088 ));
+DATA(insert ( 4059 1082 1082 13 1090 ));
+DATA(insert ( 4059 1082 1082 14 1089 ));
+DATA(insert ( 4059 1082 1114 1 3383 ));
+DATA(insert ( 4059 1082 1114 2 3384 ));
+DATA(insert ( 4059 1082 1114 3 3385 ));
+DATA(insert ( 4059 1082 1114 4 3386 ));
+DATA(insert ( 4059 1082 1114 11 2338 ));
+DATA(insert ( 4059 1082 1114 12 2339 ));
+DATA(insert ( 4059 1082 1114 13 2342 ));
+DATA(insert ( 4059 1082 1114 14 2341 ));
+DATA(insert ( 4059 1082 1184 1 3383 ));
+DATA(insert ( 4059 1082 1184 2 3384 ));
+DATA(insert ( 4059 1082 1184 3 3385 ));
+DATA(insert ( 4059 1082 1184 4 3386 ));
+DATA(insert ( 4059 1082 1184 11 2351 ));
+DATA(insert ( 4059 1082 1184 12 2352 ));
+DATA(insert ( 4059 1082 1184 13 2354 ));
+DATA(insert ( 4059 1082 1184 14 2353 ));
+
/* minmax interval */
DATA(insert ( 4078 1186 1186 1 3383 ));
DATA(insert ( 4078 1186 1186 2 3384 ));