From: | Tender Wang <tndrwang(at)gmail(dot)com> |
---|---|
To: | 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-21 12:52:34 |
Message-ID: | CAHewXNmQ7MSVe0mJvkxKzpD4Yp900Ju3_QiFh-KjkpJGR6NhbQ@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
PG Bug reporting form <noreply(at)postgresql(dot)org> 于2024年10月21日周一 19:32写道:
> The following bug has been logged on the website:
>
> Bug reference: 18664
> Logged by: Alexander Lakhin
> Email address: exclusion(at)gmail(dot)com
> PostgreSQL version: 17.0
> Operating system: Ubuntu 22.04
> Description:
>
> 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():
> TRAP: failed Assert("query->utilityStmt == NULL"), File: "copyto.c", Line:
> 495, PID: 1689825
> ExceptionalCondition at assert.c:52:13
> BeginCopyTo at copyto.c:501:12
> DoCopy at copy.c:313:12
> standard_ProcessUtility at utility.c:738:8
> ProcessUtility at utility.c:523:3
> PortalRunUtility at pquery.c:1158:2
> PortalRunMulti at pquery.c:1315:5
> PortalRun at pquery.c:795:5
> ...
>
> Reproduced starting from 92e38182d.
>
>
Thanks for reporting. I can reproduce on HEAD.
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?
--
Thanks,
Tender Wang
Attachment | Content-Type | Size |
---|---|---|
0001-Remove-a-correct-Assert.patch | application/octet-stream | 2.4 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | David G. Johnston | 2024-10-21 12:53:54 | Re: BUG #18667: Default Permission Role Group |
Previous Message | PG Bug reporting form | 2024-10-21 10:56:28 | BUG #18667: Default Permission Role Group |