]> granicus.if.org Git - postgresql/commitdiff
Remove unreferenced pg_opfamily entry.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 5 Nov 2018 17:02:27 +0000 (12:02 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 5 Nov 2018 17:02:27 +0000 (12:02 -0500)
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

src/include/catalog/catversion.h
src/include/catalog/pg_opfamily.dat
src/test/regress/expected/opr_sanity.out
src/test/regress/sql/opr_sanity.sql

index 17f8e3005a03493c6f88e1a43071273d625abfbc..14fc4ddda85d79329674e5370f7344d846476a2a 100644 (file)
@@ -53,6 +53,6 @@
  */
 
 /*                                                     yyyymmddN */
-#define CATALOG_VERSION_NO     201811012
+#define CATALOG_VERSION_NO     201811051
 
 #endif
index 20b2224c54dc569d1023d51d6cd0dff34eefa17c..21473acf348db02e0d4388647fc2aa7a03218a6a 100644 (file)
   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',
index 69ea821a0cf176dd22522d9521ac19756e6e7955..c073a5ac3fac4b624c3090c5df152f387293f0ae 100644 (file)
@@ -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
index b155d90b11b482f8934db1d81bfba561d4ce87f6..91c68f4204e34cef55c2e01e1fa08d130a018127 100644 (file)
@@ -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 ****************