Repository navigation
Plan D-SQLP: keep quack's NULL semantics and ternlog fusion - #1478
Conversation
The R2IL path lowers Filter::sql_where's output, so three-valued WHERE arrives as an ordinary mask expression over validity planes: no new NULL representation, opcode family or evaluator. FoldDialect wires IntOr and hands a body's Boolean calls to mask-risc's fuse, as lower_fused does. W5 runs quack's sql_null_3vl.rs cases through the procedure path against the same Kleene oracle, byte-identical to lower_fused(sql_where(f)). NULL literals, COALESCE, NULLIF and nullable arithmetic are scoped W7 extensions, oracle-first. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015JH7YkXs5us6g3tG8NiFfP
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing (2)
Warning Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 32c26d6162
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- FoldDialect keeps quack's two pinned shapes: in-place (lower) and fused (lower_fused); W5 byte-identity is per mode. - NULL extensions are predicate rewrites that expand into validity-mask algebra; value-producing forms and nullable arithmetic are OPEN (need a derived value lane), IntAdd stays scalar-only. - sql_null_3vl.rs MinI32/MaxI32 cases join W5 only after W7's MIN/MAX. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015JH7YkXs5us6g3tG8NiFfP
This is a follow-up to #1476, which merged before this commit was pushed. It changes the plan and board only; no code changes.
What changes in the plan
Filter::sql_where, never the raw filter.WHEREtherefore arrives as an ordinary mask expression over validity planes.FoldDialectgets two changes that nullableWHEREand ternlog fusion depend on.IntOrontoMaskOp::Or. It is unwired today, andsql_whereemits OR.fuseinstead of emitting oneMaskOpper call. This matches what quack'slower_fuseddoes.tests/sql_null_3vl.rsalso runs through the procedure path, checked against the same row-by-row three-valued oracle.Programmust be byte-identical tolower_fused(sql_where(f)).COALESCE,NULLIF, nullable arithmetic.sql_null_3vl.rs's oracle first, then in the procedures.Checks run
plan_dids.pypasses.SUPERSESSION-INDEX.mdregenerated; it is unchanged.🤖 Generated with Claude Code
https://claude.ai/code/session_015JH7YkXs5us6g3tG8NiFfP
Generated by Claude Code
Summary by CodeRabbit
IntOrsupport and fused Boolean operations.