Repository navigation
test(r13): pin HAVING / IIF truth values and P52 on every join path (R13 slice 6a) - #101
Merged
Merged
Conversation
…R13 slice 6) No engine change. The last two P62 copies - HAVING's is_truthy and IIF's own table - get a matrix column each (HAVING via QueryEngine, one group per row; IIF through both evaluators, expectations from DuckDB's if()): 15 recorded divergences. They disagree with D4 and with each other, and both read NaN as FALSE. P52 gets a corpus case on each live join path (hash INNER/LEFT/RIGHT, nested-loop INNER/LEFT/RIGHT, expression form). Only equality is wrong; three inequality guards already AGREE. Parity 217 -> 229 cases, 186 -> 190 AGREE (the four guards); report otherwise unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
R13 slice 6, first part: the pin. No engine change.
IIFas truth-value sites (the last two P62 copies). The evaluator matrix gains aHavingcolumn (each row grouped on its own throughQueryEngine) andIIF(v, true, false)rows through both evaluators; expectations from DuckDB (if(), as DuckDB has noIIF). 15 divergences recorded: the two copies disagree with D4 and with each other (empty text, dates), and both read NaN as FALSE.*_multi), and the expression form — sevenexpect = "DIFFER"cases. Probing found only equality wrong; three inequality cases already AGREE and go in as guards for 6c.predicate_text.csv:having_text_flag_as_condition(DIFFER),having_text_not_a_boolean(OURS_ONLY → BOTH_ERR after 6b), guardhaving_not_text_flag.Parity
217 → 229 cases; 186 → 190 AGREE (the four guards), 15 → 22 DIFFER, 1 → 2 OURS_ONLY. Report otherwise unchanged vs main; contract holds.
Next
6b HAVING /
IIFontoTrilean::from_value→ 6c P52 joins → 6d retireRecursiveWhereEvaluator.🤖 Generated with Claude Code