On Fri, Sep 18, 2026 at 9:56 AM Amit Kapila <[email protected]> wrote: > > On Fri, Sep 18, 2026 at 9:48 AM shveta malik <[email protected]> wrote: > > > > On Fri, Sep 18, 2026 at 8:20 AM Peter Smith <[email protected]> wrote: > > > > > > AFAICT, the patch has traded one kind of quoting problem for another. > > > > > > Before patch v3, the message might show nested quotes. > > > > > > After patch v3, the message might show mismatched quotes: > > > CREATE PUBLICATION testpub9 FOR ALL TABLES EXCEPT (TABLE "schema has > > > embedded "" quotes"."part has embedded "" quotes"); > > > ERROR: cannot specify relation "schema has embedded " quotes.part has > > > embedded " quotes" in the publication EXCEPT clause > > > > > > ~ > > > > > > PSA a v3 top-up patch to address the new problem. > > > > > > Of course, putting my escape_embedded_quotes() function where I did in > > > the top-up doesn't seem appropriate. It would be better to associate > > > that with the original RelationGetQualifiedRelationName() and call it > > > from there, but RelationGetQualifiedRelationName was removed, so... > > > > > > > At first, I felt it was a problem in the entire code for base Postgres > > and thus could be fixed separately. I tried to find queries on HEAD > > where it already works and where it does not. Here are a few samples: > > > > Problematic cases on HEAD: > > 1) > > postgres=# SELECT '"schema has embedded "" > > quotes".nonexistent_table'::regclass; > > ERROR: relation "schema has embedded " quotes.nonexistent_table" does not > > exist > > LINE 1: SELECT '"schema has embedded "" quotes".nonexistent_table'::... > > ^ > > 2) > > postgres=# DROP TABLE "my""table"; > > ERROR: table "my"table" does not exist > > > > > > The case where it is correctly quoted: > > > > 1) > > postgres=# CREATE MATERIALIZED VIEW "schema has embedded "" > > quotes"."my_mv" AS SELECT 1 AS id; > > SELECT 1 > > > > postgres=# REFRESH MATERIALIZED VIEW CONCURRENTLY "schema has embedded > > "" quotes"."my_mv"; > > ERROR: cannot refresh materialized view ""schema has embedded "" > > quotes".my_mv" concurrently > > HINT: Create a unique index with no WHERE clause on one or more > > columns of the materialized view. > > > > 2) > > postgres=# SELECT '"schema has embedded "" > > quotes".nonexistent_func(int)'::regprocedure; > > ERROR: function ""schema has embedded "" > > quotes".nonexistent_func(int)" does not exist > > LINE 1: SELECT '"schema has embedded "" quotes".nonexistent_func(int... > > > > So, I don't have a strong opinion on whether we should fix it here or > > separately. Fixing it here would be slightly better though. > > > > At first, I am not sure if this is a problem at all because we don't > use embedded quoting while storing objects and we display like that at > many places.
Yes, right. > It is better to start a new thread if one really feels > one or or the other way is correct. I agree. tahnks Shveta
