Skip to content

Conversation

@hiroyukinakazato-db
Copy link

Changes

This PR adds comprehensive documentation for Switch, an LLM-powered transpiler integrated into Lakebridge. Switch converts SQL and other source formats into Databricks notebooks using Large Language Models.

What does this PR do?

Adds complete documentation for the Switch transpiler, covering installation, usage, configuration, architecture, and troubleshooting. Switch enables LLM-based code conversion through the llm-transpile command, processing local files and uploading them to Unity Catalog Volumes automatically.

Relevant implementation details

New Documentation:

  • docs/lakebridge/docs/transpile/pluggable_transpilers/switch.mdx - Comprehensive Switch guide including:
    • Installation with --include-llm-transpiler true flag
    • CLI usage via llm-transpile command
    • Command-line configuration parameters
    • Processing architecture and workflows
    • Custom prompt creation
    • Troubleshooting guide

Updated Existing Documentation:

  • docs/lakebridge/docs/overview.mdx - Added Switch to transpiler list
  • docs/lakebridge/docs/transpile/overview.mdx - Added Switch section with key characteristics
  • docs/lakebridge/docs/transpile/pluggable_transpilers/index.mdx - Updated to mention Switch installation

Caveats/things to watch out for when reviewing:

  • This is a draft: The llm-transpile command usage documentation in switch.mdx may need updates as the integration implementation evolves
  • Current assumptions in the new Switch documentation:
    • Switch is installed as an optional direct dependency
    • The llm-transpile command takes local input paths and automatically uploads to Volumes
    • Catalog and schema are configured during installation (not at runtime)
    • All configuration is provided via command-line arguments (e.g., --endpoint-name) which are converted to job parameters (e.g., endpoint_name)

Linked issues

Resolves #2044

Functionality

  • added relevant user documentation
  • added new CLI command
  • modified existing command: databricks labs lakebridge ...

Tests

  • manually tested
  • added unit tests
  • added integration tests

Add comprehensive Switch documentation and references to existing docs:
- New switch.mdx with installation, usage, and configuration guide
- Updated overview.mdx to mention Switch transpiler
- Updated transpile/overview.mdx with Switch section and comparison
- Updated pluggable_transpilers/index.mdx with Switch installation info

Switch is an LLM-powered transpiler using Mosaic AI Model Serving
for SQL and generic source format conversion to Databricks notebooks.
- Change installation to require --include-llm-transpiler true flag
- Update CLI usage to llm-transpile command
- Change input paths from Workspace to local (auto-uploaded to Volume)
- Replace --output-folder with --output-ws-folder
- Remove --transpiler-config-path and config.yml references
- Remove --catalog-name and --schema-name (configured during installation)
- Convert configuration from config.yml to command-line arguments
- Update all examples to reflect new command structure
… index

Switch is now installed as an optional direct dependency rather than
in .databricks/labs/remorph-transpilers/switch/
@github-actions
Copy link

github-actions bot commented Oct 18, 2025

✅ 51/51 passed, 11 flaky, 3m36s total

Flaky tests:

  • 🤪 test_validate_invalid_source_tech (176ms)
  • 🤪 test_validate_non_empty_tables (7ms)
  • 🤪 test_validate_mixed_checks (175ms)
  • 🤪 test_validate_table_not_found (0s)
  • 🤪 test_validate_invalid_schema_path (1ms)
  • 🤪 test_transpiles_informatica_to_sparksql_non_interactive[False] (16.59s)
  • 🤪 test_transpiles_informatica_to_sparksql (17.246s)
  • 🤪 test_transpile_teradata_sql_non_interactive[True] (18.641s)
  • 🤪 test_transpiles_informatica_to_sparksql_non_interactive[True] (3.848s)
  • 🤪 test_transpile_teradata_sql (20.439s)
  • 🤪 test_transpile_teradata_sql_non_interactive[False] (6.081s)

Running from acceptance #2886

@gueniai gueniai added the documentation Improvements or additions to documentation label Oct 19, 2025
@codecov
Copy link

codecov bot commented Oct 27, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 63.61%. Comparing base (fcf9cf9) to head (25b7f17).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2102      +/-   ##
==========================================
- Coverage   64.55%   63.61%   -0.94%     
==========================================
  Files          96       98       +2     
  Lines        7953     8210     +257     
  Branches      826      839      +13     
==========================================
+ Hits         5134     5223      +89     
- Misses       2640     2807     +167     
- Partials      179      180       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@hiroyukinakazato-db hiroyukinakazato-db marked this pull request as ready for review November 5, 2025 03:54
@hiroyukinakazato-db hiroyukinakazato-db requested a review from a team as a code owner November 5, 2025 03:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[DOCS]: Add comprehensive Switch transpiler documentation

3 participants