Skip to content

fix: sync :duckdb into PRQL.Native.CompileOptions target typespec#5823

Merged
max-sixty merged 1 commit intomainfrom
fix/elixir-native-duckdb-typespec
Apr 23, 2026
Merged

fix: sync :duckdb into PRQL.Native.CompileOptions target typespec#5823
max-sixty merged 1 commit intomainfrom
fix/elixir-native-duckdb-typespec

Conversation

@prql-bot
Copy link
Copy Markdown
Collaborator

Summary

PRQL.target() in lib/prql.ex (the public Elixir type) lists :duckdb among accepted dialects, and the NIF in native/prql/src/lib.rs maps the duckdb atom to Dialect::DuckDb. However, PRQL.Native.CompileOptions.target() in lib/prql/native.ex — the struct that actually carries the dialect into the NIF — was missing :duckdb.

This was a leftover from #5817 (which added DuckDB to the public type spec and the Rust NIF but not to the internal struct spec). Dialyzer would flag setting target: :duckdb on the compile options struct, even though the runtime accepts it.

#5821 (Oracle) correctly updated all three files; this PR syncs the one spec #5817 missed.

Test plan

  • No behavioral change — purely a type-spec fix for a dialect already accepted at runtime
  • Elixir binding tests (test-elixir) still pass on CI

PRQL.target() and the NIF's target_from_atom already accept :duckdb
(via #5817), but PRQL.Native.CompileOptions.target() was missed —
Dialyzer would flag target: :duckdb on the struct despite the
runtime accepting it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@max-sixty max-sixty merged commit ab89a8b into main Apr 23, 2026
36 checks passed
@max-sixty max-sixty deleted the fix/elixir-native-duckdb-typespec branch April 23, 2026 16:53
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.

2 participants