Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 11 additions & 10 deletions test/check_ledger.tsv
Original file line number Diff line number Diff line change
Expand Up @@ -1875,11 +1875,12 @@ partition_lifecycle partition_lifecycle a call that would create more than 1000
partition_lifecycle partition_lifecycle a cutoff before every partition plans nothing 15;16;17;18;19 2026-10-13 the cutoff filter removed: every partition planned
partition_lifecycle partition_lifecycle a cutoff of the other timestamp type is refused 15;16;17;18;19 2026-10-13 a cutoff of the other timestamp type planned instead of refused
partition_lifecycle partition_lifecycle a cutoff on a partition's upper bound includes it 15;16;17;18;19 2026-10-13 a partition whose upper bound equals the cutoff left out;a plain DROP, not refusing while the partition is still attached;the cutoff filter removed: every partition planned;the lower bound read where the upper is meant;the plan detaches but drops nothing
partition_lifecycle partition_lifecycle a drop plan for a parent not partitioned on a timestamp is refused 15;16;17;18;19 2026-10-13 a parent partitioned on a non-timestamp key planned instead of refused
partition_lifecycle partition_lifecycle a drop plan for a parent not RANGE-partitioned on one column is refused, LIST and two-column RANGE included 15;16;17;18;19 2026-10-14 partition_drop_candidates refusing only a parent with no partition key, not LIST or a multi-column RANGE;partition_drop_candidates without its RANGE-on-one-column check
partition_lifecycle partition_lifecycle a drop plan for a parent not partitioned on a timestamp is refused 15;16;17;18;19 2026-10-14 a parent partitioned on a non-timestamp key planned instead of refused;partition_drop_candidates without its timestamp-key check
partition_lifecycle partition_lifecycle a drop plan for a parent with a DEFAULT partition is refused 15;16;17;18;19 2026-10-13 a parent with a DEFAULT partition planned instead of refused
partition_lifecycle partition_lifecycle a parent partitioned on a key that is not a timestamp is refused before any DDL 15;16;17;18;19 2026-10-13 partition_create_ahead without its timestamp key check
partition_lifecycle partition_lifecycle a parent that is not RANGE-partitioned on one column is refused before any DDL 15;16;17;18;19 2026-10-13 partition_create_ahead without its RANGE-on-one-column check
partition_lifecycle partition_lifecycle a parent with a 63-character name gets partitions whose names keep their dates 15;16;17;18;19 2026-10-12 partition_create_ahead stopping one width short of now plus the lead;partition_create_ahead without shortening a long parent name
partition_lifecycle partition_lifecycle a parent with a 63-byte name gets partitions whose names keep their dates 15;16;17;18;19 2026-10-14 partition_create_ahead creating its last partition without attaching it;partition_create_ahead stopping one width short of now plus the lead;partition_create_ahead without shortening a long parent name;partition_create_ahead's name bound one byte too long
partition_lifecycle partition_lifecycle a parent with a DEFAULT partition is refused 15;16;17;18;19 2026-10-12 partition_create_ahead without the DEFAULT-partition refusal
partition_lifecycle partition_lifecycle a parent with a generated column gets its partitions, and the column stays generated 15;16;17;18;19 2026-10-12 partition_create_ahead stopping one width short of now plus the lead;partition_create_ahead without INCLUDING GENERATED
partition_lifecycle partition_lifecycle a parent with a partition bounded by MAXVALUE is refused, and nothing is created 15;16;17;18;19 2026-10-12 partition_create_ahead without the MAXVALUE refusal
Expand All @@ -1888,30 +1889,30 @@ partition_lifecycle partition_lifecycle a partition named with the drop block's
partition_lifecycle partition_lifecycle a partition that is itself partitioned is planned whole 15;16;17;18;19 2026-10-13 a partition that is itself partitioned left out of the plan;a partition whose upper bound equals the cutoff left out;a plain DROP, not refusing while the partition is still attached;the cutoff filter removed: every partition planned;the lower bound read where the upper is meant;the plan detaches but drops nothing;the plan detaches without CONCURRENTLY
partition_lifecycle partition_lifecycle a pending detach is finalised, not started again 15;16;17;18;19 2026-10-13 a partition whose upper bound equals the cutoff left out;a pending detach planned as a new concurrent detach, not FINALIZE;a plain DROP, not refusing while the partition is still attached;the cutoff filter removed: every partition planned;the lower bound read where the upper is meant;the plan detaches but drops nothing
partition_lifecycle partition_lifecycle a plan for names that need quoting runs as returned 15;16;17;18;19 2026-10-13 a partition whose upper bound equals the cutoff left out;names in the plan with their quotes removed;the cutoff filter removed: every partition planned;the lower bound read where the upper is meant;the plan detaches but drops nothing
partition_lifecycle partition_lifecycle a second call creates nothing 15;16;17;18;19 2026-10-12 partition_create_ahead starting from now, not the highest upper bound
partition_lifecycle partition_lifecycle a second call creates nothing 15;16;17;18;19 2026-10-14 partition_create_ahead creating its last partition without attaching it;partition_create_ahead starting from now, not the highest upper bound
partition_lifecycle partition_lifecycle a second plan for the same cutoff is empty, and the partitions it kept are still attached 15;16;17;18;19 2026-10-13 the cutoff filter removed: every partition planned;the lower bound read where the upper is meant
partition_lifecycle partition_lifecycle a tiered partition is planned with DROP FOREIGN TABLE 15;16;17;18;19 2026-10-13 a partition whose upper bound equals the cutoff left out;a plain DROP, not refusing while the partition is still attached;a tiered partition planned with DROP TABLE;the cutoff filter removed: every partition planned;the lower bound read where the upper is meant;the plan detaches but drops nothing;the plan detaches without CONCURRENTLY
partition_lifecycle partition_lifecycle a timestamp key's plan for a timestamp cutoff is the same from sessions west and east of UTC 15;16;17;18;19 2026-10-13 a plain DROP, not refusing while the partition is still attached;the lower bound read where the upper is meant;the plan detaches but drops nothing;the plan detaches without CONCURRENTLY;the timestamp overload compares the bound read as UTC with the cutoff converted in the session's zone
partition_lifecycle partition_lifecycle a timestamp parent made east of UTC covers the local now plus the lead 15;16;17;18;19 2026-10-12 partition_create_ahead stopping one width short of now plus the lead
partition_lifecycle partition_lifecycle a timestamp parent with a month width starts at this month's first and steps by calendar months 15;16;17;18;19 2026-10-13 partition_create_ahead without its month and year branch, so date_bin is handed the width
partition_lifecycle partition_lifecycle a timestamp parent's partitions are contiguous across a non-UTC session 15;16;17;18;19 2026-10-12 partition_create_ahead leaving a minute between partitions;partition_create_ahead reading a timestamp key's bounds in the session's zone and writing them from UTC (the prototype);partition_create_ahead starting from now, not the highest upper bound
partition_lifecycle partition_lifecycle a timestamptz parent with a month width starts at this month's first and steps by calendar months 15;16;17;18;19 2026-10-13 partition_create_ahead without its month and year branch, so date_bin is handed the width
partition_lifecycle partition_lifecycle a timestamptz parent with a month width starts at this month's first and steps by calendar months 15;16;17;18;19 2026-10-14 partition_create_ahead creating its last partition without attaching it;partition_create_ahead without its month and year branch, so date_bin is handed the width
partition_lifecycle partition_lifecycle a timestamptz parent's partitions are contiguous across a non-UTC session 15;16;17;18;19 2026-10-12 partition_create_ahead leaving a minute between partitions;partition_create_ahead starting from now, not the highest upper bound
partition_lifecycle partition_lifecycle a width that is not positive, or a negative lead, is refused before any DDL 15;16;17;18;19 2026-10-13 partition_create_ahead without its width and ahead check
partition_lifecycle partition_lifecycle a year width starts at this month's first and steps by calendar years 15;16;17;18;19 2026-10-13 partition_create_ahead without its month and year branch, so date_bin is handed the width
partition_lifecycle partition_lifecycle a year width starts at this month's first and steps by calendar years 15;16;17;18;19 2026-10-14 partition_create_ahead creating its last partition without attaching it;partition_create_ahead without its month and year branch, so date_bin is handed the width
partition_lifecycle partition_lifecycle after a DETACH that fails, the plan's DROP refuses and the partition stays attached 15;16;17;18;19 2026-10-13 a partition whose upper bound equals the cutoff left out;a plain DROP, not refusing while the partition is still attached;the plan detaches but drops nothing
partition_lifecycle partition_lifecycle and a row at every boundary has exactly one partition to go to (timestamp) 15;16;17;18;19 2026-10-12 partition_create_ahead leaving a minute between partitions;partition_create_ahead reading a timestamp key's bounds in the session's zone and writing them from UTC (the prototype);partition_create_ahead starting from now, not the highest upper bound
partition_lifecycle partition_lifecycle and a row at every boundary has exactly one partition to go to (timestamptz) 15;16;17;18;19 2026-10-12 partition_create_ahead leaving a minute between partitions;partition_create_ahead starting from now, not the highest upper bound
partition_lifecycle partition_lifecycle and every row the remaining partitions held is still there 15;16;17;18;19 2026-10-13 the cutoff filter removed: every partition planned;the lower bound read where the upper is meant
partition_lifecycle partition_lifecycle and its partitions start on the width's boundary in the key's own wall clock 15;16;17;18;19 2026-10-12 partition_create_ahead leaving a minute between partitions;partition_create_ahead reading a timestamp key's bounds in the session's zone and writing them from UTC (the prototype)
partition_lifecycle partition_lifecycle and land in columnar partitions 15;16;17;18;19 2026-10-12 partition_create_ahead creating heap partitions;partition_create_ahead starting from now, not the highest upper bound;partition_create_ahead stopping one width short of now plus the lead
partition_lifecycle partition_lifecycle and land in columnar partitions 15;16;17;18;19 2026-10-14 partition_create_ahead creating heap partitions;partition_create_ahead creating its last partition without attaching it;partition_create_ahead starting from now, not the highest upper bound;partition_create_ahead stopping one width short of now plus the lead
partition_lifecycle partition_lifecycle and nothing was created for it 15;16;17;18;19 2026-10-12 partition_create_ahead without the DEFAULT-partition refusal
partition_lifecycle partition_lifecycle and running it drops the foreign table and leaves its Parquet file 15;16;17;18;19 2026-10-13 a partition whose upper bound equals the cutoff left out;a tiered partition planned with DROP TABLE;the plan detaches but drops nothing
partition_lifecycle partition_lifecycle and running it drops the pending partition 15;16;17;18;19 2026-10-13 a partition whose upper bound equals the cutoff left out;a pending detach planned as a new concurrent detach, not FINALIZE;the cutoff filter removed: every partition planned;the lower bound read where the upper is meant;the plan detaches but drops nothing
partition_lifecycle partition_lifecycle and running the plan drops it with its children 15;16;17;18;19 2026-10-13 a partition that is itself partitioned left out of the plan;a partition whose upper bound equals the cutoff left out;the cutoff filter removed: every partition planned;the lower bound read where the upper is meant;the plan detaches but drops nothing
partition_lifecycle partition_lifecycle and the dropped partitions' pgcolumnar storage rows are gone 15;16;17;18;19 2026-10-13 the drop hook leaves a dropped table's pgcolumnar storage behind;the plan detaches but drops nothing
partition_lifecycle partition_lifecycle and they cover now() plus the lead 15;16;17;18;19 2026-10-12 partition_create_ahead stopping one width short of now plus the lead
partition_lifecycle partition_lifecycle asking further ahead creates only the difference 15;16;17;18;19 2026-10-12 partition_create_ahead starting from now, not the highest upper bound
partition_lifecycle partition_lifecycle and they cover now() plus the lead 15;16;17;18;19 2026-10-14 partition_create_ahead creating its last partition without attaching it;partition_create_ahead stopping one width short of now plus the lead
partition_lifecycle partition_lifecycle asking further ahead creates only the difference 15;16;17;18;19 2026-10-14 partition_create_ahead creating its last partition without attaching it;partition_create_ahead starting from now, not the highest upper bound
partition_lifecycle partition_lifecycle every partition it creates is columnar 15;16;17;18;19 2026-10-12 partition_create_ahead creating heap partitions
partition_lifecycle partition_lifecycle from no partitions it creates enough to reach now plus the lead 15;16;17;18;19 2026-10-12 partition_create_ahead stopping one width short of now plus the lead
partition_lifecycle partition_lifecycle it never takes AccessExclusiveLock on the parent 15;16;17;18;19 2026-10-12 partition_create_ahead using CREATE TABLE ... PARTITION OF
Expand All @@ -1924,9 +1925,9 @@ partition_lifecycle partition_lifecycle premise: the call inside the transaction
partition_lifecycle partition_lifecycle premise: the drop fixture has several partitions, each holding rows 15;16;17;18;19 never -
partition_lifecycle partition_lifecycle premise: the function exists 15;16;17;18;19 never -
partition_lifecycle partition_lifecycle premise: the interrupted detach left the partition pending 15;16;17;18;19 never -
partition_lifecycle partition_lifecycle premise: the parent now has the partitions it reported 15;16;17;18;19 never -
partition_lifecycle partition_lifecycle rows within the covered range go in 15;16;17;18;19 2026-10-12 partition_create_ahead starting from now, not the highest upper bound;partition_create_ahead stopping one width short of now plus the lead
partition_lifecycle partition_lifecycle rows within the covered range go in 15;16;17;18;19 2026-10-14 partition_create_ahead creating its last partition without attaching it;partition_create_ahead starting from now, not the highest upper bound;partition_create_ahead stopping one width short of now plus the lead
partition_lifecycle partition_lifecycle running the plan leaves only the partitions it did not name 15;16;17;18;19 2026-10-13 the cutoff filter removed: every partition planned;the lower bound read where the upper is meant;the plan detaches but drops nothing
partition_lifecycle partition_lifecycle the parent now has the partitions it reported 15;16;17;18;19 2026-10-14 partition_create_ahead creating its last partition without attaching it
partition_lifecycle partition_lifecycle the plan retires the partitions wholly before the cutoff, in range order 15;16;17;18;19 2026-10-13 a plain DROP, not refusing while the partition is still attached;the cutoff filter removed: every partition planned;the lower bound read where the upper is meant;the plan detaches but drops nothing;the plan detaches without CONCURRENTLY;the plan in catalog order, not range order
partition_lifecycle partition_lifecycle they are contiguous, each one width wide 15;16;17;18;19 2026-10-12 partition_create_ahead leaving a minute between partitions
partman_columnar partman_columnar and no row-group row behind 15;16;17;18;19 2026-10-12 the drop hook stops deleting row_group rows, so they outlive their deleted storage row
Expand Down
15 changes: 14 additions & 1 deletion test/check_ledger_budget.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1858,4 +1858,17 @@ suites_not_covered 246
# never 1798 = 1798
# dated 551 + 4 = 555
# 1798 + 555 == 2353
checks_never_observed_red 1798
#
# #1339 audit, partition_lifecycle (OffgridwithJD): 1798 -> 1797. One new arm, a
# drop plan refusing a LIST and a two-column RANGE parent, dated by the RANGE check
# reduced to NOT FOUND (main's suite survives that). "premise: the parent now has the
# partitions it reported" is an arm and loses the prefix (#1236), dated with eight
# neighbours by a create_ahead that leaves its last partition unattached. The
# 63-character arm is renamed 63-byte, as its fixtures are; both renames keep their
# rows' history. Five-major runs: partition_lifecycle 60/60 on 15-19.
#
# ledger rows 2353 + 1 = 2354
# never 1798 - 1 = 1797
# dated 555 + 2 = 557
# 1797 + 557 == 2354
checks_never_observed_red 1797
Loading
Loading