Skip to content

Commit b8259a7

Browse files
authored
# Release v0.10.11 (#2077)
## Analyzer No updates in this release ## Converters ### General - Fixed special character handling in filenames by introducing from_uri() helper function for safer URI handling - Ensured SQL converter returns UTF-8 encoded files for proper character encoding - Fixed filename to correctly output databricks_conversion_supplements.py supplemental file - Improved handling of encoding-related errors by catching UnicodeDecodeError and LookupError exceptions during file processing, creating TranspileError with specific encoding-error codes instead of stopping ### Morpheus #### Snowflake - Added support for TRUNCATE TABLE statements with proper IR and translation support - Correctly support $IDENTITY and $ROWGUID system variables - Refactored and extended grammar and AST support for SQL procedure creation with improved handling of raw string literals #### TSQL - Added support for TRUNCATE TABLE statements with proper IR and translation support - Support full CREATE and ALTER INDEX statements in TSQL parsing, rejecting INDEX CREATE/ALTER statements sensibly instead of raising syntax errors - Fixed implementation of IF scripting blocks with improvements to SQL parser, grammar enhancements, and enhanced scripting grammar for more robust handling of block statements and conditional branches - Allow CLUSTERED to be an identifier to improve CREATE TABLE syntax as a CONSTRAINT qualifier - Support percentage expressions in TSQL options (e.g., OPT = 42%) instead of raising parsing errors - Added support for REVOKE statements, similar to existing GRANT statement implementation - Ensure that ROWS and OBJECTS can be used as identifiers even with Jinja templates - Correctly support $IDENTITY and $ROWGUID system variables #### General (Multiple Dialects) - Support comments on column declarations when generating SQL and renamed legacy builders for consistency - Refactored IR around CREATE FUNCTION and CREATE PROCEDURE, unifying all ways to create stored procedures under a single CreateStoredProcedure IR node and all ways to create user defined functions under a single CreateUDF IR node - Implemented grammar and IR placeholders for named windows, introducing initial support for the SQL standard WINDOW clause in parser grammar ### BladeBridge #### Oracle - Removed unsupported Oracle DDL constraints (add/create constraint unique) and extraneous TBLPROPERTIES from converted output #### MSSQL - Added handle_xml_nodes function for MS SQL processing - Fixed multiple MSSQL issues including CTEs in views/stored procedures, ADD CONSTRAINT problems, DEFAULT value handling, and parameter data types #### Synapse - Fixed multiple Synapse issues including CTEs in views/stored procedures, ADD CONSTRAINT problems, DEFAULT value handling, parameter data types, error handling in stored procedures, and Synapse-specific features (e.g., table distribution) #### Teradata - Added Teradata function mappings including ZEROIFNULL, TEMPORAL_TIMESTAMP, TRYCAST, ANY, FIRST, NULLIFZERO, DECODE with different parameter counts, and HASHAMP - Removed collect statistics and lock table statements #### DataStage - Implemented DataStage Checksum component translation to SparkSQL equivalent and fixed Pyspark checksum translation to use MD5() instead of SHA2() ## Reconcile - Added handling for special characters in reconcile aggregate, enhancing the library to handle special characters in column names by properly delimiting identifiers in SQL queries - Fixed deploy reconcile jobs by updating wheel file handling, simplifying deployment process to use single wheel path, and fixing broken documentation links - Enhanced schema reconciliation functionality to support Snowflake arrays, addressing the corner case where Databricks arrays are typed and Snowflake arrays are untyped ## Documentation - Fixed download link in docs (reconcile automation) by replacing broken markdown link with JSX link utilizing useBaseUrl hook - Fixed broken splitter URL by updating directory naming conventions from "Downloads" to "downloads" ## General - Implemented new describe-transpile CLI subcommand that describes installed transpilers, including their versions, configuration paths, and supported source dialects - Switched from urllib to requests library for making HTTP calls to PyPI and Maven Central, with default 60-second timeout and improved error handling - Work around DATABRICKS_HOST normalization issue during install and uninstall by introducing new Lakebridge subclass with appropriate workspace client # Dependency updates * Bump Databricks SDK Version to 0.67.0 by @goodwillpunning in #2062 * Bump sigstore/gh-action-sigstore-python from 3.0.0 to 3.0.1 by @dependabot[bot] in #1753 Special thanks to @BrianDeacon for his contribution to fix #1858
1 parent a8552db commit b8259a7

File tree

2 files changed

+74
-1
lines changed

2 files changed

+74
-1
lines changed

CHANGELOG.md

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

