> /* > + * 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? -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ "Hay que recordar que la existencia en el cosmos, y particularmente la elaboración de civilizaciones dentro de él no son, por desgracia, nada idílicas" (Ijon Tichy)