You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 4106045
Browse filesBrowse the repository at this point in the historyBrowse files
Merge branch 'main' into fix-decimal-precision-scale-901
Preserve the reviewed decimal compatibility entry under Unreleased while keeping the upstream 4.7.0 release notes unchanged. The decimal implementation and regression blobs are unchanged.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+7-1Lines changed: 7 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,13 @@
2
2
3
3
# Unreleased
4
4
- Correct explicit `DecimalParameter` precision and scale ordering and honor a declared zero scale. Callers that followed the previously reversed parameter descriptions must use `precision` for total digits and `scale` for fractional digits. Explicit zero precision is now sent as declared instead of silently using automatic sizing.
5
-
- Add the `escape_catalog_name` connection parameter (default `False`) to opt in to escaping unescaped `_` in metadata catalog names on Thrift and kernel connections. Existing escapes and `%` wildcards are preserved.
5
+
6
+
# 4.7.0 (2026-10-20)
7
+
- Upgrade Databricks SQL Kernel to 1.2.0.
8
+
- Add the kernel-only `enable_geospatial_support` option (default `False`) to return GEOMETRY / GEOGRAPHY values as SRID/WKB objects instead of WKT/EWKT strings.
9
+
- Add opt-in `escape_catalog_name` support (default `False`) for metadata queries on Thrift and kernel connections.
10
+
- Share feature-flag values across connections to the same workspace, with typed reads and coordinated refreshes.
11
+
- Allow Apache Thrift 0.25.x and OAuthlib 4.x, including security fixes while preserving support for large Thrift results.
6
12
7
13
# 4.6.0 (2026-09-24)
8
14
- Upgrade Databricks SQL Kernel to 1.1.0; the kernel dependency is now stable and no longer experimental.
Copy file name to clipboardExpand all lines: CONNECTION_PARAMETERS.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -153,6 +153,7 @@ to change without notice.
153
153
|`max_download_threads`|`int`| ✅ | ❌ |`10`| Worker threads for cloud-fetch downloads. Not forwarded to the kernel. |
154
154
|`enable_query_result_lz4_compression`|`bool`| ✅ | ❌ |`True`| LZ4-compress result payloads. Not forwarded; the kernel handles compression internally. |
155
155
|`_disable_pandas`|`bool`| ✅ | ✅ |`False`| Skip the pandas-based Arrow→row deserialization and materialize rows directly with PyArrow. This is a **Python-side** result-conversion toggle, not a wire option: the kernel returns results as Arrow (`RecordBatch`es) and the connector runs the *same*`_convert_arrow_table` for both backends, so the flag is honored on the kernel path too. Affects only row fetches (`fetchone`/`fetchmany`/`fetchall`); the `fetch*_arrow` methods return the Arrow table unchanged regardless of this flag. |
156
+
|`enable_geospatial_support`|`bool`| ❌ | ✅ |`False`| Return GEOMETRY / GEOGRAPHY as `{"srid": int, "wkb": bytes}` values when `True`, or as WKT / EWKT strings when `False`. This is a local result conversion and is never forwarded to SEA. |
156
157
|`_use_arrow_native_complex_types`|`bool`| ✅ | ✅ |`True`| Return `ARRAY`/`MAP`/`STRUCT` as native Arrow types instead of JSON strings. Forwarded to the kernel. |
157
158
|`_use_arrow_native_decimals`|`bool`| ✅ | ❌ |`True`| Thrift wire encoding for `DECIMAL`: `True` → native Arrow `decimal128`, `False` → Arrow string. **No value-level effect**, though: the connector unconditionally re-casts the column back to `decimal128` (`convert_decimals_in_arrow_table`, `thrift_backend.py`), so both `fetchall()` and `fetchall_arrow()` yield `Decimal` / `decimal128(p,s)` either way (verified live). Not forwarded to the kernel, which always returns native Arrow decimals. |
158
159
|`_use_arrow_native_timestamps`|`bool`| ✅ | ❌ |`True`| Thrift wire encoding for `TIMESTAMP`: `True` → native Arrow timestamp (→ Python `datetime`), `False` → Arrow string (→ Python **`str`**). **Unlike decimals there is no re-cast**, so `False` genuinely surfaces strings — and `cursor.description` still reports the type code as `'timestamp'`, a mismatch to watch for (verified live). Note the connector always also sends the `spark.thriftserver.arrowBasedRowSet.timestampAsString=false` conf, but the `timestampAsArrow=False` flag wins. Not forwarded to the kernel, which always returns native Arrow timestamps. |
0 commit comments