Re: Adding support for Default partition in partitioning
Amit Langote <langote_amit_f8@lab.ntt.co.jp>
From: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
To: Robert Haas <robertmhaas@gmail.com>,
Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
Cc: Rahila Syed <rahilasyed90@gmail.com>, Keith Fiske <keith@omniti.com>,
Rushabh Lathia <rushabh.lathia@gmail.com>,
David Steele <david@pgmasters.net>,
Peter Eisentraut <peter.eisentraut@2ndquadrant.com>,
PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2017-04-25T00:29:50Z
Lists: pgsql-hackers
On 2017/04/25 5:16, Robert Haas wrote: > On Mon, Apr 24, 2017 at 8:14 AM, Ashutosh Bapat > <ashutosh.bapat@enterprisedb.com> wrote: >> On Mon, Apr 24, 2017 at 4:24 PM, Robert Haas <robertmhaas@gmail.com> wrote: >>> On Mon, Apr 24, 2017 at 5:10 AM, Rahila Syed <rahilasyed90@gmail.com> wrote: >>>> Following can also be considered as it specifies more clearly that the >>>> partition holds default values. >>>> >>>> CREATE TABLE ...PARTITION OF...FOR VALUES DEFAULT; >>> >>> The partition doesn't contain default values; it is itself a default. >> >> Is CREATE TABLE ... DEFAULT PARTITION OF ... feasible? That sounds more natural. > > I suspect it could be done as of now, but I'm a little worried that it > might create grammar conflicts in the future as we extend the syntax > further. If we use CREATE TABLE ... PARTITION OF .. DEFAULT, then the > word DEFAULT appears in the same position where we'd normally have FOR > VALUES, and so the parser will definitely be able to figure out what's > going on. When it gets to that position, it will see FOR or it will > see DEFAULT, and all is clear. OTOH, if we use CREATE TABLE ... > DEFAULT PARTITION OF ..., then we have action at a distance: whether > or not the word DEFAULT is present before PARTITION affects which > tokens are legal after the parent table name. bison isn't always very > smart about that kind of thing. No particular dangers come to mind at > the moment, but it makes me nervous anyway. +1 to CREATE TABLE .. PARTITION OF .. DEFAULT Thanks, Amit
Commits
-
Allow a partitioned table to have a default partition.
- 6f6b99d1335b 11.0 landed
-
Adjust min/max values when changing sequence type
- 60a0b2ec8943 10.0 cited
-
BRIN auto-summarization
- 7526e10224f0 10.0 cited