From: | Tender Wang <tndrwang(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | exclusion(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Re: BUG #18664: Assert in BeginCopyTo() fails when source DML query rewritten with notifying rule |
Date: | 2024-10-22 01:38:49 |
Message-ID: | CAHewXNnKwOw=96VGqVVpTtoUO+JSjOGpMsqoD6k2LLYgjmFpoA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> 于2024年10月22日周二 01:30写道:
> Tender Wang <tndrwang(at)gmail(dot)com> writes:
> > PG Bug reporting form <noreply(at)postgresql(dot)org> 于2024年10月21日周一 19:32写道:
> >> The following script:
> >> CREATE TABLE t(i int);
> >> CREATE RULE r AS ON INSERT TO t DO INSTEAD NOTIFY c;
> >> COPY (INSERT INTO t VALUES (1)) TO stdout;
> >>
> >> triggers an Assert in BeginCopyTo():
>
> > I take a quick look. It seems 92e38182d ignored this case.
> > I gave a fix that remove the Assert and add an Assert in another if
> blocks.
> > Any thoughts?
>
> I don't like this fix, because the error message is just completely
> misleading for this case. "COPY query must have a RETURNING clause"
> makes it look like your mistake was to not write
>
> COPY (INSERT INTO t VALUES (1) RETURNING *) TO stdout;
>
> Of course doing that will fix nothing, and you'd still get the exact
> same error message, leaving the user quite confused. So I think
> it's worth issuing a more specific message.
>
Agree.
>
> I also noted somebody's faulty grammar in the nearby message
> "DO ALSO rules are not supported for the COPY".
>
> So I think we want the attached. I went back and forth about
> whether to make the new message be specifically "COPY query must
> not be NOTIFY", but decided that we'd surely forget to update it
> if we ever allow any other sort of utility command in rules.
> So better to word it generically.
>
LGTM
--
Thanks,
Tender Wang
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2024-10-22 05:53:50 | Re: BUG #18614: [ECPG] out of bound in DecodeDateTime |
Previous Message | David G. Johnston | 2024-10-22 01:32:20 | Re: BUG #18666: Standby cluster does not start after building from Primary cluster. |