| From: | shveta malik <shveta(dot)malik(at)gmail(dot)com> |
|---|---|
| To: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
| Cc: | Peter Smith <smithpb2250(at)gmail(dot)com>, vignesh C <vignesh21(at)gmail(dot)com>, "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Manuel Reyes Bravo <manuelreyesbravo(at)gmail(dot)com>, shveta malik <shveta(dot)malik(at)gmail(dot)com> |
| Subject: | Re: Distinguish publication exclusions in object addresses |
| Date: | 2026-09-18 04:47:38 |
| Message-ID: | CAJpy0uAd1UvogW4w5uqGAzU9WJi2uqHdYhs7gWDP60u2QnJiyw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Fri, Sep 18, 2026 at 9:56 AM Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
>
> On Fri, Sep 18, 2026 at 9:48 AM shveta malik <shveta(dot)malik(at)gmail(dot)com> wrote:
> >
> > On Fri, Sep 18, 2026 at 8:20 AM Peter Smith <smithpb2250(at)gmail(dot)com> 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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Hayato Kuroda (Fujitsu) | 2026-09-18 05:17:11 | RE: Allow pg_read_all_stats to read replication origin status |
| Previous Message | Henson Choi | 2026-09-18 04:31:21 | Re: Row pattern recognition |