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. We could implement the same logic directly in bison code, as shown in the attached example. > > I have attached the latest version here. I have also addressed the comment > shared by Shveta in [1]. > [1]: https://www.postgresql.org/message- > id/CAJpy0uCMhxUdEZMqDuSHXeAMES1gH56r- > [email protected] Best Regards, Hou zj
v1-0001-simplify-gram.y-atop-of-your-patch_patch
Description: v1-0001-simplify-gram.y-atop-of-your-patch_patch
