From 06827619802f5ecec79bc89446e0d422052d261c Mon Sep 17 00:00:00 2001 From: varun-edachali-dbx Date: Fri, 20 Jun 2025 11:49:40 +0000 Subject: [PATCH 1/3] preliminary fix Signed-off-by: varun-edachali-dbx --- src/databricks/sql/backend/sea/backend.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/databricks/sql/backend/sea/backend.py b/src/databricks/sql/backend/sea/backend.py index 76903ccd..ab210e30 100644 --- a/src/databricks/sql/backend/sea/backend.py +++ b/src/databricks/sql/backend/sea/backend.py @@ -11,6 +11,7 @@ ResultCompression, WaitTimeout, ) +from databricks.sql.thrift_api.TCLIService import ttypes if TYPE_CHECKING: from databricks.sql.client import Cursor @@ -402,7 +403,7 @@ def execute_command( lz4_compression: bool, cursor: "Cursor", use_cloud_fetch: bool, - parameters: List[Dict[str, Any]], + parameters: List[ttypes.TSparkParameter], async_op: bool, enforce_embedded_schema_correctness: bool, ) -> Union["ResultSet", None]: @@ -436,9 +437,9 @@ def execute_command( for param in parameters: sea_parameters.append( StatementParameter( - name=param["name"], - value=param["value"], - type=param["type"] if "type" in param else None, + name=param.name, + value=param.value, + type=param.type if param.type else None, ) ) From 53a555f7902f598b9c997ea9e7c5407dd9c9a4c7 Mon Sep 17 00:00:00 2001 From: varun-edachali-dbx Date: Fri, 20 Jun 2025 11:54:56 +0000 Subject: [PATCH 2/3] update unit tests to pass ttypes.TSparkParameter Signed-off-by: varun-edachali-dbx --- tests/unit/test_sea_backend.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/unit/test_sea_backend.py b/tests/unit/test_sea_backend.py index f30c92ed..a2c1aeb0 100644 --- a/tests/unit/test_sea_backend.py +++ b/tests/unit/test_sea_backend.py @@ -13,6 +13,7 @@ _filter_session_configuration, ) from databricks.sql.backend.types import SessionId, CommandId, CommandState, BackendType +from databricks.sql.thrift_api.TCLIService import ttypes from databricks.sql.types import SSLOptions from databricks.sql.auth.authenticators import AuthProvider from databricks.sql.exc import ( @@ -354,7 +355,7 @@ def test_command_execution_advanced( "status": {"state": "SUCCEEDED"}, } mock_http_client._make_request.return_value = execute_response - param = {"name": "param1", "value": "value1", "type": "STRING"} + param = ttypes.TSparkParameter(name="param1", value="value1", type="STRING") with patch.object(sea_client, "get_execution_result"): sea_client.execute_command( From 5a800fd8bc7e45cb747adef0f393fa2d0e63c446 Mon Sep 17 00:00:00 2001 From: varun-edachali-dbx Date: Fri, 20 Jun 2025 12:28:13 +0000 Subject: [PATCH 3/3] remove explicit check for type attr in param Signed-off-by: varun-edachali-dbx --- src/databricks/sql/backend/sea/backend.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/databricks/sql/backend/sea/backend.py b/src/databricks/sql/backend/sea/backend.py index ab210e30..ff0a259c 100644 --- a/src/databricks/sql/backend/sea/backend.py +++ b/src/databricks/sql/backend/sea/backend.py @@ -439,7 +439,7 @@ def execute_command( StatementParameter( name=param.name, value=param.value, - type=param.type if param.type else None, + type=param.type, ) )