Repository navigation
test: every relation-taking entry point names where its bar is asserted, and four with none get arms (#1386) - #1404
Conversation
jdatcmd
left a comment
There was a problem hiding this comment.
Reproduced the shell half at cbe9b52 on PG18. entry_point_privilege is 42/42.
- The #1386 case: a
zz_mutant_leak(r regclass)appended to the install script gives 41 + 1:every claimed-guarded entry point names the suite that asserts its bar (#1386): got [ zz_mutant_leak] want [none]. truncatewithout its owner check: 41 + 1,truncate refuses an unprivileged caller with 42501: got [noerror] want [42501].
The map points at a call in both twins, as discussed on #1386, and the stale-entry arm covers the other direction. I didn't run the pytest half, since it needs #1381's twin. Approving. I'll merge it after #1381, as your merge-order note says, once it's restated and green.
🤖 Generated with Claude Code
cbe9b52 to
b18ad82
Compare
|
Rebased onto 57f6e0e (#1401), on top of #1403. The new head is b18ad82. Only the count files changed, so this needs your re-approval.
🤖 Generated with Claude Code |
|
Re-run finished on the tree after #1403 (758039f or later). Everything is green, so the head above stands:
🤖 Generated with Claude Code |
b18ad82 to
c567973
Compare
|
Rebased onto 7da848d (#1432, #1409). The new head is c567973; only the count files changed, so please re-approve this head.
🤖 Generated with Claude Code |
c567973 to
ee1c4bf
Compare
|
Rebased onto 1f7b5da (#1411, #1412, #1417, #1418). The new head is ee1c4bf. Only the count files changed, plus TESTS.md section numbers where main took 115, so please re-approve this head.
🤖 Generated with Claude Code |
|
The PG18 re-run on this head (ee1c4bf, on 1f7b5da with #1412's index-build change) is all green:
🤖 Generated with Claude Code |
|
Rebased onto 37ea557 (#1414, #1425). The new head is ef2d21c. Only the count files changed, so please re-approve this head.
🤖 Generated with Claude Code |
ee1c4bf to
ef2d21c
Compare
|
Rebased onto f2bd5f1 (#1427). The new head is c44dac1. Only the count files changed, so please re-approve this head.
🤖 Generated with Claude Code |
ef2d21c to
c44dac1
Compare
|
Rebased onto d5c0a5e (#1391). The new head is 905b2b1, so please re-approve this head.
🤖 Generated with Claude Code |
c44dac1 to
905b2b1
Compare
|
Rebased onto 2d1a77f (#1413–#1424). The new head is e5b2d63, so please re-approve this head.
🤖 Generated with Claude Code |
905b2b1 to
e5b2d63
Compare
jdatcmd
left a comment
There was a problem hiding this comment.
Re-approved at e5b2d63, the rebase onto 2d1a77f. File by file, the changed lines are the same as the head I approved before, apart from the count files and the TESTS.md section number.
🤖 Generated with Claude Code
…ws are reworded The mutation column is a ';'-separated set, written back sorted. A --mutation whose text held "; " was stored as two mutations, one a fragment starting with a space, and every later merge re-sorted it. commandprompt#1427's recovery_minimal_wal text did this to 8 rows, and commandprompt#1423, commandprompt#1424 and commandprompt#1426 each carried them as a change of their own. Four older harness_selftest rows were split the same way. - merge refuses a --mutation holding ';' (rc 2, ledger untouched). - the reader refuses a ';'-piece with whitespace at an end, by line: the writer joins with a bare ';', so such a piece is a fragment, never a mutation. - the 12 rows are reworded without ';', from their original text in history. Only field 6 changes; the census stays 3007 / 2282 / 725. Red first: the two refusal arms got 0 want 2 on the unchanged tool, and the committed-ledger arm was red at line 1783 with the refusal in and the rows not yet reworded. guard_tests 435 -> 438 by collection. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rompt#1341 item 75) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VjTxfQJj5pnii9wzmPP9Ho
…ment-mark mutation (commandprompt#1341 item 75) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VjTxfQJj5pnii9wzmPP9Ho
…wn privileges, in both twins (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VjTxfQJj5pnii9wzmPP9Ho
…d the refused tier writes no file, in both twins (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VjTxfQJj5pnii9wzmPP9Ho
commandprompt#1383 review) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VjTxfQJj5pnii9wzmPP9Ho
…name (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… arm runs with the configured list empty, in both twins (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…n comparing two empty strings (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…andprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d the shell names 'empty' itself (commandprompt#1379 review) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VjTxfQJj5pnii9wzmPP9Ho
…dated (commandprompt#1379 review) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VjTxfQJj5pnii9wzmPP9Ho
…l's name (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…0) and leaves nothing declared, in both twins (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ts connections (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…mandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Restated for the chain you asked for. The new head is 20cfe03, so please re-approve this head.
🤖 Generated with Claude Code |
e5b2d63 to
20cfe03
Compare
jdatcmd
left a comment
There was a problem hiding this comment.
Re-approved at 20cfe03, its place in the chain on 17420be. This PR's own commits, measured from the link below it, change the same lines as the head I approved before, apart from the count files and the TESTS.md section number.
🤖 Generated with Claude Code
…emise: prefix (commandprompt#1341) Review of commandprompt#1375 by jdatcmd: CI's suites (PG 17) ledger gate found the row seeded as 'premise: the drop really removed the projection' while projections.sh:410 and test_projections.py:795 name the check without the prefix, so the gate saw one check not in the ledger and one orphan row. The row is renamed and keeps its other fields. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e writing any statistics, in both twins (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…blings do (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… dated (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ys so (commandprompt#1341) test_a_named_column_that_does_not_exist_is_refused calls pgcolumnar.analyze(), which needs PostgreSQL 18, so it declines on 15, 16 and 17 like the other analyze_function twins. It was missing from expected_unrunnable.txt, so CI's PG17 cluster job collected and passed 578 and still exited 67 on the unexpected decline. Measured on PG17: test_analyze_function.py exits 67 without these rows and 0 with them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tored one (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…dated (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…its bar, and four that had none get arms here, in both twins (commandprompt#1386) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VjTxfQJj5pnii9wzmPP9Ho
…eir mutations (commandprompt#1386) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VjTxfQJj5pnii9wzmPP9Ho
20cfe03 to
ab57d12
Compare
|
Restacked onto #1375's fix (875429d, its projections row renamed). The new head is ab57d12, so please re-approve this head. This PR's own commits are unchanged, and nothing in its diff moved. 🤖 Generated with Claude Code |
jdatcmd
left a comment
There was a problem hiding this comment.
Re-approved at ab57d12. This PR's own commits are the same as the head I approved, rebased onto the fixed #1375.
🤖 Generated with Claude Code
Fixes #1386.
entry_point_privilegesplit the relation-taking functions into catalog-governed and "claimed-guarded", and claimed-guarded was simply everything else. A new relation-taking function with no privilege check of any kind landed there and the suite stayed green (zz_mutant_leak(regclass): 31/31, both twins).The change, in both twins
vacuum,vacuum_lock_privilege;expire,ttl_expire; the file functions,import_export_privilege. Three arms:pgcolumnar.<fn>(;cluster_hilbert,recluster_hilbert(they sharecluster's owner check in code, which is a reason to expect a refusal, not an assertion of one),truncate, andrequire_caller_select. Each is an owner call that must succeed, then a login role holding EXECUTE is refused 42501.partition_drop_candidatesandpartition_drop_planreturn whatpg_inheritsand the bounds already tell any role, and the plan's statements run as their caller.maintenance_due) is named as such, so it's still accounted for.Evidence
Run on this branch merged with #1381 (see "Merge order"):
zz_mutant_leak(regclass)added (the #1386 case)every claimed-guarded entry point names the suite…: got [ zz_mutant_leak]truncatewithout its owner checktruncate refuses an unprivileged caller with 42501: got [noerror]require_caller_selectchecks nothinggot [noerror]cluster_verb_validatewithout its owner checkMerge order
After #1381. The pytest map names
test_vacuum_lock_privilege.pyfor the maintenance verbs, and that twin arrives with #1381; on main alone, the pytest half reports it missing. Both are approved.tier_partitionandpartition_create_aheadalready map to suites that call them. Their refused-caller arms specifically arrive with #1392, also approved.Bookkeeping
cluster_testsandguard_testsdon't move. The guard set is 433/433, and the TESTS.md row is updated.🤖 Generated with Claude Code