Skip to content

Commit 2c67661

Browse files
committed
Merge branch 'main' into 1.10.latest
2 parents f211d91 + 166e1e3 commit 2c67661

File tree

20 files changed

+1300
-365
lines changed

20 files changed

+1300
-365
lines changed

CHANGELOG.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,17 @@
1-
## dbt-databricks 1.10.8 (TBD)
1+
## dbt-databricks 1.10.9 (TBD)
2+
3+
## dbt-databricks 1.10.8 (August 4, 2025)
4+
5+
### Features
6+
- Support insert_overwrite incremental strategy for SQL warehouses ([1025](https://github.com/databricks/dbt-databricks/issues/1025))
7+
8+
### Fixes
9+
- Add fallback logic for known error types for `DESCRIBE TABLE EXTENDED .. AS JSON` for better reliability ([1128](https://github.com/databricks/dbt-databricks/issues/1128))
10+
- Fix no-op logic for views that is causing some incremental materializations to be skipped ([1122](https://github.com/databricks/dbt-databricks/issues/1122))
11+
- Fix check constraints keep getting replaced [issue-1109](https://github.com/databricks/dbt-databricks/issues/1109)
12+
13+
### Under the Hood
14+
- Simplify connection management to align with base adapter. Connections are no longer cached per-thread
215

316
## dbt-databricks 1.10.7 (July 31, 2025)
417

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
version = "1.10.7"
1+
version = "1.10.8"

dbt/adapters/databricks/behaviors/columns.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from abc import ABC, abstractmethod
22

3+
from dbt_common.exceptions import DbtDatabaseError
34
from dbt_common.utils.dict import AttrDict
45

56
from dbt.adapters.databricks.column import DatabricksColumn
@@ -37,13 +38,20 @@ def get_columns_in_relation(
3738
rows = cls._get_columns_with_comments(adapter, relation, "get_columns_comments")
3839
return cls._parse_columns(rows)
3940
else:
40-
result = cls._get_columns_with_comments(
41-
adapter, relation, "get_columns_comments_as_json"
42-
)
43-
if not result:
44-
return []
45-
json_metadata = result[0]["json_metadata"]
46-
return DatabricksColumn.from_json_metadata(json_metadata)
41+
try:
42+
result = cls._get_columns_with_comments(
43+
adapter, relation, "get_columns_comments_as_json"
44+
)
45+
if not result:
46+
return []
47+
json_metadata = result[0]["json_metadata"]
48+
return DatabricksColumn.from_json_metadata(json_metadata)
49+
except DbtDatabaseError as ex:
50+
# Fall back to legacy logic if the error is due to AS JSON not being supported
51+
# for the current runtime or relation type (e.g. foreign table)
52+
if "PARSE_SYNTAX_ERROR" in ex.msg or "UNSUPPORTED_FEATURE" in ex.msg:
53+
return cls.get_columns_in_relation(adapter, relation, True)
54+
raise ex
4755

4856
@classmethod
4957
def _parse_columns(cls, rows: list[AttrDict]) -> list[DatabricksColumn]:

0 commit comments

Comments
 (0)