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 b1978d4
Browse filesBrowse the repository at this point in the historyBrowse files
feat: add opt-in metadata catalog name escaping (#985)
* feat: add opt-in metadata catalog name escaping
Signed-off-by: Vu Anh Phung <vu.phung@databricks.com>
* docs: note metadata catalog escaping configuration in changelog
Signed-off-by: Vu Anh Phung <vu.phung@databricks.com>
* test: document JDBC-compatible metadata backslash escaping
Signed-off-by: Vu Anh Phung <vu.phung@databricks.com>
---------
Signed-off-by: Vu Anh Phung <vu.phung@databricks.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,8 @@
1
1
# Release History
2
2
3
+
# Unreleased
4
+
- 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
+
3
6
# 4.6.0 (2026-09-24)
4
7
- Upgrade Databricks SQL Kernel to 1.1.0; the kernel dependency is now stable and no longer experimental.
5
8
- Transparently auto-recover Thrift connections to Reyden / Real-Time warehouses: when a warehouse rejects the default Thrift protocol (SQLSTATE `KP001`), the session is re-opened on the kernel backend and the warehouse is remembered so later connections skip Thrift. Applies only when no backend was chosen explicitly.
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
@@ -166,6 +166,7 @@ to change without notice.
166
166
|`schema`|`str`| ✅ | ✅ |`None`| Initial schema for the session (DBR 9.0+). |
167
167
|`query_tags`|`Dict[str, Optional[str]]`| ✅ | ✅ |`None`| Connection-level key/value tags serialized into the reserved `QUERY_TAGS` session configuration on both backends. Cursor-level `query_tags` are applied per statement separately. |
168
168
|`enable_metric_view_metadata`|`bool`| ✅ | ✅ |`False`| Sets `spark.sql.thriftserver.metadata.metricview.enabled` via session config so metric-view metadata surfaces. |
169
+
|`escape_catalog_name`|`bool`| ✅ | ✅ |`False`| Escape unescaped `_` in metadata catalog names, preserving existing `\_` escapes and `%` wildcards. Applies to `schemas()`, `tables()`, and `columns()` on Thrift and `tables()` on Kernel; Kernel schemas/columns already use exact catalog identifiers. |
169
170
|`use_inline_params`|`bool`\|`"silent"`| ✅ | ✅ |`False`| Render parameters inline (legacy) vs. native bound params (DBR 14.1+). Shared cursor code performs the rendering before dispatch, so both backends honor it identically. |
170
171
|`ignore_transactions`|`bool`| ✅ | ✅ |`True`| When `True`: `commit()` is a no-op, `rollback()` raises `NotSupportedError`, and setting `autocommit` is a no-op. |
171
172
|`fetch_autocommit_from_server`|`bool`| ✅ | ✅ |`False`| Query the server (`SET AUTOCOMMIT`) for autocommit state instead of returning the cached value. |
0 commit comments