From: | Teodor Sigaev <teodor(at)sigaev(dot)ru> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: CREATE INDEX ... INCLUDING (column[, ...]) |
Date: | 2016-04-08 16:46:07 |
Message-ID: | E1aoZXr-00038W-EP@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers pgsql-hackers |
CREATE INDEX ... INCLUDING (column[, ...])
Now indexes (but only B-tree for now) can contain "extra" column(s) which
doesn't participate in index structure, they are just stored in leaf
tuples. It allows to use index only scan by using single index instead
of two or more indexes.
Author: Anastasia Lubennikova with minor editorializing by me
Reviewers: David Rowley, Peter Geoghegan, Jeff Janes
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/386e3d7609c49505e079c40c65919d99feb82505
Modified Files
--------------
contrib/dblink/dblink.c | 26 +--
contrib/tcn/tcn.c | 6 +-
doc/src/sgml/catalogs.sgml | 8 +
doc/src/sgml/indexam.sgml | 5 +-
doc/src/sgml/indices.sgml | 7 +-
doc/src/sgml/ref/create_index.sgml | 41 +++-
doc/src/sgml/ref/create_table.sgml | 36 ++-
src/backend/access/brin/brin.c | 1 +
src/backend/access/common/indextuple.c | 31 +++
src/backend/access/gin/ginutil.c | 1 +
src/backend/access/gist/gist.c | 1 +
src/backend/access/hash/hash.c | 1 +
src/backend/access/index/genam.c | 16 +-
src/backend/access/nbtree/nbtinsert.c | 45 +++-
src/backend/access/nbtree/nbtpage.c | 5 +-
src/backend/access/nbtree/nbtree.c | 1 +
src/backend/access/nbtree/nbtsearch.c | 2 +
src/backend/access/nbtree/nbtsort.c | 48 +++-
src/backend/access/nbtree/nbtutils.c | 25 ++-
src/backend/access/spgist/spgutils.c | 1 +
src/backend/bootstrap/bootparse.y | 2 +
src/backend/bootstrap/bootstrap.c | 2 +-
src/backend/catalog/heap.c | 3 +-
src/backend/catalog/index.c | 45 ++--
src/backend/catalog/indexing.c | 1 +
src/backend/catalog/pg_constraint.c | 26 ++-
src/backend/catalog/toasting.c | 1 +
src/backend/commands/indexcmds.c | 60 +++--
src/backend/commands/matview.c | 6 +-
src/backend/commands/tablecmds.c | 9 +-
src/backend/commands/trigger.c | 1 +
src/backend/commands/typecmds.c | 1 +
src/backend/executor/execIndexing.c | 14 +-
src/backend/executor/nodeIndexscan.c | 8 +-
src/backend/nodes/copyfuncs.c | 2 +
src/backend/nodes/equalfuncs.c | 2 +
src/backend/nodes/outfuncs.c | 3 +
src/backend/optimizer/path/indxpath.c | 2 +-
src/backend/optimizer/path/pathkeys.c | 7 +
src/backend/optimizer/util/plancat.c | 32 +--
src/backend/parser/analyze.c | 6 +-
src/backend/parser/gram.y | 57 +++--
src/backend/parser/parse_relation.c | 2 +-
src/backend/parser/parse_target.c | 2 +-
src/backend/parser/parse_utilcmd.c | 121 +++++++++--
src/backend/utils/adt/ruleutils.c | 32 +++
src/backend/utils/adt/selfuncs.c | 4 +-
src/backend/utils/cache/relcache.c | 83 ++++---
src/backend/utils/sort/tuplesort.c | 5 +-
src/bin/pg_dump/pg_dump.c | 65 +++++-
src/bin/pg_dump/pg_dump.h | 6 +-
src/include/access/amapi.h | 2 +
src/include/access/itup.h | 2 +
src/include/access/nbtree.h | 3 +-
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_constraint.h | 23 +-
src/include/catalog/pg_constraint_fn.h | 21 +-
src/include/catalog/pg_index.h | 38 ++--
src/include/nodes/execnodes.h | 9 +-
src/include/nodes/parsenodes.h | 5 +-
src/include/nodes/relation.h | 13 +-
src/include/utils/rel.h | 16 +-
src/test/regress/expected/create_index.out | 19 ++
src/test/regress/expected/index_including.out | 301 ++++++++++++++++++++++++++
src/test/regress/parallel_schedule | 2 +-
src/test/regress/serial_schedule | 1 +
src/test/regress/sql/create_index.sql | 20 ++
src/test/regress/sql/index_including.sql | 181 ++++++++++++++++
68 files changed, 1320 insertions(+), 255 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Dunstan | 2016-04-08 16:50:36 | pgsql: Silence warning from modern perl about unescaped braces |
Previous Message | Peter Eisentraut | 2016-04-08 16:43:17 | pgsql: Replace printf format %i by %d |
From | Date | Subject | |
---|---|---|---|
Next Message | Christian Ullrich | 2016-04-08 16:46:44 | Re: VS 2015 support in src/tools/msvc |
Previous Message | Gavin Flower | 2016-04-08 16:42:44 | Re: 2016-03 Commitfest |