diff options
| author | Tom Lane | 2016-11-29 20:05:22 +0000 |
|---|---|---|
| committer | Tom Lane | 2016-11-29 20:05:22 +0000 |
| commit | ade49c605f1d8f517497829363f8b83f69c73a60 (patch) | |
| tree | 95ac16d5feb33f0fc017c2973e5afee303cdfd95 /contrib/pg_trgm | |
| parent | 11da83a0e70d32ed0e06a5c948cd8343f8ad5102 (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/pg_trgm')
| -rw-r--r-- | contrib/pg_trgm/expected/pg_trgm.out | 8 | ||||
| -rw-r--r-- | contrib/pg_trgm/sql/pg_trgm.sql | 5 |
2 files changed, 13 insertions, 0 deletions
diff --git a/contrib/pg_trgm/expected/pg_trgm.out b/contrib/pg_trgm/expected/pg_trgm.out index 9bc55f1d0d3..f646cbf90af 100644 --- a/contrib/pg_trgm/expected/pg_trgm.out +++ b/contrib/pg_trgm/expected/pg_trgm.out @@ -1,4 +1,12 @@ CREATE EXTENSION pg_trgm; +-- Check whether any of our opclasses fail amvalidate +SELECT amname, opcname +FROM pg_opclass opc LEFT JOIN pg_am am ON am.oid = opcmethod +WHERE opc.oid >= 16384 AND NOT amvalidate(opc.oid); + amname | opcname +--------+--------- +(0 rows) + select show_trgm(''); show_trgm ----------- diff --git a/contrib/pg_trgm/sql/pg_trgm.sql b/contrib/pg_trgm/sql/pg_trgm.sql index 244946bb8db..34d0614edbc 100644 --- a/contrib/pg_trgm/sql/pg_trgm.sql +++ b/contrib/pg_trgm/sql/pg_trgm.sql @@ -1,5 +1,10 @@ CREATE EXTENSION pg_trgm; +-- Check whether any of our opclasses fail amvalidate +SELECT amname, opcname +FROM pg_opclass opc LEFT JOIN pg_am am ON am.oid = opcmethod +WHERE opc.oid >= 16384 AND NOT amvalidate(opc.oid); + select show_trgm(''); select show_trgm('(*&^$@%@'); select show_trgm('a b c'); |
