postgresql/src/include/access
Tom Lane 37e9992214 Install a search tree depth limit in GIN bulk-insert operations, to prevent
them from degrading badly when the input is sorted or nearly so.  In this
scenario the tree is unbalanced to the point of becoming a mere linked list,
so insertions become O(N^2).  The easiest and most safely back-patchable
solution is to stop growing the tree sooner, ie limit the growth of N.  We
might later consider a rebalancing tree algorithm, but it's not clear that
the benefit would be worth the cost and complexity.  Per report from Sergey
Burladyan and an earlier complaint from Heikki.

Back-patch to 8.2; older versions didn't have GIN indexes.
2009-03-24 22:06:32 +00:00
..
attnum.h Defend against JOINs having more than 32K columns altogether. We cannot 2008-04-05 01:58:35 +00:00
clog.h Fix recently-understood problems with handling of XID freezing, particularly 2006-11-05 22:42:10 +00:00
genam.h Change the relation_open protocol so that we obtain lock on a relation 2006-07-31 20:09:10 +00:00
gin.h Install a search tree depth limit in GIN bulk-insert operations, to prevent 2009-03-24 22:06:32 +00:00
gist.h pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
gist_private.h Fix GiST's killing tuple: GISTScanOpaque->curpos wasn't 2008-10-22 12:55:59 +00:00
gistscan.h Allow include files to compile own their own. 2006-07-13 16:49:20 +00:00
hash.h Fix performance problems in multi-batch hash joins by ensuring that we select 2007-06-01 15:58:02 +00:00
heapam.h Fix recently-understood problems with handling of XID freezing, particularly 2006-11-05 22:42:10 +00:00
hio.h pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
htup.h Fix recently-understood problems with handling of XID freezing, particularly 2006-11-05 22:42:10 +00:00
itup.h Allow include files to compile own their own. 2006-07-13 16:49:20 +00:00
multixact.h Repair two related errors in heap_lock_tuple: it was failing to recognize 2006-11-17 18:00:15 +00:00
nbtree.h Repair two places where SIGTERM exit could leave shared memory state 2008-04-17 00:00:01 +00:00
printtup.h Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
reloptions.h pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
relscan.h pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
rmgr.h Fix recently-understood problems with handling of XID freezing, particularly 2006-11-05 22:42:10 +00:00
sdir.h Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
skey.h pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
slru.h pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
subtrans.h Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
transam.h Fix recently-understood problems with handling of XID freezing, particularly 2006-11-05 22:42:10 +00:00
tupdesc.h pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
tupmacs.h Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
tuptoaster.h Don't MAXALIGN in the checks to decide whether a tuple is over TOAST's 2007-02-04 20:00:49 +00:00
twophase.h Allow include files to compile own their own. 2006-07-13 16:49:20 +00:00
twophase_rmgr.h Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
valid.h Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
xact.h Fix PREPARE TRANSACTION to reject the case where the transaction has dropped a 2008-03-04 19:54:23 +00:00
xlog.h Fix recently-understood problems with handling of XID freezing, particularly 2006-11-05 22:42:10 +00:00
xlog_internal.h pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
xlogdefs.h Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
xlogutils.h Make the world safe for full_page_writes. Allow XLOG records that try to 2006-04-14 20:27:24 +00:00