aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2018-11-05 12:02:27 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2018-11-05 12:02:27 -0500
commit55f3d1029676ad53621716fd15faed5848c9f4cd (patch)
treee14a3b2dbed3a82951f3223a799c39d291ad8764 /src
parent1eaeb02a30b307bad4d6a9cc2d596273a5a38a7a (diff)
downloadpostgresql-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.h2
-rw-r--r--src/include/catalog/pg_opfamily.dat2
-rw-r--r--src/test/regress/expected/opr_sanity.out10
-rw-r--r--src/test/regress/sql/opr_sanity.sql8
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 ****************