Update NEXT_CHANGELOG with detailed breaking changes for 3.4.1#1449
Conversation
Expand BREAKING CHANGES section with full metadata JDBC spec compliance details: catalog exact-match, empty types array, DECIMAL type name, information_schema inclusion, empty ResultSet for non-existent objects, and getImportedKeys NO_ACTION semantics. Co-authored-by: Isaac Signed-off-by: Gopal Lal <gopal.lal@databricks.com>
Co-authored-by: Isaac Signed-off-by: Gopal Lal <gopal.lal@databricks.com>
| instead of EWKT strings. Set `EnableGeoSpatialSupport=0` to restore the | ||
| previous behavior. | ||
|
|
||
| ### Enhancements & New Features |
There was a problem hiding this comment.
can we not add a new section and move this under added / updated/ fixed?
There was a problem hiding this comment.
moved to added/updated
| ## [Unreleased] | ||
|
|
||
| ### BREAKING CHANGES in 3.4.1 | ||
| ### BREAKING CHANGES in 3.4.1 — Metadata JDBC Spec Compliance |
There was a problem hiding this comment.
overall, i think we should stick to the added/updated/fixed structure that we have
There was a problem hiding this comment.
This is a major change, so we wanted to highlight this explicitly.
| 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. |
There was a problem hiding this comment.
now returns zero rows is not always correct (e.g., catalog name containing underscore). Shall we remove it ?
| 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 |
There was a problem hiding this comment.
DECIMAL columns now preserve precision/scale suffix right ?
|
|
||
| 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 |
There was a problem hiding this comment.
I think previously thrift didn't return all types for empty types array, only SEA did. Shall we remove previous behaviour from the changelog ?
- Removed "Enhancements & New Features" section, moved SHOW commands entry under "Added" per existing structure (vikrantpuppala) - Removed "now returns zero rows" from catalog param description — not always correct for names containing underscore (sreekanth-db) - Removed incorrect DECIMAL getColumnTypeName breaking change — DECIMAL preserves precision/scale suffix (sreekanth-db) - Removed "Previously ignored empty array" from getTables — behavior was inconsistent across Thrift/SEA (sreekanth-db) Co-authored-by: Isaac Signed-off-by: Gopal Lal <gopal.lal@databricks.com>
Co-authored-by: Isaac Signed-off-by: Gopal Lal <gopal.lal@databricks.com>
Summary
Expand the BREAKING CHANGES section in NEXT_CHANGELOG.md with full details of metadata JDBC spec compliance changes for 3.4.1.
Changes
This pull request was AI-assisted by Isaac.