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?



Reply via email to