You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
test_runner (tests/mod.rs:170) already does a 3x3 version of this over 6 hand-written queries; this generalizes it to generated queries and adds the batch-size axis.
Cache state invariance
Within one configuration, the same query must return the same rows:
Cold — nothing cached
Warm — immediately after, cache populated
After forced eviction — exercises the squeeze and hydration paths, which no current test reaches through a generated workload
run_sql_with_cache (tests/mod.rs:130) already asserts cold == warm for its six queries; the third run is new.
Why this matters independent of the differential oracle
These catch bugs where vanilla DataFusion is unavailable as a reference — unsupported types, forced-option divergence — and they attribute unambiguously: if two cache configurations disagree, exactly one of them is this repo's bug, with no upstream explanation available.
Part of #22. Depends on the harness skeleton.
Two oracles that need no reference engine at all: the cache must not change the answer, whatever its configuration or its state.
Config invariance
The same SQL over the same file, run under N cache configurations, must produce identical results. Dimensions:
Evict,TranscodeEvict,TranscodeSqueezeEvict)src/datafusion-local/src/lib.rs:186), so the mismatch is produced bySET datafusion.execution.batch_sizeafter build, exactly asbatch_size_alignment.rs:58-66does.test_runner(tests/mod.rs:170) already does a 3x3 version of this over 6 hand-written queries; this generalizes it to generated queries and adds the batch-size axis.Cache state invariance
Within one configuration, the same query must return the same rows:
run_sql_with_cache(tests/mod.rs:130) already asserts cold == warm for its six queries; the third run is new.Why this matters independent of the differential oracle
These catch bugs where vanilla DataFusion is unavailable as a reference — unsupported types, forced-option divergence — and they attribute unambiguously: if two cache configurations disagree, exactly one of them is this repo's bug, with no upstream explanation available.
Acceptance