From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Robert Haas <rhaas(at)postgresql(dot)org> |
Cc: | pgsql-hackers(at)postgresql(dot)org, Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> |
Subject: | Re: [COMMITTERS] pgsql: Implement table partitioning. |
Date: | 2017-10-13 16:34:49 |
Message-ID: | 20171013163449.7dvbpfit3axwhyj6@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers pgsql-hackers |
Robert Haas wrote:
> Implement table partitioning.
> Currently, tables can be range-partitioned or list-partitioned. List
> partitioning is limited to a single column, but range partitioning can
> involve multiple columns. A partitioning "column" can be an
> expression.
I find the "partition strategy" thing a bit suspect code-wise. I was a
bit bothered by all the "default:" clauses in switches that deal with
the possible values, and I was going to propose simply that we turn that
into an enum -- a trivial patch, I thought. Not so: the way it's used
by the grammar is a bit odd. Apparently, it starts life as a string
(either "list" or "range"), and then transformPartitionSpec() has to go
out of its way to return it as a char.
I propose we have gram.y itself resolve the strings to either 'list' or
'range' and that the node contains only those values, not any string.
Unless there is a reason why things are like this that I'm not seeing?
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Geoghegan | 2017-10-13 16:38:54 | Re: [COMMITTERS] pgsql: Fix traversal of half-frozen update chains |
Previous Message | Tom Lane | 2017-10-13 15:46:09 | pgsql: Rely on sizeof(typename) rather than sizeof(variable) in pqforma |
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2017-10-13 16:38:20 | relkind check in DefineIndex |
Previous Message | Tom Lane | 2017-10-13 16:34:11 | Re: Aggregate transition state merging vs. hypothetical set functions |