-
Notifications
You must be signed in to change notification settings - Fork 40
Update NEXT_CHANGELOG with detailed breaking changes for 3.4.1 #1449
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 2 commits
5981464
9b24970
151721f
dc84f3c
3f797f8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,17 +2,47 @@ | |
|
|
||
| ## [Unreleased] | ||
|
|
||
| ### BREAKING CHANGES in 3.4.1 | ||
| ### BREAKING CHANGES in 3.4.1 — Metadata JDBC Spec Compliance | ||
|
|
||
| 1. **`getTables()`: Percent sign (`%`) in catalog argument is now treated as a literal character, not a wildcard.** Previously returned all tables; now returns zero rows unless a catalog named "%" exists. JDBC spec: catalog is an exact-match parameter, not a pattern. Migration: Pass `null` to search all catalogs. | ||
| This release unifies metadata behavior across Thrift and SQL Exec API backends | ||
| using SQL SHOW commands for all metadata operations on SQL warehouses. Several | ||
| non-spec-compliant behaviors have been corrected. Review the changes below before | ||
| upgrading. These changes do not affect metadata on All-Purpose Clusters. | ||
|
|
||
| 2. **`getColumnTypeName()`: DECIMAL columns now return `"DECIMAL"` without precision/scale** (e.g., `"DECIMAL"` not `"DECIMAL(10,2)"`). Use `getPrecision()` and `getScale()` for numeric constraints. JDBC spec: `getColumnTypeName()` returns the base type name only. | ||
| * **`getTables`/`getColumns`/`getSchemas`: Catalog parameter is now treated as | ||
| an exact-match identifier per JDBC spec.** Passing `%` or wildcard patterns as | ||
| catalog previously returned results across all catalogs; now returns zero rows. | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Rephrased
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. updated |
||
| Use `null` to search all catalogs. | ||
|
|
||
| 3. **For DBSQL warehouses, metadata operations are now powered by SHOW SQL commands.** SQL Exec API mode already was powered by SHOW commands, now the same is true for Thrift server mode as well. To revert to native Thrift metadata RPCs, set `UseQueryForMetadata` to `0`. | ||
| * **`getTables` with empty types array: Now returns zero rows per JDBC spec.** | ||
| Previously ignored the empty array and returned all table types. Use `null` to | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think previously thrift didn't return all types for empty types array, only SEA did. Shall we remove previous behaviour from the changelog ?
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed |
||
| return all types. | ||
|
|
||
| 4. **Native geospatial type support (`GEOMETRY` and `GEOGRAPHY`) is now enabled by default.** `getObject()` now returns `IGeometry`/`IGeography` instances instead of EWKT strings. Set `EnableGeoSpatialSupport=0` to restore the previous behavior. | ||
| * **`getColumnTypeName()` for DECIMAL: Now returns `"DECIMAL"` without | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. DECIMAL columns now preserve precision/scale suffix right ?
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed |
||
| precision/scale suffix.** Use `getPrecision()` and `getScale()` to retrieve | ||
| numeric constraints. | ||
|
|
||
| ### Added | ||
| * **`getSchemas`: Now includes `information_schema` in results.** Excludes | ||
| `global_temp` schema (previously returned by Thrift for all catalogs). | ||
|
|
||
| * **`getPrimaryKeys`/`getImportedKeys`/`getCrossReference` with non-existent | ||
| catalog, schema, or table: Now returns empty `ResultSet` instead of throwing | ||
| `SQLException`.** | ||
|
|
||
| * **`getImportedKeys` `UPDATE_RULE`/`DELETE_RULE`: Now returns `3` (`NO_ACTION`) | ||
| instead of `0` (`CASCADE`) for Thrift, and `3` instead of `null` for SEA.** | ||
| This reflects that Unity Catalog foreign keys are informational and non-enforced. | ||
|
|
||
| * **Native geospatial type support (`GEOMETRY` and `GEOGRAPHY`) is now enabled | ||
| by default.** `getObject()` now returns `IGeometry`/`IGeography` instances | ||
| instead of EWKT strings. Set `EnableGeoSpatialSupport=0` to restore the | ||
| previous behavior. | ||
|
|
||
| ### Enhancements & New Features | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can we not add a new section and move this under added / updated/ fixed?
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. moved to added/updated |
||
|
|
||
| * Metadata operations now use SQL SHOW commands for both Thrift and SEA backends, | ||
| ensuring consistent behavior for SQL warehouses regardless of underlying | ||
| protocol. To revert to native Thrift metadata RPCs, set `UseQueryForMetadata=0`. | ||
|
|
||
| ### Updated | ||
| - `EnableGeoSpatialSupport` no longer requires `EnableComplexDatatypeSupport=1`. Geospatial types (GEOMETRY, GEOGRAPHY) can now be enabled independently of complex type support (ARRAY, MAP, STRUCT). | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
overall, i think we should stick to the added/updated/fixed structure that we have
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a major change, so we wanted to highlight this explicitly.