On Mon, Mar 30, 2026 at 11:21 AM Zhijie Hou (Fujitsu)
<[email protected]> wrote:
>
> On Saturday, March 28, 2026 4:50 AM Shlok Kyal <[email protected]>
> wrote:
> >
> > On Fri, 27 Mar 2026 at 18:04, Amit Kapila <[email protected]> wrote:
> > >
> > >
> > > BTW, why do we need preprocess_except_pubobj_list?
> > >
> > It is needed to check if the first table in the EXCEPT list is specified
> > with TABLE
> > Keyword.
> > For example: create publication pub1 for all tables except (t1, t2); This
> > should
> > throw an error because t1 is specified without the TABLE keyword.
> >
> > We have a similar logic for FOR TABLE or FOR TABLES IN SCHEMA
> > publications in 'preprocess_pubobj_list'
>
> The preprocess_pubobj_list function was originally introduced to handle mixed
> object types (SCHEMA and TABLE) in the main list, allowing type-specific
> processing per item. However, the EXCEPT clause currently only supports TABLE
> objects. So strictly speaking, we don't need a similar preprocessing function
> here, at least not until we support other object types in the EXCEPT clause.
>
Fair enough. We could extend it later as and when required. I have one
minor comment:
*
+ | pub_except_obj_list ',' TABLE PublicationExceptObjSpec
+ { $$ = lappend($1, $4); }
| pub_except_obj_list ',' PublicationExceptObjSpec
Can we encapsulate 'TABLE PublicationExceptObjSpec' and
'PublicationExceptObjSpec' into separate 'opt_tbl_except_obj_spec'?
--
With Regards,
Amit Kapila.