On Tue, Apr 19, 2022 at 4:35 PM Alvaro Herrera <alvhe...@alvh.no-ip.org> wrote:
>
> Yeah, more invasive rewording seems called for.  I propose this:
>
>    For publications containing partitioned tables, the row filter for each
>    partition is taken from the published partitioned table if the
>    publication parameter <literal>publish_via_partition_root</literal> is 
> true,
>    or from the partition itself if it is false (the default).
>
> I think we should also mention that this parameter affects row filters,
> in the <varlistentry> for the WITH clause.  Currently it has
>
>         <term><literal>publish_via_partition_root</literal> 
> (<type>boolean</type>)</term>
>         <listitem>
>          <para>
>           This parameter determines whether changes in a partitioned table (or
>           on its partitions) contained in the publication will be published
>           using the identity and schema of the partitioned table rather than
>           that of the individual partitions that are actually changed; the
>           latter is the default.  Enabling this allows the changes to be
>           replicated into a non-partitioned table or a partitioned table
>           consisting of a different set of partitions.
>          </para>
>
> I propose to add
>
>         <term><literal>publish_via_partition_root</literal> 
> (<type>boolean</type>)</term>
>         <listitem>
>          <para>
>           This parameter determines whether changes in a partitioned table (or
>           on its partitions) contained in the publication will be published
>           using the identity and schema of the partitioned table rather than
>           that of the individual partitions that are actually changed; the
>           latter is the default.  Enabling this allows the changes to be
>           replicated into a non-partitioned table or a partitioned table
>           consisting of a different set of partitions.
>          </para>
>
>         <para>
>          This parameter also affects how row filters are chosen for 
> partitions;
>          see below for details.
>         </para>
>

Your proposed changes look good to me but I think all these places
need to mention 'column list' as well because the behavior is the same
for it.

> More generally, I think we need to connect the WHERE keyword with "row
> filters" more explicitly.  Right now, the parameter reference says
>
>       If the optional <literal>WHERE</literal> clause is specified, rows for
>       which the <replaceable class="parameter">expression</replaceable>
>       evaluates to false or null will not be published. Note that parentheses
>       are required around the expression. It has no effect on
>       <literal>TRUNCATE</literal> commands.
>
> I propose to make it "If the optional WHERE clause is specified, it
> defines a <firstterm>row filter</firstterm> expression.  Rows for which
> the row filter expression evaluates to false ..."
>

Looks good to me.

-- 
With Regards,
Amit Kapila.


Reply via email to