diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2018-11-05 12:02:27 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2018-11-05 12:02:27 -0500 |
commit | 55f3d1029676ad53621716fd15faed5848c9f4cd (patch) | |
tree | e14a3b2dbed3a82951f3223a799c39d291ad8764 /src | |
parent | 1eaeb02a30b307bad4d6a9cc2d596273a5a38a7a (diff) | |
download | postgresql-55f3d1029676ad53621716fd15faed5848c9f4cd.tar.gz postgresql-55f3d1029676ad53621716fd15faed5848c9f4cd.zip |
Remove unreferenced pg_opfamily entry.
The entry with OID 4035, for GIST jsonb_ops, is unused; apparently
it was added in preparation for index support that never materialized.
Remove it, and add a regression test case to detect future mistakes
of the same kind.
Discussion: https://postgr.es/m/17188.1541379745@sss.pgh.pa.us
Diffstat (limited to 'src')
-rw-r--r-- | src/include/catalog/catversion.h | 2 | ||||
-rw-r--r-- | src/include/catalog/pg_opfamily.dat | 2 | ||||
-rw-r--r-- | src/test/regress/expected/opr_sanity.out | 10 | ||||
-rw-r--r-- | src/test/regress/sql/opr_sanity.sql | 8 |
4 files changed, 19 insertions, 3 deletions
diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h index 17f8e3005a0..14fc4ddda85 100644 --- a/src/include/catalog/catversion.h +++ b/src/include/catalog/catversion.h @@ -53,6 +53,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 201811012 +#define CATALOG_VERSION_NO 201811051 #endif diff --git a/src/include/catalog/pg_opfamily.dat b/src/include/catalog/pg_opfamily.dat index 20b2224c54d..21473acf348 100644 --- a/src/include/catalog/pg_opfamily.dat +++ b/src/include/catalog/pg_opfamily.dat @@ -172,8 +172,6 @@ opfmethod => 'btree', opfname => 'jsonb_ops' }, { oid => '4034', opfmethod => 'hash', opfname => 'jsonb_ops' }, -{ oid => '4035', - opfmethod => 'gist', opfname => 'jsonb_ops' }, { oid => '4036', opfmethod => 'gin', opfname => 'jsonb_ops' }, { oid => '4037', diff --git a/src/test/regress/expected/opr_sanity.out b/src/test/regress/expected/opr_sanity.out index 69ea821a0cf..c073a5ac3fa 100644 --- a/src/test/regress/expected/opr_sanity.out +++ b/src/test/regress/expected/opr_sanity.out @@ -1686,6 +1686,16 @@ WHERE p1.opfmethod = 0 OR p1.opfnamespace = 0; ----- (0 rows) +-- Look for opfamilies having no opclasses. While most validation of +-- opfamilies is now handled by AM-specific amvalidate functions, that's +-- driven from pg_opclass entries below, so an empty opfamily would not +-- get noticed. +SELECT oid, opfname FROM pg_opfamily f +WHERE NOT EXISTS (SELECT 1 FROM pg_opclass WHERE opcfamily = f.oid); + oid | opfname +-----+--------- +(0 rows) + -- **************** pg_opclass **************** -- Look for illegal values in pg_opclass fields SELECT p1.oid diff --git a/src/test/regress/sql/opr_sanity.sql b/src/test/regress/sql/opr_sanity.sql index b155d90b11b..91c68f4204e 100644 --- a/src/test/regress/sql/opr_sanity.sql +++ b/src/test/regress/sql/opr_sanity.sql @@ -1122,6 +1122,14 @@ SELECT p1.oid FROM pg_opfamily as p1 WHERE p1.opfmethod = 0 OR p1.opfnamespace = 0; +-- Look for opfamilies having no opclasses. While most validation of +-- opfamilies is now handled by AM-specific amvalidate functions, that's +-- driven from pg_opclass entries below, so an empty opfamily would not +-- get noticed. + +SELECT oid, opfname FROM pg_opfamily f +WHERE NOT EXISTS (SELECT 1 FROM pg_opclass WHERE opcfamily = f.oid); + -- **************** pg_opclass **************** |