postgresql/src/backend
Tom Lane 4816d2ea32 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.
2012-10-11 12:22:13 -04:00
..
access Fix silly bug in previous refactoring. 2012-10-09 19:33:12 +03:00
bootstrap Refactor flex and bison make rules 2012-10-11 06:57:04 -04:00
catalog Update obsolete comment. 2012-10-10 17:04:37 -04:00
commands Make CREATE AGGREGATE complain if the initcond is invalid for the datatype. 2012-10-04 17:54:53 -04:00
executor Fix cross-type case in partial row matching for hashed subplans. 2012-10-11 12:22:13 -04:00
foreign Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
lib Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
libpq Remove unnecessary overhead in backend's large-object operations. 2012-10-09 16:38:00 -04:00
main Unify calling conventions for postgres/postmaster sub-main functions 2012-06-25 21:30:12 +03:00
nodes Add support for easily declaring static inline functions 2012-10-08 16:28:01 -03:00
optimizer Fix typo in previous MSC commit. 2012-10-07 19:56:26 -04:00
parser Refactor flex and bison make rules 2012-10-11 06:57:04 -04:00
po Translation updates 2011-08-17 14:07:46 +03:00
port Remove misleading hints about reducing the System V request size. 2012-07-03 10:07:47 -04:00
postmaster Remove redundant code for getnameinfo() replacement 2012-10-04 21:45:14 -04:00
regex Prevent corner-case core dump in rfree(). 2012-07-15 13:27:54 -04:00
replication Improve replication connection timeouts. 2012-10-11 17:48:08 +03:00
rewrite Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
snowball Remove configure flag --disable-shared, as it is no longer used by any 2012-08-30 16:26:53 -04:00
storage Remove unnecessary overhead in backend's large-object operations. 2012-10-09 16:38:00 -04:00
tcop Say ANALYZE, not VACUUM, in error message on analyze in hot standby. 2012-10-08 14:17:27 +03:00
tsearch Fix logical errors in tsquery selectivity estimation for prefix queries. 2012-09-11 21:23:20 -04:00
utils Improve replication connection timeouts. 2012-10-11 17:48:08 +03:00
.gitignore Add gitignore for mingw/cygwin build outputs 2011-06-09 18:11:47 +02:00
Makefile Fix PGXS support for building loadable modules on AIX. 2012-10-09 21:04:06 -04:00
common.mk Call check_keywords.pl in maintainer-check 2012-02-27 13:53:12 +02:00
nls.mk Sort file list when creating gettext-files 2011-12-27 20:20:56 +02:00