Add pg_sequence system catalog
Move sequence metadata (start, increment, etc.) into a proper system
catalog instead of storing it in the sequence heap object. This
separates the metadata from the sequence data. Sequence metadata is now
operated on transactionally by DDL commands, whereas previously
rollbacks of sequence-related DDL commands would be ignored.
Reviewed-by: Andreas Karlsson <andreas@proxel.se>
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/1753b1b027035029c2a2a1649065762fafbf63f3
Modified Files
--------------
doc/src/sgml/catalogs.sgml | 88 +++++-
src/backend/catalog/Makefile | 1 +
src/backend/catalog/dependency.c | 6 +
src/backend/catalog/information_schema.sql | 13 +-
src/backend/catalog/system_views.sql | 16 +-
src/backend/commands/sequence.c | 381 +++++++++++++++-----------
src/backend/utils/cache/syscache.c | 12 +
src/bin/pg_dump/pg_dump.c | 22 +-
src/include/catalog/catversion.h | 2 +-
src/include/catalog/indexing.h | 3 +
src/include/catalog/pg_sequence.h | 30 ++
src/include/commands/sequence.h | 29 +-
src/include/utils/syscache.h | 1 +
src/test/regress/expected/rules.out | 18 +-
src/test/regress/expected/sanity_check.out | 1 +
src/test/regress/expected/sequence.out | 33 ++-
src/test/regress/expected/updatable_views.out | 93 +++----
src/test/regress/sql/sequence.sql | 8 +
src/test/regress/sql/updatable_views.sql | 2 +-
19 files changed, 490 insertions(+), 269 deletions(-)