Fix two bugs in tsquery @> operator.
1. The comparison for matching terms used only the CRC to decide if there's
a match. Two different terms with the same CRC gave a match.
2. It assumed that if the second operand has more terms than the first, it's
never a match. That assumption is bogus, because there can be duplicate
terms in either operand.
Rewrite the implementation in a way that doesn't have those bugs.
Backpatch to all supported versions.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/22926e00f7041b2b542f80caf63b41faa99a3163
Modified Files
--------------
src/backend/utils/adt/tsquery_op.c | 131 +++++++++++++++++++++++++-----------
1 file changed, 90 insertions(+), 41 deletions(-)