Description
src/vdbe/pragma.rs has no handling for PRAGMA synchronous — it's silently ignored rather than rejected or acted upon, so every commit unconditionally does full fsyncs (matching only SQLite's synchronous=FULL default) and there is no way to opt into NORMAL/OFF semantics. This is a parity gap against real SQLite, not the cause of the current benchmark's 10x gap (both benchmark sides use library defaults, so it's apples-to-apples) — filed separately as lower priority.
Complexity
Estimate: medium
Reasoning: Requires deciding how synchronous interacts with the existing rollback-journal/WAL fsync call sites (src/pager.rs:589,597,697) — not just a parse-and-store no-op, since it should actually change fsync behavior for NORMAL/OFF to be meaningful, which touches pager commit logic and needs spec/ADR consideration for durability semantics.
Context
Surfaced during the same 4-agent investigation as the DDL-reparse and tokenizer tickets, but is an independent parity gap rather than a perf-bug contributor.
Acceptance Criteria
Description
src/vdbe/pragma.rshas no handling forPRAGMA synchronous— it's silently ignored rather than rejected or acted upon, so every commit unconditionally does full fsyncs (matching only SQLite'ssynchronous=FULLdefault) and there is no way to opt intoNORMAL/OFFsemantics. This is a parity gap against real SQLite, not the cause of the current benchmark's 10x gap (both benchmark sides use library defaults, so it's apples-to-apples) — filed separately as lower priority.Complexity
Estimate: medium
Reasoning: Requires deciding how
synchronousinteracts with the existing rollback-journal/WAL fsync call sites (src/pager.rs:589,597,697) — not just a parse-and-store no-op, since it should actually change fsync behavior for NORMAL/OFF to be meaningful, which touches pager commit logic and needs spec/ADR consideration for durability semantics.Context
Surfaced during the same 4-agent investigation as the DDL-reparse and tokenizer tickets, but is an independent parity gap rather than a perf-bug contributor.
Acceptance Criteria
PRAGMA synchronousis recognized and stored per-connectionPRAGMA synchronousround-trips (PRAGMA synchronousquery returns the set value)