Re: FOR PORTION OF assertion failure in ExecInitPartitionInfo()

From: Paul A Jungwirth <pj(at)illuminatedcomputing(dot)com>
To: Peter Eisentraut <peter(at)eisentraut(dot)org>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: FOR PORTION OF assertion failure in ExecInitPartitionInfo()
Date: 2026-08-21 02:31:01
Message-ID: CA+renyV8c0_VqH3QX0JFjjGvG=39vwSoJ6LsaH+D9K_FJiB_og@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Aug 19, 2026 at 10:26 PM Peter Eisentraut <peter(at)eisentraut(dot)org> wrote:
>
> The following test case triggers an assertion failure in
> ExecInitPartitionInfo():
>
> CREATE TABLE temporal_partitioned_by_range (
> id int4range,
> valid_at daterange,
> name text
> ) PARTITION BY RANGE (valid_at);
>
> CREATE TABLE temporal_partitioned_early
> PARTITION OF temporal_partitioned_by_range
> FOR VALUES FROM (MINVALUE) TO ('[2000-06-01,)');
> CREATE TABLE temporal_partitioned_late
> PARTITION OF temporal_partitioned_by_range
> FOR VALUES FROM ('[2000-06-01,)') TO (MAXVALUE);
>
> INSERT INTO temporal_partitioned_by_range (id, valid_at, name)
> VALUES ('[1,2)', daterange('2000-01-01', '2010-01-01'), 'one');
>
> DELETE FROM temporal_partitioned_by_range
> FOR PORTION OF valid_at FROM '2000-03-01' TO '2000-07-01'
> WHERE valid_at < '[2000-06-01,)'::daterange
> RETURNING id, valid_at, name;
>
> It appears to work correctly with assertions disabled, so maybe just
> some of the Assert()s in ExecInitPartitionInfo() need some updates?

Thanks for catching this! I'm on a family backpacking trip, so the
earliest I'll be able to look closely is after the 30th.

Yours,

--
Paul ~{:-)
pj(at)illuminatedcomputing(dot)com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tatsuo Ishii 2026-08-21 02:40:02 Re: Row pattern recognition
Previous Message Bruce Momjian 2026-08-21 01:35:40 Re: [PATCH] Fix typo in select for update documentation