Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 8076c8c

Browse files
committed
Come to think of it, we should check that commutator pairs have the same
merges/hashes property settings.
1 parent b259924 commit 8076c8c

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

src/test/regress/expected/opr_sanity.out

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,16 @@ WHERE (p1.oprcanmerge OR p1.oprcanhash) AND NOT
382382
-----+---------
383383
(0 rows)
384384

385+
-- What's more, the commutator had better be mergejoinable/hashjoinable too.
386+
SELECT p1.oid, p1.oprname, p2.oid, p2.oprname
387+
FROM pg_operator AS p1, pg_operator AS p2
388+
WHERE p1.oprcom = p2.oid AND
389+
(p1.oprcanmerge != p2.oprcanmerge OR
390+
p1.oprcanhash != p2.oprcanhash);
391+
oid | oprname | oid | oprname
392+
-----+---------+-----+---------
393+
(0 rows)
394+
385395
-- Mergejoinable operators should appear as equality members of btree index
386396
-- opfamilies.
387397
SELECT p1.oid, p1.oprname

src/test/regress/sql/opr_sanity.sql

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,14 @@ SELECT p1.oid, p1.oprname FROM pg_operator AS p1
315315
WHERE (p1.oprcanmerge OR p1.oprcanhash) AND NOT
316316
(p1.oprkind = 'b' AND p1.oprresult = 'bool'::regtype AND p1.oprcom != 0);
317317

318+
-- What's more, the commutator had better be mergejoinable/hashjoinable too.
319+
320+
SELECT p1.oid, p1.oprname, p2.oid, p2.oprname
321+
FROM pg_operator AS p1, pg_operator AS p2
322+
WHERE p1.oprcom = p2.oid AND
323+
(p1.oprcanmerge != p2.oprcanmerge OR
324+
p1.oprcanhash != p2.oprcanhash);
325+
318326
-- Mergejoinable operators should appear as equality members of btree index
319327
-- opfamilies.
320328

0 commit comments

Comments
 (0)