postgresql/src/backend
Robert Haas 4da99ea423 Avoid having two copies of the HOT-chain search logic.
It's been like this since HOT was originally introduced, but the logic
is complex enough that this is a recipe for bugs, as we've already
found out with SSI.  So refactor heap_hot_search_buffer() so that it
can satisfy the needs of index_getnext(), and make index_getnext() use
that rather than duplicating the logic.

This change was originally proposed by Heikki Linnakangas as part of a
larger refactoring oriented towards allowing index-only scans.  I
extracted and adjusted this part, since it seems to have independent
merit.  Review by Jeff Davis.
2011-06-27 10:27:17 -04:00
..
access Avoid having two copies of the HOT-chain search logic. 2011-06-27 10:27:17 -04:00
bootstrap Capitalization fixes 2011-06-19 00:37:30 +03:00
catalog Add information schema views role_udt_grants, udt_privileges, user_defined_types 2011-06-23 22:12:46 +03:00
commands Make the visibility map crash-safe. 2011-06-21 23:04:40 -04:00
executor Avoid having two copies of the HOT-chain search logic. 2011-06-27 10:27:17 -04:00
foreign Clean up most -Wunused-but-set-variable warnings from gcc 4.6 2011-04-11 22:28:45 +03:00
lib Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
libpq Pgindent run before 9.1 beta2. 2011-06-09 14:32:50 -04:00
main Pgindent run before 9.1 beta2. 2011-06-09 14:32:50 -04:00
nodes Avoid compiler warnings due to possibly unused variables 2011-06-16 23:43:56 +03:00
optimizer Add notion of a "transform function" that can simplify function calls. 2011-06-21 22:21:24 -04:00
parser Add smallserial pseudotype. 2011-06-21 22:52:52 -04:00
po Fixed string in German translation that causes segfault. 2011-06-20 13:53:15 +02:00
port Capitalization fixes 2011-06-19 00:37:30 +03:00
postmaster Make external_pid_file world readable 2011-06-19 00:34:32 +03:00
regex Pgindent run before 9.1 beta2. 2011-06-09 14:32:50 -04:00
replication Add missing -I switch for VPATH builds. 2011-06-22 13:20:03 -04:00
rewrite Index tuple data arrays using Anum_xxx symbolic constants instead of "i++". 2011-06-16 17:04:40 -04:00
snowball Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
storage Undo overly enthusiastic de-const-ification. 2011-06-22 23:04:46 -04:00
tcop Refactor broken CREATE TABLE IF NOT EXISTS support. 2011-04-25 16:55:11 -04:00
tsearch Pgindent run before 9.1 beta2. 2011-06-09 14:32:50 -04:00
utils Make deadlock_timeout PGC_SUSET rather than PGC_SIGHUP. 2011-06-21 22:36:59 -04:00
.gitignore Add gitignore for mingw/cygwin build outputs 2011-06-09 18:11:47 +02:00
Makefile Fix symlink for errcodes.h so it works in VPATH builds from tarballs. 2011-06-22 13:08:08 -04:00
common.mk Workaround for recursive make breakage 2011-01-13 09:32:06 +02:00
nls.mk Add the possibility to pass --flag arguments to xgettext calls 2011-06-27 00:37:21 +03:00