Skip site navigation (1) Skip section navigation (2)

pgsql: Add SP-GiST (space-partitioned GiST) index access method.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Add SP-GiST (space-partitioned GiST) index access method.
Date: 2011-12-17 21:42:48
Message-ID: E1Rc21o-0003kD-U4@gemulon.postgresql.org (view raw or flat)
Thread:
Lists: pgsql-committers
Add SP-GiST (space-partitioned GiST) index access method.

SP-GiST is comparable to GiST in flexibility, but supports non-balanced
partitioned search structures rather than balanced trees.  As described at
PGCon 2011, this new indexing structure can beat GiST in both index build
time and query speed for search problems that it is well matched to.

There are a number of areas that could still use improvement, but at this
point the code seems committable.

Teodor Sigaev and Oleg Bartunov, with considerable revisions by Tom Lane

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/8daeb5ddd698f661eb118f8e874e7c68cfd6ae09

Modified Files
--------------
doc/src/sgml/acronyms.sgml                  |    9 +
doc/src/sgml/filelist.sgml                  |    1 +
doc/src/sgml/indices.sgml                   |   35 +-
doc/src/sgml/mvcc.sgml                      |    8 +-
doc/src/sgml/postgres.sgml                  |    1 +
doc/src/sgml/ref/alter_opfamily.sgml        |    8 +-
doc/src/sgml/ref/create_index.sgml          |   51 +-
doc/src/sgml/ref/create_opclass.sgml        |    4 +-
doc/src/sgml/ref/create_table.sgml          |    3 +-
doc/src/sgml/spgist.sgml                    |  706 +++++++++
doc/src/sgml/xindex.sgml                    |  118 ++-
src/backend/access/Makefile                 |    2 +-
src/backend/access/common/reloptions.c      |    9 +
src/backend/access/spgist/Makefile          |   19 +
src/backend/access/spgist/README            |  316 ++++
src/backend/access/spgist/spgdoinsert.c     | 2065 +++++++++++++++++++++++++++
src/backend/access/spgist/spginsert.c       |  219 +++
src/backend/access/spgist/spgkdtreeproc.c   |  298 ++++
src/backend/access/spgist/spgquadtreeproc.c |  360 +++++
src/backend/access/spgist/spgscan.c         |  543 +++++++
src/backend/access/spgist/spgtextproc.c     |  594 ++++++++
src/backend/access/spgist/spgutils.c        |  850 +++++++++++
src/backend/access/spgist/spgvacuum.c       |  755 ++++++++++
src/backend/access/spgist/spgxlog.c         | 1070 ++++++++++++++
src/backend/access/transam/rmgr.c           |    4 +-
src/backend/utils/adt/selfuncs.c            |   20 +
src/include/access/gin_private.h            |    4 +
src/include/access/reloptions.h             |    3 +-
src/include/access/rmgr.h                   |    4 +-
src/include/access/spgist.h                 |  199 +++
src/include/access/spgist_private.h         |  609 ++++++++
src/include/catalog/catversion.h            |    2 +-
src/include/catalog/pg_am.h                 |   11 +-
src/include/catalog/pg_amop.h               |   33 +
src/include/catalog/pg_amproc.h             |   18 +
src/include/catalog/pg_opclass.h            |    3 +
src/include/catalog/pg_opfamily.h           |    3 +
src/include/catalog/pg_proc.h               |   62 +
src/include/utils/builtins.h                |   20 +
src/include/utils/selfuncs.h                |    1 +
src/test/regress/expected/create_index.out  | 1110 ++++++++++++++-
src/test/regress/expected/opr_sanity.out    |   56 +-
src/test/regress/expected/sanity_check.out  |    5 +-
src/test/regress/output/misc.source         |    5 +-
src/test/regress/sql/create_index.sql       |  290 ++++-
src/test/regress/sql/opr_sanity.sql         |   32 +
46 files changed, 10416 insertions(+), 122 deletions(-)

pgsql-committers by date

Next:From: Tom LaneDate: 2011-12-17 21:52:00
Subject: pgsql: Fix compiler warning seen on 64-bit machine.
Previous:From: Thom BrownDate: 2011-12-17 21:36:59
Subject: Re: pgsql: Add --section option to pg_dump and pg_restore.

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group