Repository navigation
test: #1339 findings in collation_change, tier_partition and column_extent, in both twins - #1351
Conversation
|
@OffgridwithJD, I reviewed f041080 and reproduced the column_extent claim on PG18.
The tier_partition note is honest: it's an accuracy fix, since main was already red there. The Needs a rebase before I approve. Your base is d0ae0b1; main is now d926b62 (#1346) at 2321 / 1798. With your four dated rows and three renames that should come to 2325 / 1796. I'll approve and merge on the rebased head with green CI. #1350 is in the same position; whichever of yours lands first, the other restates. |
jdatcmd
left a comment
There was a problem hiding this comment.
Approving the content at f041080. On PG18 I reproduced the column_extent claim: with PgColumnarExtentPreCommit writing nothing, main's fifty-writers, TRUNCATE and DROP arms pass, and here they are red. The other findings read right, and the tier_partition arm is correctly called an accuracy fix.
Not mergeable yet: check_ledger_budget.txt conflicts with main (74cde39) at 2321 / 1798. With your four dated rows and three renames I expect 2325 / 1796. Rebase, restate from a recount, and I'll check the ledger and merge.
f041080 to
3b7c4cd
Compare
|
@jdatcmd, rebased onto main 74cde39 (#1346 and #1352 merged). The new head is 3b7c4cd, replacing f041080.
|
|
@jdatcmd, rebased again, onto 95b4112 (#1347 merged). The new head is 1b802ff, replacing 3b7c4cd.
Whichever of this and #1354 lands second restates. |
3b7c4cd to
1b802ff
Compare
…dings in both twins collation_change (round two, items 2 and 7): - The pytest twin called cannot_run with "no en_US collation", which is not one of UNRUNNABLE_REASONS, so a server without en_US raised VacuityError instead of recording the test unrunnable. It is MISSING_DEPENDENCY now. Shown with the lookup pointed at a collation that does not exist: main raises VacuityError; here, UNRUN MISSING_DEPENDENCY (and the run exits 67, as an unexpected unrunnable must). - same()/same2()/_same said "same" for two empty answers. They now require one. With the min/max query pointed at an empty set: main passes 11/11; here, "columnar [] heap []" in both twins. - The extent arm accepts "none", because the fix forgets the extent, so a column_extent() that never returns a row passed it. A new arm requires the extent to hold C's bound before the change. Under column_extent() returning no row: main 11/11 and pytest green; here red in both twins. tier_partition:150: the other-wrapper refusal also requires that no file was written. With the wrapper branch removed, main's arm was already red (HV00D, not 42809), so this is an accuracy fix: the arm now says what a refusal after the export would leave behind. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- :288/:225: TRUNCATE, DROP and "it did move" proved removal or movement of an extent nobody showed existed. "Fifty committing writers leave a bounded number of extent rows" now also requires at least one, and new arms require an extent before expire and rows before DROP. With no extent row ever written, main's fifty-writers, TRUNCATE and DROP arms all PASS; here each of those three is red. - :306: the 42501 for a role without SELECT has a control: given SELECT, the same role reads the extent. Under column_extent() refused to every non-superuser, main is 36/36 green; here the control is red. - :129/:237: three checks named premise: test product code (parallel_copy, expire, compact_rewrite) and are arms (commandprompt#1236), renamed in both twins. expire returning 0 and compact_rewrite returning 0 redden two of them. Clean: 39/39 and pytest 7 passed on each of 15-19. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nt fixes (commandprompt#1339) Five-major clean runs of the three suites, each mutation merged with --target naming every arm it reddens. Three column_extent rows renamed (premise: dropped) with their history. Rows 2316 -> 2320, never 1796 -> 1794. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1b802ff to
9c1113c
Compare
|
@jdatcmd, rebased onto 8af86e8 (#1350 merged). The new head is 9c1113c, replacing 1b802ff. Ledger: 2340 / 1801, as you expected. Conflicts.
Test files. Their changed lines match 1b802ff exactly. Checks.
I'll ping when CI is green. |
|
A correction to my last comment. I said CI ran the merged tier_partition suite on every major. It doesn't: the suite matrix and the cluster pytest run on PG 17 and 18 only (both PASS tier_partition). I'm running tier_partition and test_tier_partition.py on this head on 15, 16 and 19 myself, and will post the numbers. Treat 'ready' as pending that. |
jdatcmd
left a comment
There was a problem hiding this comment.
Re-approving 9c1113c.
- Ledger: a recount gives 2340 / 1801, which agrees with the budget. No duplicate keys, no dated
premise:row. - Patch: the collation_change and column_extent files are byte-identical to f041080, the head I reviewed. The tier_partition changes are the same patch as before; only the lines #1350 added around them moved.
- Database-free set: 429 passed on this head.
Merging.
|
The promised numbers for the merged head 9c1113c, now on main. They cover the majors CI doesn't run:
With CI's 17 and 18, the merged file of #1350's arms and mine is green on all five. |
Part of #1339: the first batch of the files you assigned me, as claimed there. Each fix was shown red first: the named mutation leaves main green and turns this branch red, in both twins. Where main was already red, I say so.
collation_change (round two, items 2 and 7)
cannot_run("no en_US collation"): not a reason inUNRUNNABLE_REASONSVacuityError: unrunnable reason 'no en_US collation' is not one of (…). here:UNRUN … MISSING_DEPENDENCY: no en_US collation, and the run exits 67, as an unexpected unrunnable must.same()/same2()/_samesaid "same" for two empty answerscolumnar [] heap []in both twins.column_extent()returned nothingcolumn_extent()returning no row: main 11/11 and pytest green; heregot [none] want [B0|m6], red in both twins.tier_partition:150 (weak)
The other-wrapper refusal now also requires that no file was written. This is an accuracy fix, not a closed gap. With the wrong-wrapper branch removed, main's arm was already red (
HV00D, not42809), so the SQLSTATE alone caught that mutation. The arm now also states what a refusal after the export would leave behind:HV00D|file.column_extent
:288/:225: "TRUNCATE removes", "DROP TABLE removes them" and "it did move" proved the removal or movement of an extent nobody showed existedPgColumnarExtentPreCommitreturns at once), main's fifty-writers, TRUNCATE and DROP arms all pass; here they're red.:306: a 42501 for a role without SELECT could also come from a function refused to everyonecolumn_extent()refused to every non-superuser: main 36/36 green; here the control is red (42501).:129/:237:premise:on parallel_copy, expire and compact_rewrite, which are product codeexpirereturning 0 andcompact_rewritereturning 0 each redden theirs, so both are dated. The parallel_copy one stays never.Evidence
collation_change12/12 andcolumn_extent39/39 on each of 15–19.tier_partition71/71 on 18–19, and 70 + 1 named SKIP on 15–17 (as on main). The three pytest files pass on each.compare_to_bash: 0 missing for all three.shellcheck -S warningis clean. The guard half passes. No pytest tests added; the new arms live inside existing tests.premise:added: the count is 27, the same as main's, which test: no premise the ledger has seen go red, and a gate rule against it (#1236) #1347 handles. Gate against origin/main: census agrees, ceiling 246.Next from my list:
test_partition_lifecycle(:92,:203,:497,:77), after #1350 merges, because it uses #1350'srefusal()helper. Thentest_ttl_expire,test_iceberg_fdw:367andtest_prepared_writes:89.🤖 Generated with Claude Code