postgresql/src/include
Heikki Linnakangas 1d27dcf578 Fix bug in gistRelocateBuildBuffersOnSplit().
When we create a temporary copy of the old node buffer, in stack, we mustn't
leak that into any of the long-lived data structures. Before this patch,
when we called gistPopItupFromNodeBuffer(), it got added to the array of
"loaded buffers". After gistRelocateBuildBuffersOnSplit() exits, the
pointer added to the loaded buffers array points to garbage. Often that goes
unnotied, because when we go through the array of loaded buffers to unload
them, buffers with a NULL pageBuffer are ignored, which can often happen by
accident even if the pointer points to garbage.

This patch fixes that by marking the temporary copy in stack explicitly as
temporary, and refrain from adding buffers marked as temporary to the array
of loaded buffers.

While we're at it, initialize nodeBuffer->pageBlocknum to InvalidBlockNumber
and improve comments a bit. This isn't strictly necessary, but makes
debugging easier.
2012-05-18 19:38:32 +03:00
..
access Fix bug in gistRelocateBuildBuffersOnSplit(). 2012-05-18 19:38:32 +03:00
bootstrap Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
catalog Prevent loss of init fork when truncating an unlogged table. 2012-05-11 09:48:56 -04:00
commands Allow statistics to be collected for foreign tables. 2012-04-06 15:02:35 -04:00
datatype Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
executor Rename I/O timing statistics columns to blk_read_time and blk_write_time. 2012-04-29 18:13:33 -04:00
foreign Dept of second thoughts: improve the API for AnalyzeForeignTable. 2012-04-06 16:04:10 -04:00
lib Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
libpq Remove arbitrary limitation on length of common name in SSL certificates. 2012-02-23 15:48:04 -05:00
mb Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
nodes Recast "ONLY" column CHECK constraints as NO INHERIT 2012-04-20 23:56:57 -03:00
optimizer Fix planner's handling of RETURNING lists in writable CTEs. 2012-04-25 20:20:33 -04:00
parser Change COLLATION keyword category 2012-05-16 20:19:44 +03:00
port Remove BSD/OS (BSDi) port. There are no known users upgrading to 2012-05-03 10:58:44 -04:00
portability Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
postmaster Improve control logic for bgwriter hibernation mode. 2012-05-09 23:37:10 -04:00
regex Avoid repeated creation/freeing of per-subre DFAs during regex search. 2012-02-24 18:40:30 -05:00
replication Various minor comments changes from bgwriter to checkpointer. 2012-01-30 14:34:25 +00:00
rewrite Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
snowball Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
storage Update comments that became out-of-date with the PGXACT struct. 2012-05-14 10:28:55 +03:00
tcop Restructure SELECT INTO's parsetree representation into CreateTableAsStmt. 2012-03-19 21:38:12 -04:00
tsearch Remove duplicate words in comments. 2012-05-02 10:20:27 +03:00
utils Avoid repeated CLOG access from heap_hot_search_buffer. 2012-05-02 12:40:07 -04:00
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
c.h Remove leftovers of BeOS port 2012-05-14 04:50:39 +03:00
fmgr.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
funcapi.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
getaddrinfo.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
getopt_long.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
Makefile Fix server header file installation with vpath builds 2011-11-10 20:52:54 +02:00
miscadmin.h Do stack-depth checking in all postmaster children. 2012-04-08 19:07:55 +03:00
pg_config.h.in Put back AC_REQUIRE([AC_STRUCT_TM]). 2012-05-14 23:06:48 -04:00
pg_config.h.win32 Remove leftovers of BeOS port 2012-05-14 04:50:39 +03:00
pg_config_manual.h Use LWSYNC in place of SYNC/ISYNC in PPC spinlocks, where possible. 2012-01-02 00:02:02 -05:00
pg_trace.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
pgstat.h Converge all SQL-level statistics timing values to float8 milliseconds. 2012-04-30 14:03:33 -04:00
pgtime.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
port.h Remove strdup, strtol, strtoul from libpgport 2012-05-07 23:10:28 +03:00
postgres.h Change return type of ExceptionalCondition to void and mark it noreturn 2012-04-29 21:20:14 +03:00
postgres_ext.h Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
postgres_fe.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
rusagestub.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
windowapi.h Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00