Re: BUG #18871: Cross-partition MERGE fails with unclear internal error - Mailing list pgsql-bugs

From Tender Wang
Subject Re: BUG #18871: Cross-partition MERGE fails with unclear internal error
Date
Msg-id CAHewXNkN7fN7sh1VapmOb+C7BW+tm9U=0T4TSs5=bEF+-A0u8w@mail.gmail.com
Whole thread Raw
In response to Re: BUG #18871: Cross-partition MERGE fails with unclear internal error  (Dean Rasheed <dean.a.rasheed@gmail.com>)
Responses Re: BUG #18871: Cross-partition MERGE fails with unclear internal error
List pgsql-bugs


Dean Rasheed <dean.a.rasheed@gmail.com> 于2025年3月29日周六 02:29写道:
On Fri, 28 Mar 2025 at 16:40, Tender Wang <tndrwang@gmail.com> wrote:
>
> I tried a quick fix by adding "case CMD_NOTHING" after "case CMD_DELETE" like below:
>
> case CMD_DELETE:
> case CMD_NOTHING:
>        break;
>
> It can work, and all regression tests pass.  But I don't look into more details.  This solution may not fix the root cause.

Yes, that looks like the right fix.

This appears to be a trivial oversight in ExecInitPartitionInfo(). I
did a quick scan of other places that look at action->commandType and
I didn't see any others that overlook CMD_NOTHING.

Yes, indeed. I double-check it.
In ExecInitPartitionInfo(), it has comments like:

* This duplicates much of the logic in ExecInitMerge(), so something
* changes there, look here too.

ExecInitMerge() considers CMD_NOTHING operation.
I give the attached fix.

--
Thanks,
Tender Wang
Attachment

pgsql-bugs by date:

Previous
From: Dean Rasheed
Date:
Subject: Re: BUG #18871: Cross-partition MERGE fails with unclear internal error
Next
From: "Gurjeet Singh"
Date:
Subject: Re: BUG #18871: Cross-partition MERGE fails with unclear internal error