summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorTom Lane2012-10-11 16:21:24 +0000
committerTom Lane2012-10-11 16:21:24 +0000
commit55eaeef0b9314c40b7124ae37b33e0d61383bf3d (patch)
treedf8baad0ca000faa5f8d17fb370c1bbd19029f89 /doc/src
parentfacc2047feda0c6fc4d2028f36f5a73d6c5cfc76 (diff)
Fix cross-type case in partial row matching for hashed subplans.
When hashing a subplan like "WHERE (a, b) NOT IN (SELECT x, y FROM ...)", findPartialMatch() attempted to match rows using the hashtable's internal equality operators, which of course are for x and y's datatypes. What we need to use are the potentially cross-type operators for a=x, b=y, etc. Failure to do that leads to wrong answers or even crashes. The scope for problems is limited to cases where we have different types with compatible hash functions (else we'd not be using a hashed subplan), but for example int4 vs int8 can cause the problem. Per bug #7597 from Bo Jensen. This has been wrong since the hashed-subplan code was written, so patch all the way back.
Diffstat (limited to 'doc/src')
0 files changed, 0 insertions, 0 deletions