Re: Declarative partitioning - another take
Amit Langote <langote_amit_f8@lab.ntt.co.jp>
On 2016/11/25 13:51, Ashutosh Bapat wrote: >> >> I assume you meant "...right after the column name"? >> >> I will modify the grammar to allow that way then, so that the following >> will work: >> >> create table p1 partition of p ( >> a primary key >> ) for values in (1); >> > > That seems to be non-intuitive as well. The way it's written it looks > like "a primary key" is associated with p rather than p1. It kind of does, but it's still a "create table p1" statement, so it's not that ambiguous, IMHO. Although I'm not attached to this syntax, there may not be other options, such as moving the parenthesized list right before "partition of", due to resulting grammar conflicts. > Is there any column constraint that can not be a table constraint? NOT NULL, DEFAULT, and COLLATE (although only the first of these is really a constraint, albeit without a pg_constraint entry) > If no, then we can think of dropping column constraint syntax all > together and let the user specify column constraints through table > constraint syntax. OR we may drop constraints all-together from the > "CREATE TABLE .. PARTITION OF" syntax and let user handle it through > ALTER TABLE commands. In a later version, we will introduce constraint > syntax in that DDL. Hmm, it was like that in the past versions of the patch, but I thought it'd be better to follow the CREATE TABLE OF style to allow specifying the table and column constraints during table creation time. If many think that it is not required (or should have some other syntax), I will modify the patch accordingly. Thanks, Amit
Commits
-
Fix typo.
- 03bf59676ea0 10.0 landed
-
Document trigger-firing behavior for inheritance/partitioning.
- e17628145ac3 10.0 landed
-
Fire per-statement triggers on partitioned tables.
- e180c8aa8caf 10.0 landed
-
Set ecxt_scantuple correctly for tuple routing.
- 132488bfee68 10.0 landed
-
Fix interaction of partitioned tables with BulkInsertState.
- b1ecb9b3fcfb 10.0 landed
-
Avoid core dump for empty prepared statement in an aborted transaction.
- ba61a04bc7fe 10.0 cited
-
Fix some problems in check_new_partition_bound().
- 8a8afe2f54c2 10.0 landed
-
Remove unnecessary arguments from partitioning functions.
- 18fc5192a631 10.0 cited
-
Fix reporting of constraint violations for table partitioning.
- f1b4c771ea74 10.0 cited
-
Fix tuple routing in cases where tuple descriptors don't match.
- 2ac3ef7a01df 10.0 cited
-
Invalid parent's relcache after CREATE TABLE .. PARTITION OF.
- 7cd0fd655d68 10.0 landed
-
Doc: improve documentation about inheritance.
- 162477a63d3c 10.0 cited