pgsql/ oc/src/sgml/catalogs.sgml rc/backend/ac ... - Mailing list pgsql-committers

From Tom Lane
Subject pgsql/ oc/src/sgml/catalogs.sgml rc/backend/ac ...
Date
Msg-id 200107152248.f6FMmJL74018@hub.org
Whole thread Raw
List pgsql-committers
CVSROOT:    /home/projects/pgsql/cvsroot
Module name:    pgsql
Changes by:    tgl@hub.org    01/07/15 18:48:19

Modified files:
    doc/src/sgml   : catalogs.sgml
    src/backend/access/common: indexvalid.c
    src/backend/access/gist: gist.c gistscan.c
    src/backend/access/hash: hash.c hashovfl.c hashpage.c hashscan.c
    src/backend/access/index: indexam.c
    src/backend/access/nbtree: Makefile README nbtinsert.c nbtpage.c
                               nbtree.c nbtsearch.c
    src/backend/access/rtree: rtree.c rtscan.c
    src/backend/access/transam: xact.c
    src/backend/bootstrap: bootstrap.c
    src/backend/catalog: heap.c index.c pg_operator.c
    src/backend/commands: command.c indexcmds.c vacuum.c
                          vacuumlazy.c
    src/backend/executor: execUtils.c nodeIndexscan.c nodeSeqscan.c
    src/backend/optimizer/util: plancat.c
    src/backend/utils/adt: datum.c
    src/bin/initdb : initdb.sh
    src/include/access: genam.h gist.h gistscan.h hash.h nbtree.h
                        rtree.h
    src/include/catalog: catversion.h index.h pg_am.h pg_index.h
                         pg_proc.h
    src/test/regress/expected: oidjoins.out opr_sanity.out
    src/test/regress/sql: oidjoins.sql
Removed files:
    src/backend/access/nbtree: nbtscan.c

Log message:
    Restructure index AM interface for index building and index tuple deletion,
    per previous discussion on pghackers.  Most of the duplicate code in
    different AMs' ambuild routines has been moved out to a common routine
    in index.c; this means that all index types now do the right things about
    inserting recently-dead tuples, etc.  (I also removed support for EXTEND
    INDEX in the ambuild routines, since that's about to go away anyway, and
    it cluttered the code a lot.)  The retail indextuple deletion routines have
    been replaced by a "bulk delete" routine in which the indexscan is inside
    the access method.  I haven't pushed this change as far as it should go yet,
    but it should allow considerable simplification of the internal bookkeeping
    for deletions.  Also, add flag columns to pg_am to eliminate various
    hardcoded tests on AM OIDs, and remove unused pg_am columns.

    Fix rtree and gist index types to not attempt to store NULLs; before this,
    gist usually crashed, while rtree managed not to crash but computed wacko
    bounding boxes for NULL entries (which might have had something to do with
    the performance problems we've heard about occasionally).

    Add AtEOXact routines to hash, rtree, and gist, all of which have static
    state that needs to be reset after an error.  We discovered this need long
    ago for btree, but missed the other guys.

    Oh, one more thing: concurrent VACUUM is now the default.


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql/src/test/regress input/misc.source outpu ...
Next
From: Bruce Momjian - CVS
Date:
Subject: pgsql/doc TODO