summaryrefslogtreecommitdiff
path: root/contrib/isn/sql
diff options
context:
space:
mode:
authorTom Lane2016-11-29 20:05:22 +0000
committerTom Lane2016-11-29 20:05:22 +0000
commitade49c605f1d8f517497829363f8b83f69c73a60 (patch)
tree95ac16d5feb33f0fc017c2973e5afee303cdfd95 /contrib/isn/sql
parent11da83a0e70d32ed0e06a5c948cd8343f8ad5102 (diff)
Test all contrib-created operator classes with amvalidate.
I'd supposed that people would do this manually when creating new operator classes, but the folly of that was exposed today. The tests seem fast enough that we can just apply them during the normal regression tests. contrib/isn fails the checks for lack of complete sets of cross-type operators. That's a nice-to-have policy rather than a functional requirement, so leave it as-is, but insert ORDER BY in the query to ensure consistent cross-platform output. Discussion: https://postgr.es/m/7076.1480446837@sss.pgh.pa.us
Diffstat (limited to 'contrib/isn/sql')
-rw-r--r--contrib/isn/sql/isn.sql9
1 files changed, 9 insertions, 0 deletions
diff --git a/contrib/isn/sql/isn.sql b/contrib/isn/sql/isn.sql
index 5ef6d8aa3be..71577d5590f 100644
--- a/contrib/isn/sql/isn.sql
+++ b/contrib/isn/sql/isn.sql
@@ -4,6 +4,15 @@
CREATE EXTENSION isn;
+-- Check whether any of our opclasses fail amvalidate
+-- ... they will, because of missing cross-type operators
+SELECT amname, opcname
+FROM (SELECT amname, opcname, opc.oid
+ FROM pg_opclass opc LEFT JOIN pg_am am ON am.oid = opcmethod
+ WHERE opc.oid >= 16384
+ ORDER BY 1, 2 OFFSET 0) ss
+WHERE NOT amvalidate(oid);
+
--
-- test valid conversions
--