mirror of
https://github.com/postgres/postgres.git
synced 2025-10-24 01:29:19 +03:00
Don't allocate storage for partitioned tables.
Also, don't allow setting reloptions on them, since that would have no effect given the lack of storage. The patch does this by introducing a new reloption kind for which there are currently no reloptions -- we might have some in the future -- so it adjusts parseRelOptions to handle that case correctly. Bumped catversion. System catalogs that contained reloptions for partitioned tables are no longer valid; plus, there are now fewer physical files on disk, which is not technically a catalog change but still a good reason to re-initdb. Amit Langote, reviewed by Maksim Milyutin and Kyotaro Horiguchi and revised a bit by me. Discussion: http://postgr.es/m/20170331.173326.212311140.horiguchi.kyotaro@lab.ntt.co.jp
This commit is contained in:
@@ -48,8 +48,9 @@ typedef enum relopt_kind
|
||||
RELOPT_KIND_SPGIST = (1 << 8),
|
||||
RELOPT_KIND_VIEW = (1 << 9),
|
||||
RELOPT_KIND_BRIN = (1 << 10),
|
||||
RELOPT_KIND_PARTITIONED = (1 << 11),
|
||||
/* if you add a new kind, make sure you update "last_default" too */
|
||||
RELOPT_KIND_LAST_DEFAULT = RELOPT_KIND_BRIN,
|
||||
RELOPT_KIND_LAST_DEFAULT = RELOPT_KIND_PARTITIONED,
|
||||
/* some compilers treat enums as signed ints, so we can't use 1 << 31 */
|
||||
RELOPT_KIND_MAX = (1 << 30)
|
||||
} relopt_kind;
|
||||
|
||||
Reference in New Issue
Block a user