Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Add integration tests for IS NULL / IS NOT NULL through full parse-to-execute stack #214

Copy link
Copy link

Description

@DaveRMaltby
Issue body actions

Discovered by: /uber-report 2026-05-10 (SqlBuildingBlocks QA)

Context

DBNull three-valued logic in WHERE/JOIN predicates was fixed in Wave 13 (issue #186). Unit-level coverage in QueryEngineTests.cs includes hand-built AST tests, but none of the integration tests in AnsiSqlScenarioTests.cs or MySqlScenarioTests.cs exercise nullable column predicates through a parsed SQL string. Hand-built AST tests bypass the grammar''s column-type inference path.

Proposed Work

Add to AnsiSqlScenarioTests.cs:

  1. Scenario_NullableColumn_IsNull_FiltersCorrectlyWHERE col IS NULL returns only null rows
  2. Scenario_NullableColumn_IsNotNull_FiltersCorrectlyWHERE col IS NOT NULL returns only non-null rows
  3. Scenario_NullableColumn_EqualityWithNull_ExcludesNullRowsWHERE nullable_col = 5 excludes null rows (SQL three-valued logic)

Each test must use a parsed SQL string. Nullable column declared via typeof(int?) in AddTable to exercise the AllowDBNull unwrap path.

Acceptance Criteria

  • All 3 tests parse SQL through the grammar and execute through QueryEngine
  • Results match three-valued SQL logic
  • All pass under dotnet test --configuration Release
Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    Morty Proxy This is a proxified and sanitized view of the page, visit original site.