Re: [PATCH] Automatic HASH and LIST partition creation

Rahila Syed <rahilasyed90@gmail.com>

From: Rahila Syed <rahilasyed90@gmail.com>
To: Anastasia Lubennikova <a.lubennikova@postgrespro.ru>
Cc: Michael Paquier <michael@paquier.xyz>, Pavel Borisov <pashkin.elfe@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Fabien COELHO <coelho@cri.ensmp.fr>, Justin Pryzby <pryzby@telsasoft.com>, Robert Haas <robertmhaas@gmail.com>, Amul Sul <sulamul@gmail.com>
Date: 2020-09-30T19:58:28Z
Lists: pgsql-hackers
Hi Anastasia,

I tested the syntax with some basic commands and it works fine, regression
tests also pass.

Couple of comments:
1. The syntax used omits the { IMMEDIATE | DEFERRED} keywords suggested in
the earlier discussions. I think it is intuitive to include IMMEDIATE with
the current implementation
so that the syntax can be extended with a  DEFERRED clause in future for
dynamic partitions.

>   CREATE TABLE tbl_lst (i int) PARTITION BY LIST (i)
>  CONFIGURATION (values in (1, 2), (3, 4) DEFAULT PARTITION tbl_default);


2. One suggestion for generation of partition names is to append a unique
id to
avoid conflicts.

3. Probably, here you mean to write list and hash instead of range and list
as
per the current state.

     <para>
>      Range and list partitioning also support automatic creation of
> partitions
>       with an optional <literal>CONFIGURATION</literal> clause.
>     </para>


4. Typo in default_part_name

+VALUES IN ( <replaceable
> class="parameter">partition_bound_expr</replaceable> [, ...] ), [(
> <replaceable class="parameter">partition_bound_expr</replaceable> [, ...]
> )] [, ...] [DEFAULT PARTITION <replaceable
> class="parameter">defailt_part_name</replaceable>]
> +MODULUS <replaceable class="parameter">numeric_literal</replaceable>



Thank you,
Rahila Syed

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Remove complaints about COLLATE clauses in partition bound values.