Обсуждение: pgsql: Fix CREATE INDEX CONCURRENTLY so that it won't use synchronized

Поиск
Список
Период
Сортировка

pgsql: Fix CREATE INDEX CONCURRENTLY so that it won't use synchronized

От
tgl@postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
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.

Modified Files:
--------------
    pgsql/src/backend/access/heap:
        heapam.c (r1.247 -> r1.248)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/heapam.c?r1=1.247&r2=1.248)
    pgsql/src/backend/catalog:
        index.c (r1.290 -> r1.291)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/index.c?r1=1.290&r2=1.291)
    pgsql/src/include/access:
        heapam.h (r1.129 -> r1.130)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/heapam.h?r1=1.129&r2=1.130)
        relscan.h (r1.59 -> r1.60)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/relscan.h?r1=1.59&r2=1.60)