On Wed, Sep 22, 2021 at 11:27 AM tanghy.f...@fujitsu.com <tanghy.f...@fujitsu.com> wrote: > > On Wednesday, September 22, 2021 11:22 AM Masahiko Sawada > <sawada.m...@gmail.com> wrote: > > > > --- > > + if (!IsA(node, String)) > > + ereport(ERROR, > > + > > errcode(ERRCODE_SYNTAX_ERROR), > > + errmsg("invalid schema > > name at or near"), > > + > > parser_errposition(pstate, pubobj->location)); > > > > The error message should mention where the invalid schema name is at > > or near. Also, In the following example, the error position in the > > error message seems not to be where the invalid schemaname s.s is: > > > > postgres(1:47707)=# create publication p for all tables in schema s.s; > > ERROR: invalid schema name at or near > > LINE 1: create publication p for all tables in schema s.s; > > ^ > > > > I noticed this, too. And I think it could be fixed by the following change, > thoughts?
I fixed it by updating the location at pubobj_expr > Besides, about this change in tab-complete.c: > > + else if (Matches("ALTER", "PUBLICATION", MatchAny, "ADD|DROP|SET", > "SCHEMA")) > + COMPLETE_WITH_QUERY(Query_for_list_of_schemas > + " UNION SELECT > 'CURRENT_SCHEMA'"); > > It should be "ALL TABLES IN SCHEMA" not "SCHEMA" at the first line, right? Modified. The v32 patch attached at [1] handles the above. [1] - https://www.postgresql.org/message-id/CALDaNm1R-xbQvz4LU5OXu3KKwbWOz3uDcT_YjRU6V0R5FZDYDg%40mail.gmail.com Regards. Vignesh