FOR PORTION OF assertion failure in ExecInitPartitionInfo()

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: Paul A Jungwirth <pj(at)illuminatedcomputing(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: FOR PORTION OF assertion failure in ExecInitPartitionInfo()
Date: 2026-08-20 05:26:26
Message-ID: 03276924-6d55-470d-8192-a49c053c940f@eisentraut.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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?

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2026-08-20 05:54:54 Re: Logical replication row filter loses unchanged toasted columns
Previous Message Henson Choi 2026-08-20 05:10:43 Re: Tighten pg_uhc_verifychar() to enforce CP949 lead/trail byte ranges