Skip to content

Commit 031d8fe

Browse files
authored
Release v0.10.5 (#1835)
## Converters improvements ### General - **XML Encoding Support**: The `_process_one_file` function now detects and correctly handles XML files with internally-specified encoding (e.g., Windows-1252), ensuring successful parsing and conversion of non-UTF-8 files in transformation pipelines. [[#1828]](#1828) - **Test Enhancements**: Updates to test cases (`test_transpiles_informatica_with_sparksql`, `test_transpiles_all_dbt_project_files`) were made to increase reliability and provide better logging. [[#1828]](#1828) ### Morpheus transpiler - **Temporary and Transient Table Support Across Dialects**: - Adds parsing and SQL generation for `TEMPORARY`, `TRANSIENT`, `VOLATILE`, and other table types. - Databricks currently treats `TRANSIENT` tables as `TEMPORARY` (still in private preview); `READ ONLY` not yet supported.[](#398) - **Enhanced Support for T-SQL `SET` Statement Options**: - Parsers now recognize `SET OPTION ON|OFF` and generate structured error messages for unsupported options. - Adds support for finer-grained parsing of T-SQL options like `SET ANSI_NULLS`, `SET ARITHABORT`, etc.[](#399) - **Fix: CTEs in Subqueries**: - Corrects issue where `WITH` clauses inside DDLs (e.g. `CREATE TABLE AS`) were previously ignored by not invoking the correct visitor.[](#403) - **IR Refinement for `CREATE` Commands**: - Introduces a new `CreateCommand` node to better mirror SQL grammar, consolidating and simplifying previous IR structures (e.g., removing `ReplaceTable` and `ReplaceTableAsSelect`) - **CREATE VIEW Implementation**: - Implements the `createView` grammar and logic with visitor methods and meaningful error messages for unsupported options.[](#408) ### BladeBridge Transpiler - **UPDATE to MERGE Logic**: - Conversion logic for `UPDATE...FROM` to `MERGE` implemented - **Post-processing Improvements**: `convert_update_to_merge` function now ensures statement termination by checking for trailing semicolons. - **Oracle Data Type Mapping Fixes**: - `NUMBER` without precision now maps to `DECIMAL(38,18)` instead of `DECIMAL(10,0)`. - Corrects `Timestamp` mapping and converts `Char(length)` to `STRING`. - `SYSTIMESTAMP` is now translated to `CURRENT_TIMESTAMP()` - **Datastage SET VARIABLE Handling**: - Updates SET VARIABLE component transformation to behave like standard column expressions and prepends `SELECT` as required.[](databrickslabs/bladerunner#409) --- ## Reconcile Improvements - **Use of Existing Warehouse During Configure-Reconcile**: - The reconcile configuration now checks for an existing `warehouse_id` in the user's Databricks config. - If present, it uses the existing SQL warehouse (with `CAN_USE` permission) instead of creating a new one. - Logs warehouse details and defers deletion for reusability. [[#1825]](#1825) --- ## Documentation updates - **Databricks Auth Profiles and `--profile` Option**: - Users can now specify which Databricks workspace to use with the `--profile` flag during installation. - Adds command to list available profiles. [[#1813]](#1813) - **Export Instructions for Microsoft SQL Server and Azure Synapse**: - Step-by-step guides added for extracting view, table, and procedure DDLs using: - SQL Server Management Studio (SSMS), - Azure Synapse Studio, - PowerShell via `Export-AzSynapseSqlScript` for Synapse Serverless. - Screenshots and Microsoft documentation links included. [[#1812]](#1812) ## Dependency Updates: - Updated `databricks-labs-blueprint` version. - Added `pytest-timeout` for improved test reliability. [[#1828]](#1828)
1 parent 9a45da8 commit 031d8fe

File tree

2 files changed

+72
-1
lines changed

2 files changed

+72
-1
lines changed

CHANGELOG.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,76 @@
11
# Version changelog
22

3+
## 0.10.5
4+
5+
## Converters improvements
6+
7+
### General
8+
9+
- **XML Encoding Support**: The `_process_one_file` function now detects and correctly handles XML files with internally-specified encoding (e.g., Windows-1252), ensuring successful parsing and conversion of non-UTF-8 files in transformation pipelines. [[#1828]](https://github.com/databrickslabs/lakebridge/issues/1828)
10+
11+
- **Test Enhancements**: Updates to test cases (`test_transpiles_informatica_with_sparksql`, `test_transpiles_all_dbt_project_files`) were made to increase reliability and provide better logging. [[#1828]](https://github.com/databrickslabs/lakebridge/issues/1828)
12+
13+
### Morpheus transpiler
14+
15+
- **Temporary and Transient Table Support Across Dialects**:
16+
- Adds parsing and SQL generation for `TEMPORARY`, `TRANSIENT`, `VOLATILE`, and other table types.
17+
- Databricks currently treats `TRANSIENT` tables as `TEMPORARY` (still in private preview); `READ ONLY` not yet supported.[](https://github.com/databrickslabs/lakebridge/pull/398)
18+
19+
- **Enhanced Support for T-SQL `SET` Statement Options**:
20+
- Parsers now recognize `SET OPTION ON|OFF` and generate structured error messages for unsupported options.
21+
- Adds support for finer-grained parsing of T-SQL options like `SET ANSI_NULLS`, `SET ARITHABORT`, etc.[](https://github.com/databrickslabs/lakebridge/pull/399)
22+
23+
- **Fix: CTEs in Subqueries**:
24+
- Corrects issue where `WITH` clauses inside DDLs (e.g. `CREATE TABLE AS`) were previously ignored by not invoking the correct visitor.[](https://github.com/databrickslabs/lakebridge/pull/403)
25+
26+
- **IR Refinement for `CREATE` Commands**:
27+
- Introduces a new `CreateCommand` node to better mirror SQL grammar, consolidating and simplifying previous IR structures (e.g., removing `ReplaceTable` and `ReplaceTableAsSelect`)
28+
29+
- **CREATE VIEW Implementation**:
30+
- Implements the `createView` grammar and logic with visitor methods and meaningful error messages for unsupported options.[](https://github.com/databrickslabs/lakebridge/pull/408)
31+
32+
33+
### BladeBridge Transpiler
34+
35+
- **UPDATE to MERGE Logic**:
36+
- Conversion logic for `UPDATE...FROM` to `MERGE` implemented
37+
- **Post-processing Improvements**: `convert_update_to_merge` function now ensures statement termination by checking for trailing semicolons.
38+
39+
- **Oracle Data Type Mapping Fixes**:
40+
- `NUMBER` without precision now maps to `DECIMAL(38,18)` instead of `DECIMAL(10,0)`.
41+
- Corrects `Timestamp` mapping and converts `Char(length)` to `STRING`.
42+
- `SYSTIMESTAMP` is now translated to `CURRENT_TIMESTAMP()`
43+
44+
- **Datastage SET VARIABLE Handling**:
45+
- Updates SET VARIABLE component transformation to behave like standard column expressions and prepends `SELECT` as required.[](https://github.com/databrickslabs/bladerunner/pull/409)
46+
---
47+
## Reconcile Improvements
48+
49+
- **Use of Existing Warehouse During Configure-Reconcile**:
50+
- The reconcile configuration now checks for an existing `warehouse_id` in the user's Databricks config.
51+
- If present, it uses the existing SQL warehouse (with `CAN_USE` permission) instead of creating a new one.
52+
- Logs warehouse details and defers deletion for reusability. [[#1825]](https://github.com/databrickslabs/lakebridge/issues/1825)
53+
54+
---
55+
## Documentation updates
56+
57+
- **Databricks Auth Profiles and `--profile` Option**:
58+
- Users can now specify which Databricks workspace to use with the `--profile` flag during installation.
59+
- Adds command to list available profiles. [[#1813]](https://github.com/databrickslabs/lakebridge/issues/1813)
60+
61+
- **Export Instructions for Microsoft SQL Server and Azure Synapse**:
62+
- Step-by-step guides added for extracting view, table, and procedure DDLs using:
63+
- SQL Server Management Studio (SSMS),
64+
- Azure Synapse Studio,
65+
- PowerShell via `Export-AzSynapseSqlScript` for Synapse Serverless.
66+
- Screenshots and Microsoft documentation links included. [[#1812]](https://github.com/databrickslabs/lakebridge/issues/1812)
67+
68+
69+
## Dependency Updates:
70+
- Updated `databricks-labs-blueprint` version.
71+
- Added `pytest-timeout` for improved test reliability. [[#1828]](https://github.com/databrickslabs/lakebridge/issues/1828)
72+
73+
374
## 0.10.4
475

576
* Added Source Tech Override for Analyzer ([#1806](https://github.com/databrickslabs/lakebridge/issues/1806)). The Analyzer command has been enhanced with a `source-tech` flag, allowing users to specify the Source System Technology to analyze directly in the command line call.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# DO NOT MODIFY THIS FILE
2-
__version__ = "0.10.4"
2+
__version__ = "0.10.5"

0 commit comments

Comments
 (0)