aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/gist
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2008-11-13 17:42:10 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2008-11-13 17:42:10 +0000
commit10e3acb8e7bd3298ba2b942f86c18f5ba2e142a8 (patch)
tree19bf64481b48aa0f21669a994958fb7c4be2645f /src/backend/access/gist
parent3379fae6de5994b242cedfa48cf613ecfee3db24 (diff)
downloadpostgresql-10e3acb8e7bd3298ba2b942f86c18f5ba2e142a8.tar.gz
postgresql-10e3acb8e7bd3298ba2b942f86c18f5ba2e142a8.zip
Prevent synchronous scan during GIN index build, because GIN is optimized
for inserting tuples in increasing TID order. It's not clear whether this fully explains Ivan Sergio Borgonovo's complaint, but simple testing confirms that a scan that doesn't start at block 0 can slow GIN build by a factor of three or four. Backpatch to 8.3. Sync scan didn't exist before that.
Diffstat (limited to 'src/backend/access/gist')
-rw-r--r--src/backend/access/gist/gist.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/access/gist/gist.c b/src/backend/access/gist/gist.c
index e1f068ee7bc..1dff6d2f2ae 100644
--- a/src/backend/access/gist/gist.c
+++ b/src/backend/access/gist/gist.c
@@ -8,7 +8,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/access/gist/gist.c,v 1.153 2008/11/03 20:47:48 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/access/gist/gist.c,v 1.154 2008/11/13 17:42:09 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -152,7 +152,7 @@ gistbuild(PG_FUNCTION_ARGS)
buildstate.tmpCtx = createTempGistContext();
/* do the heap scan */
- reltuples = IndexBuildHeapScan(heap, index, indexInfo,
+ reltuples = IndexBuildHeapScan(heap, index, indexInfo, true,
gistbuildCallback, (void *) &buildstate);
/* okay, all heap tuples are indexed */