Fix CREATE INDEX CONCURRENTLY so that it won't use synchronized scan for

Tom Lane <tgl@sss.pgh.pa.us>

Commit: d3b1b1f9d8d70017bf3e8e4ccf11b183d11389b9
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2008-01-14T01:39:09Z
Releases: 8.3.0
Fix CREATE INDEX CONCURRENTLY so that it won't use synchronized scan for
its second pass over the table.  It has to start at block zero, else the
"merge join" logic for detecting which TIDs are already in the index
doesn't work.  Hence, extend heapam.c's API so that callers can enable or
disable syncscan.  (I put in an option to disable buffer access strategy,
too, just in case somebody needs it.)  Per report from Hannes Dorbath.

Files

PathChange+/−
src/backend/access/heap/heapam.c modified +51 −13
src/backend/catalog/index.c modified +11 −7
src/include/access/heapam.h modified +4 −1
src/include/access/relscan.h modified +3 −1