Skip to content

spike: explore dbt Core 1.12 v2 parser support (fixes #770) - #782

Draft
axellpadilla wants to merge 1 commit into
masterfrom
feat/1.12-v2-parser-support
Draft

spike: explore dbt Core 1.12 v2 parser support (fixes #770)#782
axellpadilla wants to merge 1 commit into
masterfrom
feat/1.12-v2-parser-support

Conversation

@axellpadilla

Copy link
Copy Markdown
Collaborator

Summary

Investigation and infrastructure for dbt Core 1.12 --use-v2-parser support with the dbt-sqlserver adapter. Closes #770.

Finding

The v2 parser (dbt-core-experimental-parser 2.0.0-alpha.5 / dbt Fusion) does NOT recognize the sqlserver adapter type. Its profiles.yml validation rejects type: sqlserver as an unknown variant. Until sqlserver is added to the v2 parser's adapter registry, --use-v2-parser cannot be used with dbt-sqlserver.

What's included

Area What
Dependencies dbt-core 1.12.0 + dbt-core-experimental-parser>=2.0.0a5 (dev dep)
CI New v2-parser-tests job in integration workflow. Blocking, push/PR only.
Tests 13 test scenarios: parse, compile, build, docs generate, incremental, indexes, column types -- all marked xfail(strict=True) pending upstream support
Tooling devops/scripts/compare_manifests.py for v1 vs v2 manifest diffs
Docs docs/contributing/v2-parser.md -- status, references to source code, local setup
Make make v2-parser-test target

What happens when upstream adds sqlserver

All 13 xfail markers are strict=True. The moment dbt-core-experimental-parser adds sqlserver to its adapter enum, the test suite flips from expected-fail to expected-pass -- no code changes needed. Remove the xfail decorators and it's done.

Test output

tests/functional/adapter/v2_parser/test_v2_parser_basic.py::test_parse_with_v2_parser XFAIL
tests/functional/adapter/v2_parser/test_v2_parser_basic.py::test_compile_with_v2_parser XFAIL
...
13 xfailed in 1.01s

References

  • dbt-core 1.12 release notes: --use-v2-parser flag (#13029)
  • dbt/cli/params.py lines 805-818: flag definition, default binary path
  • dbt/parser/fusion.py: handoff logic spawning v2 parser subprocess

- add dbt-core 1.12.0 + dbt-core-experimental-parser>=2.0.0a5 dev dep
- add v2-parser-tests CI job (blocking, push/PR only)
- add 13 xfail tests: parse, compile, build, docs generate, adapter features
- add devops/scripts/compare_manifests.py for v1 vs v2 manifest diffing
- add docs/contributing/v2-parser.md with finding: sqlserver not yet supported
- add make v2-parser-test target

Finding: v2 parser rejects type=sqlserver in profiles.yml. All tests xfail
strict=True -- will auto-pass when upstream adds sqlserver adapter support.
@axellpadilla axellpadilla changed the title feat: explore dbt Core 1.12 v2 parser support (fixes #770) spike: explore dbt Core 1.12 v2 parser support (fixes #770) Jul 29, 2026
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.

Explore dbt Core 1.12 v2 parser support

1 participant