Repository navigation
test: import_arrow's dictionary refusal by SQLSTATE and message, and a compressed-body arm (#1341) - #1365
Conversation
jdatcmd
left a comment
There was a problem hiding this comment.
Approving the content at a9531ed. On PG17 I reproduced the dictionary claim with the DictionaryBatch refusal disabled:
- main: arrow_import passes 72/72. The old
expect_errorarm was satisfied by a different error,XX001 … too few buffers for the schema, exactly as the audit said. - this head: "reject dictionary-encoded file: got [XX001 …] want [0A000 …]".
Agreed on sequencing: land it after #1363, so arrow_import is seeded once, then date these two arms.
a9531ed to
792d17a
Compare
|
Rebased onto f601281: now 792d17a. Since you approved, #1363 seeded
Next in queue after this is #1369, already restated at 527bb71. 🤖 Generated with Claude Code |
…a compressed-body arm (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… the ledger, both dated (commandprompt#1341) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VjTxfQJj5pnii9wzmPP9Ho
792d17a to
f614df9
Compare
|
Restated on 1269f79 (#1388 merged): now f614df9. Only the budget conflicted. Rows 2464 + 2 = 2466; never 1895; dated 571; ceiling 244. The gate is clean against origin/main, and the test files are unchanged from the 77/77 five-major runs. Its CI will hit main's 🤖 Generated with Claude Code |
jdatcmd
left a comment
There was a problem hiding this comment.
Checked f614df9 against my approval of a9531ed:
- The test commit is unchanged:
git range-diffshows d22a475 identical to a9531ed (=). - f614df9 touches only the ledger and budget: two new rows (the compressed-body arm dated, and the pyarrow premise never), and main's
reject dictionary-encoded filemoves from never to dated by the dictionary-batch mutation. No other main row changes. The dates rest on your mutation runs, which I didn't repeat. - Counts: 2466 rows / 1895 never; ceiling 244.
- Base: 1269f79. Main has since moved only by #1390, which touches
advisory_lock_class.shalone, so the gate inputs are unchanged.
CI is 15/15 green. Approving and merging.
🤖 Generated with Claude Code
Part of #1341: the medium error-path item "import_arrow refuses dictionary-encoded files (0A000) and compressed record-batch bodies (0A000)".
expect_error, which any error satisfies.Arms
reject dictionary-encoded filekeeps its name. It now requires0A000 columnar.import_arrow does not support dictionary-encoded Arrow files, the refusal's SQLSTATE and message.reject a compressed record-batch bodyis new. pyarrow writes a zstd or lz4 IPC stream, and the arm requires the 0A000 refusal and that no row landed. A premise checks that the codec was available, and both names join the suite's named-skip list for hosts without pyarrow.PG17, main 1933577 against this branch:
expect_errortakes thatThe audit's reading holds: with its own check gone, the dictionary arm still passed on main, because a different error answered it.
Shell only:
arrow_importhas no pytest twin; that's its own #1341 item.Evidence and ledger
arrow_importisn't in the ledger on main. test: an Arrow date outside PostgreSQL's range is refused, date32 and date64; arrow_import seeds the ledger (#1341) #1363 seeds it, so once that lands I'll rebase this and date these two arms from the logs above, rather than seed the same suite twice in two PRs.🤖 Generated with Claude Code