3+
## # Lakebridge v0.10.11 Release Notes
4+
5+
## Analyzer
6+
No updates in this release
7+
8+
## Converters
9+
10+
### General
11+
- Fixed special character handling in filenames by introducing from_uri() helper function for safer URI handling
12+
- Ensured SQL converter returns UTF-8 encoded files for proper character encoding
13+
- Fixed filename to correctly output databricks_conversion_supplements.py supplemental file
14+
- Fixed broken splitter URL by updating directory naming conventions from "Downloads" to "downloads"
15+
- Improved handling of encoding-related errors by catching UnicodeDecodeError and LookupError exceptions during file processing, creating TranspileError with specific encoding-error codes instead of stopping
16+
17+
### Morpheus
18+
19+
#### Snowflake
20+
- Added support for TRUNCATE TABLE statements with proper IR and translation support
21+
- Correctly support and system variables
22+
- Refactored and extended grammar and AST support for SQL procedure creation with improved handling of raw string literals
23+
- Enhanced schema reconciliation functionality to support Snowflake arrays, addressing the corner case where Databricks arrays are typed and Snowflake arrays are untyped
24+
25+
#### TSQL
26+
- Added support for TRUNCATE TABLE statements with proper IR and translation support
27+
- Support full CREATE and ALTER INDEX statements in TSQL parsing, rejecting INDEX CREATE/ALTER statements sensibly instead of raising syntax errors
28+
- Fixed implementation of IF scripting blocks with improvements to SQL parser, grammar enhancements, and enhanced scripting grammar for more robust handling of block statements and conditional branches
29+
- Allow CLUSTERED to be an identifier to improve CREATE TABLE syntax as a CONSTRAINT qualifier
30+
- Support percentage expressions in TSQL options (e.g., OPT = 42%) instead of raising parsing errors
31+
- Added support for REVOKE statements, similar to existing GRANT statement implementation
32+
- Ensure that ROWS and OBJECTS can be used as identifiers even with Jinja templates
33+
- Correctly support and system variables
34+
35+
#### General (Multiple Dialects)
36+
- Support comments on column declarations when generating SQL and renamed legacy builders for consistency
37+
- Refactored IR around CREATE FUNCTION and CREATE PROCEDURE, unifying all ways to create stored procedures under a single CreateStoredProcedure IR node and all ways to create user defined functions under a single CreateUDF IR node
38+
- Implemented grammar and IR placeholders for named windows, introducing initial support for the SQL standard WINDOW clause in parser grammar
39+
40+
### BladeBridge
41+
42+
#### Oracle
43+
- Removed unsupported Oracle DDL constraints (add/create constraint unique) and extraneous TBLPROPERTIES from converted output
44+
45+
#### MSSQL
46+
- Added handle_xml_nodes function for MS SQL processing
47+
- Fixed multiple MSSQL issues including CTEs in views/stored procedures, ADD CONSTRAINT problems, DEFAULT value handling, and parameter data types
48+
49+
#### Synapse
50+
- Fixed multiple Synapse issues including CTEs in views/stored procedures, ADD CONSTRAINT problems, DEFAULT value handling, parameter data types, error handling in stored procedures, and Synapse-specific features (e.g., table distribution)
51+
52+
#### Teradata
53+
- Added Teradata function mappings including ZEROIFNULL, TEMPORAL_TIMESTAMP, TRYCAST, ANY, FIRST, NULLIFZERO, DECODE with different parameter counts, and HASHAMP
54+
- Removed collect statistics and lock table statements
55+
56+
#### DataStage
57+
- Implemented DataStage Checksum component translation to SparkSQL equivalent and fixed Pyspark checksum translation to use MD5() instead of SHA2()
58+
59+
## Reconcile
60+
- Added handling for special characters in reconcile aggregate, enhancing the library to handle special characters in column names by properly delimiting identifiers in SQL queries
61+
- Fixed deploy reconcile jobs by updating wheel file handling, simplifying deployment process to use single wheel path, and fixing broken documentation links
62+
63+
## Documentation
64+
- Fixed download link in docs (reconcile automation) by replacing broken markdown link with JSX link utilizing useBaseUrl hook
65+
66+
## General
67+
- Implemented new describe-transpile CLI subcommand that describes installed transpilers, including their versions, configuration paths, and supported source dialects
68+
- Switched from urllib to requests library for making HTTP calls to PyPI and Maven Central, with default 60-second timeout and improved error handling
69+
- Work around DATABRICKS_HOST normalization issue during install and uninstall by introducing new Lakebridge subclass with appropriate workspace client
70+
71+
# Dependency updates
72+
* Bump Databricks SDK Version to 0.67.0 by @goodwillpunning in https://github.com/databrickslabs/lakebridge/pull/2062
73+
* Bump sigstore/gh-action-sigstore-python from 3.0.0 to 3.0.1 by @dependabot[bot] in https://github.com/databrickslabs/lakebridge/pull/1753
74+
75+
Special thanks to @BrianDeacon for his contribution to fix https://github.com/databrickslabs/lakebridge/issues/1858
376
## 0.10.10
477

578
## Analyzer
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.10"
2+
__version__ = "0.10.11"

0 commit comments

Comments
 (0)