pgsql: Rewrite btree vacuuming to fold the former bulkdelete and cleanup

Поиск
Список
Период
Сортировка
От tgl@postgresql.org (Tom Lane)
Тема pgsql: Rewrite btree vacuuming to fold the former bulkdelete and cleanup
Дата
Msg-id 20060508000018.14CD89FA2FA@postgresql.org
обсуждение исходный текст
Список pgsql-committers
Log Message:
-----------
Rewrite btree vacuuming to fold the former bulkdelete and cleanup operations
into a single mostly-physical-order scan of the index.  This requires some
ticklish interlocking considerations, but should create no material
performance impact on normal index operations (at least given the
already-committed changes to make scans work a page at a time).  VACUUM
itself should get significantly faster in any index that's degenerated to a
very nonlinear page order.  Also, we save one pass over the index entirely,
except in the case where there were no deletions to do and so only one pass
happened anyway.

Original patch by Heikki Linnakangas, rework by Tom Lane.

Modified Files:
--------------
    pgsql/src/backend/access/nbtree:
        README (r1.11 -> r1.12)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/README.diff?r1=1.11&r2=1.12)
        nbtinsert.c (r1.136 -> r1.137)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtinsert.c.diff?r1=1.136&r2=1.137)
        nbtpage.c (r1.96 -> r1.97)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtpage.c.diff?r1=1.96&r2=1.97)
        nbtree.c (r1.147 -> r1.148)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtree.c.diff?r1=1.147&r2=1.148)
        nbtsort.c (r1.100 -> r1.101)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtsort.c.diff?r1=1.100&r2=1.101)
        nbtutils.c (r1.73 -> r1.74)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtutils.c.diff?r1=1.73&r2=1.74)
        nbtxlog.c (r1.32 -> r1.33)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtxlog.c.diff?r1=1.32&r2=1.33)
    pgsql/src/backend/storage/ipc:
        ipci.c (r1.82 -> r1.83)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/ipc/ipci.c.diff?r1=1.82&r2=1.83)
    pgsql/src/include/access:
        nbtree.h (r1.97 -> r1.98)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/nbtree.h.diff?r1=1.97&r2=1.98)
    pgsql/src/include/storage:
        lwlock.h (r1.27 -> r1.28)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/lwlock.h.diff?r1=1.27&r2=1.28)

В списке pgsql-committers по дате отправления:

Предыдущее
От: jwp@pgfoundry.org (James William Pye)
Дата:
Сообщение: python - pkg: Include 'ctl' in package.
Следующее
От: jwp@pgfoundry.org (James William Pye)
Дата:
Сообщение: python - pq: Handle NULL messages in Executing transactions.