Skip to content

fix: type null-only SQL test fixtures - #754

Merged
kvlonge merged 1 commit into
mainfrom
fix/typed-null-fixtures
Sep 20, 2026
Merged

kvlonge merged 1 commit into
mainfrom
fix/typed-null-fixtures

Conversation

@kvlonge

@kvlonge kvlonge commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

Why

A SQL test fixture can supply a contracted column as bare NULL, leaving the warehouse with an untyped boundary even though SQLBuild already knows the authoritative relation type. Type-sensitive downstream expressions can then fail compilation for otherwise valid empty fixtures.

Changes

  • retain direct bare-NULL projection facts during fixture inference;
  • cast only those null-only outputs to authoritative expected types during fixture completion;
  • preserve explicit types, set-operation values, unknown expressions, and quoted/unquoted identifier semantics across adapters;
  • keep fixture inference to one pass per fixture;
  • add unit, integration, and CLI E2E regression coverage.

Verification

  • 49 focused fixture inference, completion, and SQL-test assembly tests;
  • 14 focused post-review adapter and edge-case tests;
  • make check-ci;
  • sanctioned unit and integration suite: 6,776 passed;
  • independent read-only review with both findings fixed;
  • public-repository hygiene scan and publication hooks.

@kvlonge
kvlonge enabled auto-merge (squash) September 20, 2026 12:16
@kvlonge
kvlonge merged commit 7ca2da3 into main Sep 20, 2026
17 checks passed
@kvlonge
kvlonge deleted the fix/typed-null-fixtures branch September 20, 2026 12:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant