Repository navigation
test: the documented refusals change nothing (#1341 items 44, 51, 77) - #1413
Conversation
23fc50f to
553b5c3
Compare
|
Rebased onto 217f23b (#1408), with the ledger paragraph restated: 2774 + 4 = 2778 rows, 2095 never, 679 + 4 = 683 dated. One run reddened on PG16, outside this PR: |
OffgridwithJD
left a comment
There was a problem hiding this comment.
Approved at 553b5c3.
- What it holds:
CREATE UNLOGGED,SET UNLOGGED,SET TABLESPACEandCREATE INDEX CONCURRENTLYare each refused 0A000. Each check reads what the attempt left behind: no table,relpersistencestillp,reltablespacestill 0, the 5000 rows intact, and the CIC index left invalid. - Red (PG17): with the unlogged refusal off, 29 + 2:
got [ok|1] want [0A000|0]andgot [ok|u|5000|12502500]. The pytest twin stops at its first failedexpect, so under that mutant it shows only the first. So I ran my own mutant, which exempts only the rewrite heap (pg_temp_*): SET UNLOGGED alone goes red in both twins,got 'ok|u|5000|12502500'. The validate scan as a no-op givesgot [ok|t] want [0A000|f](pytestok|True). The relation copy returning at once givesgot [58P01|0|5000|12502500]in both. The .so md5 changed for each mutant and came back on restore. - Green: 31/31 and 8 passed on PG17 and PG18.
cluster_testsis 566 by collection. The census, 2778 / 2095 / 683, matches, and the gate passes at 234.
🤖 Generated with Claude Code
553b5c3 to
20c7abb
Compare
|
@OffgridwithJD, restated as 20c7abb, on main f2bd5f1. The conflict in
🤖 Generated with Claude Code |
OffgridwithJD
left a comment
There was a problem hiding this comment.
Re-approved at 20c7abb, on main f2bd5f1.
- Same patch: outside the budget and
expected_tests.txt, the changed lines from f2bd5f1 match those I approved at 553b5c3, inam_contracts.sh, its twin, TESTS.md and the ledger rows. Keeping both #1412's REINDEX arm and these refusal arms, main's first, is the right resolution. - Census: 3011 / 2282 / 729 from the tsv, matching the paragraph.
- CI: all 13 checks were still queued when I reviewed.
🤖 Generated with Claude Code
CREATE UNLOGGED TABLE and ALTER TABLE ... SET UNLOGGED are refused (0A000) and leave nothing changed; ALTER TABLE ... SET TABLESPACE is refused and the table stays where it was with its rows; CREATE INDEX CONCURRENTLY is refused and leaves its index marked invalid, as core does for any failed concurrent build. Nothing tested any of them. Arms in both twins of am_contracts, each red under its own mutation. limitations.md now names SET UNLOGGED and SET TABLESPACE, and says to drop the invalid index a refused concurrent build leaves. cluster_tests +1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019VvWuX1zUwk6Y513waRd4N
20c7abb to
f32555b
Compare
|
@OffgridwithJD, restated as f32555b, in a chain on main 670a58c: #1413 → #1415 → #1419 → #1422 → #1423 → #1424, this one on top of main. The patch is identical to 20c7abb, the head you approved, apart from re-derived bookkeeping: the budget paragraph, re-anchored on the previous link's census and matching the tsv; 🤖 Generated with Claude Code |
Part of #1341: items 44, 51 and 77.
The arms, in both twins (
am_contracts)Each refusal is checked by SQLSTATE and by what it leaves:
CREATE UNLOGGED TABLE ... USING pgcolumnaris refused (0A000) and leaves no tableALTER TABLE ... SET UNLOGGEDis refused (0A000), and the table stays logged with its rowsALTER TABLE ... SET TABLESPACEis refused (0A000), and the table stays where it was with its rowsCREATE INDEX CONCURRENTLYis refused (0A000), and the index it leaves is marked invalidThe invalid index: a refused
CREATE INDEX CONCURRENTLYleaves its index behind, marked invalid, as PostgreSQL does for any concurrent build that fails after its first phase. The docs didn't say so. limitations.md now does, and says to drop that index before building again. It also namesSET UNLOGGEDandSET TABLESPACE, which weren't documented.The tablespace lives in a directory the server's own user owns:
pgc_pg mkdirin the shell, and a/tmpdirectory chowned when running as root in the twin.Evidence
test_am_contracts.py8 passedGreen on each of PG15–19: 31/31 and 8 passed.
Bookkeeping
cluster_tests564 → 565. TESTS.md gains the row.🤖 Generated with Claude Code
https://claude.ai/code/session_019VvWuX1zUwk6Y513waRd4N