pgsql: Fix cost_rescan() to account for multi-batch hashing correctly. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Fix cost_rescan() to account for multi-batch hashing correctly.
Date
Msg-id E1bSWdd-00050z-2J@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix cost_rescan() to account for multi-batch hashing correctly.

cost_rescan assumed that we don't need to rebuild the hash table when
rescanning a hash join.  However, that's currently only true for
single-batch joins; for a multi-batch join we must charge full freight.

This probably has escaped notice because we'd be unlikely to put a hash
join on the inside of a nestloop anyway.  Nonetheless, it's wrong.
Fix in HEAD, but don't backpatch for fear of destabilizing plans in
stable releases.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/69995c3b3fd64361bb4d3938315f3e88ccc01e53

Modified Files
--------------
src/backend/optimizer/path/costsize.c | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)


pgsql-committers by date:

Previous
From: Robert Haas
Date:
Subject: pgsql: Fix thinko in copyParamList.
Next
From: Tom Lane
Date:
Subject: pgsql: tqueue.c's record-typmod hashtables need the HASH_BLOBS option.