From 2401dadb8d5e7ab99df186df7dd2fb32d1667521 Mon Sep 17 00:00:00 2001 From: davem-bis <68955845+davem-bis@users.noreply.github.com> Date: Thu, 18 Jun 2026 16:18:53 +0100 Subject: [PATCH] fix: Databricks column type identification by passing rendered SQL to execution cursor as opposed to AST. Signed-off-by: davem-bis <68955845+davem-bis@users.noreply.github.com> --- sqlmesh/core/engine_adapter/databricks.py | 2 +- tests/core/engine_adapter/test_databricks.py | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/sqlmesh/core/engine_adapter/databricks.py b/sqlmesh/core/engine_adapter/databricks.py index dbf38f0b94..0e02912212 100644 --- a/sqlmesh/core/engine_adapter/databricks.py +++ b/sqlmesh/core/engine_adapter/databricks.py @@ -431,7 +431,7 @@ def columns( .order_by("ordinal_position ASC") ) - self.cursor.execute(query) + self.cursor.execute(query.sql(dialect="databricks")) result = self.cursor.fetchall() return {row[0]: exp.DataType.build(row[1], dialect=self.dialect) for row in result} diff --git a/tests/core/engine_adapter/test_databricks.py b/tests/core/engine_adapter/test_databricks.py index 42cbd287f2..7d260419fd 100644 --- a/tests/core/engine_adapter/test_databricks.py +++ b/tests/core/engine_adapter/test_databricks.py @@ -579,8 +579,5 @@ def test_columns(mocker: MockFixture, make_mocked_engine_adapter: t.Callable): } adapter.cursor.execute.assert_called_once_with( - parse_one( - """SELECT columns.column_name, columns.full_data_type FROM system.information_schema.columns WHERE table_name = 'test_table' AND table_schema = 'test_db' AND table_catalog = 'test_catalog' ORDER BY ordinal_position ASC""", - dialect="databricks", - ) + """SELECT columns.column_name, columns.full_data_type FROM system.information_schema.columns WHERE table_name = 'test_table' AND table_schema = 'test_db' AND table_catalog = 'test_catalog' ORDER BY ordinal_position ASC""" )