Hi Jesper,
Thanks for reviewing.
Jesper Pedersen wrote:
> I have been looking at the "CREATE INDEX ... ONLY" syntax, and I think it
> could cause some confusion due to the "Note" described in create_index.sgml.
>
> An alternative, maybe crazy, could be to treat a partitioned index as one;
> e.g. all operations are on the definition.
Well, honestly that's the way I wanted partitioning to be defined, right
from the start -- my first proposal was that partitions were not to be
standalone objects. But I was outvoted once I stepped out of the
implementation, and partitioning is now the way we have it -- each
partition its own separate object. Until we change that view (if we
ever do), I think the only sensible decision is that the whole feature
works that way.
> Some comments. [...]
Thanks, will fix. Except for this one:
> A small thing, for
>
> -- test.sql --
> CREATE TABLE test (a integer NOT NULL) PARTITION BY HASH(a);
> CREATE TABLE test_p00 PARTITION OF test FOR VALUES WITH (MODULUS 2,
> REMAINDER 0);
> CREATE TABLE test_p01 PARTITION OF test FOR VALUES WITH (MODULUS 2,
> REMAINDER 1);
> CREATE INDEX idx_test_a ON test (a);
> -- test.sql --
>
> I would expect that the index names were 'test_p00_idx_test_a' and
> 'test_p01_idx_test_a'.
Hmm, the code in my patch just uses the standard naming routine for
indexes. I'm disinclined to change it in the initial commit, but
perhaps we can change that later.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services