On Thur, Jan 13, 2022 5:22 PM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
> > /*
> > + * Only 3 publication actions are used for row filtering ("insert",
> > +"update",
> > + * "delete"). See RelationSyncEntry.exprstate[].
> > + */
> > +typedef enum RowFilterPubAction
> > +{
> > + PUBACTION_INSERT,
> > + PUBACTION_UPDATE,
> > + PUBACTION_DELETE,
> > + NUM_ROWFILTER_PUBACTIONS /* must be last */ }
> RowFilterPubAction;
>
> Please do not add NUM_ROWFILTER_PUBACTIONS as an enum value. It's a bit
> of a lie and confuses things, because your enum now has 4 possible values, not
> 3. I suggest to #define NUM_ROWFILTER_PUBACTIONS
> (PUBACTION_DELETE+1) instead.
>
> > + int idx_ins = PUBACTION_INSERT;
> > + int idx_upd = PUBACTION_UPDATE;
> > + int idx_del = PUBACTION_DELETE;
>
> I don't understand the purpose of these variables; can't you just use the
> constants?
Thanks for the comments !
Changed the code as suggested.
Best regards,
Hou zj