pgsql: Generalize concept of temporary relations to "relation persisten - Mailing list pgsql-committers
From | Robert Haas |
---|---|
Subject | pgsql: Generalize concept of temporary relations to "relation persisten |
Date | |
Msg-id | E1PSCJ6-0006pd-Ks@gemulon.postgresql.org Whole thread Raw |
Responses |
Re: pgsql: Generalize concept of temporary relations to "relation persisten
|
List | pgsql-committers |
Generalize concept of temporary relations to "relation persistence". This commit replaces pg_class.relistemp with pg_class.relpersistence; and also modifies the RangeVar node type to carry relpersistence rather than istemp. It also removes removes rd_istemp from RelationData and instead performs the correct computation based on relpersistence. For clarity, we add three new macros: RelationNeedsWAL(), RelationUsesLocalBuffers(), and RelationUsesTempNamespace(), so that we can clarify the purpose of each check that previous depended on rd_istemp. This is intended as infrastructure for the upcoming unlogged tables patch, as well as for future possible work on global temporary tables. Branch ------ master Details ------- http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=5f7b58fad8f45c69bb67944779dce67e2f481995 Modified Files -------------- src/backend/access/gin/ginbtree.c | 6 +- src/backend/access/gin/ginfast.c | 6 +- src/backend/access/gin/gininsert.c | 4 +- src/backend/access/gin/ginutil.c | 2 +- src/backend/access/gin/ginvacuum.c | 4 +- src/backend/access/gist/gist.c | 12 +++--- src/backend/access/gist/gistvacuum.c | 2 +- src/backend/access/heap/heapam.c | 34 +++++++------- src/backend/access/heap/pruneheap.c | 2 +- src/backend/access/heap/rewriteheap.c | 6 +- src/backend/access/nbtree/nbtinsert.c | 6 +- src/backend/access/nbtree/nbtpage.c | 10 ++-- src/backend/access/nbtree/nbtsort.c | 12 +++--- src/backend/bootstrap/bootparse.y | 2 + src/backend/catalog/catalog.c | 16 ++++++- src/backend/catalog/heap.c | 13 +++-- src/backend/catalog/index.c | 10 +++-- src/backend/catalog/namespace.c | 12 +++--- src/backend/catalog/storage.c | 24 ++++++++-- src/backend/catalog/toasting.c | 3 +- src/backend/commands/cluster.c | 5 +- src/backend/commands/indexcmds.c | 4 +- src/backend/commands/sequence.c | 8 ++-- src/backend/commands/tablecmds.c | 79 ++++++++++++++++++-------------- src/backend/commands/tablespace.c | 8 ++-- src/backend/commands/vacuumlazy.c | 11 ++--- src/backend/commands/view.c | 13 +++--- src/backend/executor/execMain.c | 9 +++- src/backend/nodes/copyfuncs.c | 2 +- src/backend/nodes/equalfuncs.c | 2 +- src/backend/nodes/makefuncs.c | 3 +- src/backend/nodes/outfuncs.c | 2 +- src/backend/nodes/readfuncs.c | 2 +- src/backend/parser/gram.y | 61 ++++++++++++------------- src/backend/parser/parse_utilcmd.c | 7 ++- src/backend/postmaster/autovacuum.c | 4 +- src/backend/storage/buffer/bufmgr.c | 4 +- src/backend/utils/adt/dbsize.c | 28 ++++++++---- src/backend/utils/cache/relcache.c | 71 ++++++++++++++++++----------- src/include/catalog/catalog.h | 2 +- src/include/catalog/catversion.h | 2 +- src/include/catalog/heap.h | 2 + src/include/catalog/pg_class.h | 15 ++++--- src/include/catalog/storage.h | 2 +- src/include/commands/tablespace.h | 2 +- src/include/nodes/primnodes.h | 2 +- src/include/utils/rel.h | 25 ++++++++++- src/include/utils/relcache.h | 3 +- 48 files changed, 334 insertions(+), 230 deletions(-)
pgsql-committers by date: