Propagate dolt_diff read failures - #2003
Conversation
Return failed HEAD catalog reads instead of presenting an empty working diff. Separate schema scan status from its boolean result so prolly iterator and cursor failures reach the virtual-table caller, and close partially opened diff iterators on error. Co-Authored-By: OpenAI Codex <noreply@openai.com>
DoltLite source coverage
Merged 164 pooled raw profiles from the distributed Linux correctness jobs. Per-file coverage (91 files)
|
|
SummaryCoverage spans normal schema and data-change detection, historical and staged/working comparisons, and recovery after damaged or missing saved state. It also exercises adversarial read failures and retries, verifying that errors surface cleanly without fabricated, partial, stale, or duplicate results and that valid scans recover afterward. Safe to merge — the exercised behavior is healthy across normal flows and failure-recovery paths, with no PR-attributable regressions or unresolved failures. No merge blocker is indicated by this run. Tests run by Ito
Tip Reply with @itoqa to send us feedback on this test run. |
DoltLite performance vs PR base
blobpk details
compositepk details
int details
textpk details
vc details
All relative performance gates passed. |

Summary
dolt_diffworking and staged scans instead of treating them as an empty diffFailure before
computeWorkingBatch()returnedSQLITE_OKwhenever loading the HEAD commit failed. Acommit_hash='WORKING'query therefore reported zero rows for a missing or unreadable HEAD instead of reporting corruption or I/O failure.The special
dolt_schemasscanners had the same ambiguity: their integer return value represented only whether a view or trigger was found, so iterator-open, iterator-step, cursor-first, and cursor-next failures all became “no schema change.”Validation
test/doltlite_diff.sh: 41 passed, 0 failedtest/vc_oracle_diff_test.sh: 67 passed, 0 failedtest/run_doltlite_tests.sh build/doltlite: 99/99 suitesmake lintgit diff --checkCo-Authored-By: OpenAI Codex noreply@openai.com