From bf7a6c6d55875c043a61db752831f33d87c4c3ce Mon Sep 17 00:00:00 2001 From: Peter Geoghegan Date: Fri, 9 May 2025 12:06:35 -0400 Subject: [PATCH] Remove nbtree support routine 6 --- src/include/access/nbtree.h | 2 +- src/include/catalog/pg_amproc.dat | 22 ------------------- src/backend/access/nbtree/nbtpreprocesskeys.c | 4 +--- src/test/regress/expected/alter_generic.out | 6 ++--- src/test/regress/expected/psql.out | 3 +-- 5 files changed, 6 insertions(+), 31 deletions(-) diff --git a/src/include/access/nbtree.h b/src/include/access/nbtree.h index ebca02588..679012924 100644 --- a/src/include/access/nbtree.h +++ b/src/include/access/nbtree.h @@ -720,7 +720,7 @@ BTreeTupleGetMaxHeapTID(IndexTuple itup) #define BTEQUALIMAGE_PROC 4 #define BTOPTIONS_PROC 5 #define BTSKIPSUPPORT_PROC 6 -#define BTNProcs 6 +#define BTNProcs 5 /* * We need to be able to tell the difference between read and write diff --git a/src/include/catalog/pg_amproc.dat b/src/include/catalog/pg_amproc.dat index 925051489..410561710 100644 --- a/src/include/catalog/pg_amproc.dat +++ b/src/include/catalog/pg_amproc.dat @@ -21,8 +21,6 @@ amprocrighttype => 'bit', amprocnum => '4', amproc => 'btequalimage' }, { amprocfamily => 'btree/bool_ops', amproclefttype => 'bool', amprocrighttype => 'bool', amprocnum => '1', amproc => 'btboolcmp' }, -{ amprocfamily => 'btree/bool_ops', amproclefttype => 'bool', - amprocrighttype => 'bool', amprocnum => '6', amproc => 'btboolskipsupport' }, { amprocfamily => 'btree/bool_ops', amproclefttype => 'bool', amprocrighttype => 'bool', amprocnum => '4', amproc => 'btequalimage' }, { amprocfamily => 'btree/bpchar_ops', amproclefttype => 'bpchar', @@ -43,16 +41,12 @@ amprocrighttype => 'char', amprocnum => '1', amproc => 'btcharcmp' }, { amprocfamily => 'btree/char_ops', amproclefttype => 'char', amprocrighttype => 'char', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/char_ops', amproclefttype => 'char', - amprocrighttype => 'char', amprocnum => '6', amproc => 'btcharskipsupport' }, { amprocfamily => 'btree/datetime_ops', amproclefttype => 'date', amprocrighttype => 'date', amprocnum => '1', amproc => 'date_cmp' }, { amprocfamily => 'btree/datetime_ops', amproclefttype => 'date', amprocrighttype => 'date', amprocnum => '2', amproc => 'date_sortsupport' }, { amprocfamily => 'btree/datetime_ops', amproclefttype => 'date', amprocrighttype => 'date', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'date', - amprocrighttype => 'date', amprocnum => '6', amproc => 'date_skipsupport' }, { amprocfamily => 'btree/datetime_ops', amproclefttype => 'date', amprocrighttype => 'timestamp', amprocnum => '1', amproc => 'date_cmp_timestamp' }, @@ -66,9 +60,6 @@ amproc => 'timestamp_sortsupport' }, { amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamp', amprocrighttype => 'timestamp', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamp', - amprocrighttype => 'timestamp', amprocnum => '6', - amproc => 'timestamp_skipsupport' }, { amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamp', amprocrighttype => 'date', amprocnum => '1', amproc => 'timestamp_cmp_date' }, { amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamp', @@ -83,9 +74,6 @@ { amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamptz', amprocrighttype => 'timestamptz', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamptz', - amprocrighttype => 'timestamptz', amprocnum => '6', - amproc => 'timestamp_skipsupport' }, { amprocfamily => 'btree/datetime_ops', amproclefttype => 'timestamptz', amprocrighttype => 'date', amprocnum => '1', amproc => 'timestamptz_cmp_date' }, @@ -134,8 +122,6 @@ amprocrighttype => 'int2', amprocnum => '2', amproc => 'btint2sortsupport' }, { amprocfamily => 'btree/integer_ops', amproclefttype => 'int2', amprocrighttype => 'int2', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int2', - amprocrighttype => 'int2', amprocnum => '6', amproc => 'btint2skipsupport' }, { amprocfamily => 'btree/integer_ops', amproclefttype => 'int2', amprocrighttype => 'int4', amprocnum => '1', amproc => 'btint24cmp' }, { amprocfamily => 'btree/integer_ops', amproclefttype => 'int2', @@ -155,8 +141,6 @@ amprocrighttype => 'int4', amprocnum => '2', amproc => 'btint4sortsupport' }, { amprocfamily => 'btree/integer_ops', amproclefttype => 'int4', amprocrighttype => 'int4', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int4', - amprocrighttype => 'int4', amprocnum => '6', amproc => 'btint4skipsupport' }, { amprocfamily => 'btree/integer_ops', amproclefttype => 'int4', amprocrighttype => 'int8', amprocnum => '1', amproc => 'btint48cmp' }, { amprocfamily => 'btree/integer_ops', amproclefttype => 'int4', @@ -176,8 +160,6 @@ amprocrighttype => 'int8', amprocnum => '2', amproc => 'btint8sortsupport' }, { amprocfamily => 'btree/integer_ops', amproclefttype => 'int8', amprocrighttype => 'int8', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/integer_ops', amproclefttype => 'int8', - amprocrighttype => 'int8', amprocnum => '6', amproc => 'btint8skipsupport' }, { amprocfamily => 'btree/integer_ops', amproclefttype => 'int8', amprocrighttype => 'int4', amprocnum => '1', amproc => 'btint84cmp' }, { amprocfamily => 'btree/integer_ops', amproclefttype => 'int8', @@ -211,8 +193,6 @@ amprocrighttype => 'oid', amprocnum => '2', amproc => 'btoidsortsupport' }, { amprocfamily => 'btree/oid_ops', amproclefttype => 'oid', amprocrighttype => 'oid', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/oid_ops', amproclefttype => 'oid', - amprocrighttype => 'oid', amprocnum => '6', amproc => 'btoidskipsupport' }, { amprocfamily => 'btree/oidvector_ops', amproclefttype => 'oidvector', amprocrighttype => 'oidvector', amprocnum => '1', amproc => 'btoidvectorcmp' }, @@ -281,8 +261,6 @@ amprocrighttype => 'uuid', amprocnum => '2', amproc => 'uuid_sortsupport' }, { amprocfamily => 'btree/uuid_ops', amproclefttype => 'uuid', amprocrighttype => 'uuid', amprocnum => '4', amproc => 'btequalimage' }, -{ amprocfamily => 'btree/uuid_ops', amproclefttype => 'uuid', - amprocrighttype => 'uuid', amprocnum => '6', amproc => 'uuid_skipsupport' }, { amprocfamily => 'btree/record_ops', amproclefttype => 'record', amprocrighttype => 'record', amprocnum => '1', amproc => 'btrecordcmp' }, { amprocfamily => 'btree/record_image_ops', amproclefttype => 'record', diff --git a/src/backend/access/nbtree/nbtpreprocesskeys.c b/src/backend/access/nbtree/nbtpreprocesskeys.c index a136e4bbf..b02ebd1f6 100644 --- a/src/backend/access/nbtree/nbtpreprocesskeys.c +++ b/src/backend/access/nbtree/nbtpreprocesskeys.c @@ -1592,7 +1592,6 @@ _bt_preprocess_array_keys(IndexScanDesc scan, int *new_numberOfKeys) /* Backfill skip arrays for attrs < or <= input key's attr? */ while (numSkipArrayKeys && attno_skip <= inkey->sk_attno) { - Oid opfamily = rel->rd_opfamily[attno_skip - 1]; Oid opcintype = rel->rd_opcintype[attno_skip - 1]; Oid collation = rel->rd_indcollation[attno_skip - 1]; Oid eq_op = skip_eq_ops[attno_skip - 1]; @@ -1646,8 +1645,7 @@ _bt_preprocess_array_keys(IndexScanDesc scan, int *new_numberOfKeys) so->arrayKeys[numArrayKeys].attlen = attr->attlen; so->arrayKeys[numArrayKeys].attbyval = attr->attbyval; so->arrayKeys[numArrayKeys].null_elem = true; /* for now */ - so->arrayKeys[numArrayKeys].sksup = - PrepareSkipSupportFromOpclass(opfamily, opcintype, reverse); + so->arrayKeys[numArrayKeys].sksup = NULL; so->arrayKeys[numArrayKeys].low_compare = NULL; /* for now */ so->arrayKeys[numArrayKeys].high_compare = NULL; /* for now */ diff --git a/src/test/regress/expected/alter_generic.out b/src/test/regress/expected/alter_generic.out index 23bf33f10..86c1cc4a0 100644 --- a/src/test/regress/expected/alter_generic.out +++ b/src/test/regress/expected/alter_generic.out @@ -362,9 +362,9 @@ ERROR: invalid operator number 0, must be between 1 and 5 ALTER OPERATOR FAMILY alt_opf4 USING btree ADD OPERATOR 1 < ; -- operator without argument types ERROR: operator argument types must be specified in ALTER OPERATOR FAMILY ALTER OPERATOR FAMILY alt_opf4 USING btree ADD FUNCTION 0 btint42cmp(int4, int2); -- invalid options parsing function -ERROR: invalid function number 0, must be between 1 and 6 +ERROR: invalid function number 0, must be between 1 and 5 ALTER OPERATOR FAMILY alt_opf4 USING btree ADD FUNCTION 7 btint42cmp(int4, int2); -- function number should be between 1 and 6 -ERROR: invalid function number 7, must be between 1 and 6 +ERROR: invalid function number 7, must be between 1 and 5 ALTER OPERATOR FAMILY alt_opf4 USING btree ADD STORAGE invalid_storage; -- Ensure STORAGE is not a part of ALTER OPERATOR FAMILY ERROR: STORAGE cannot be specified in ALTER OPERATOR FAMILY DROP OPERATOR FAMILY alt_opf4 USING btree; @@ -508,7 +508,7 @@ ERROR: ordering equal image functions must not be cross-type -- Should fail. Not allowed to have cross-type skip support function. ALTER OPERATOR FAMILY alt_opf18 USING btree ADD FUNCTION 6 (int4, int2) btint4skipsupport(internal); -ERROR: btree skip support functions must not be cross-type +ERROR: invalid function number 6, must be between 1 and 5 ALTER OPERATOR FAMILY alt_opf18 USING btree DROP FUNCTION 2 (int4, int4); ERROR: function 2(integer,integer) does not exist in operator family "alt_opf18" DROP OPERATOR FAMILY alt_opf18 USING btree; diff --git a/src/test/regress/expected/psql.out b/src/test/regress/expected/psql.out index cf48ae6d0..b1d12585e 100644 --- a/src/test/regress/expected/psql.out +++ b/src/test/regress/expected/psql.out @@ -5332,10 +5332,9 @@ Function | in_range(time without time zone,time without time zone,i btree | uuid_ops | uuid | uuid | 1 | uuid_cmp btree | uuid_ops | uuid | uuid | 2 | uuid_sortsupport btree | uuid_ops | uuid | uuid | 4 | btequalimage - btree | uuid_ops | uuid | uuid | 6 | uuid_skipsupport hash | uuid_ops | uuid | uuid | 1 | uuid_hash hash | uuid_ops | uuid | uuid | 2 | uuid_hash_extended -(6 rows) +(5 rows) -- check \dconfig set work_mem = 10240; -- 2.49.0