Skip to content

Commit 49d5b85

Browse files
author
Jesse Whitehouse
committed
Refactor so we can unit test inject_parameters
Signed-off-by: Jesse Whitehouse <[email protected]>
1 parent 2e681b5 commit 49d5b85

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

src/databricks/sql/client.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from databricks.sql import *
88
from databricks.sql.exc import OperationalError
99
from databricks.sql.thrift_backend import ThriftBackend
10-
from databricks.sql.utils import ExecuteResponse, ParamEscaper
10+
from databricks.sql.utils import ExecuteResponse, ParamEscaper, inject_parameters
1111
from databricks.sql.types import Row
1212
from databricks.sql.auth.auth import get_python_sql_connector_auth_provider
1313
from databricks.sql.experimental.oauth_persistence import OAuthPersistence
@@ -309,7 +309,9 @@ def execute(
309309
:returns self
310310
"""
311311
if parameters is not None:
312-
operation = operation % self.escaper.escape_args(parameters)
312+
operation = inject_parameters(
313+
operation, self.escaper.escape_args(parameters)
314+
)
313315

314316
self._check_not_closed()
315317
self._close_and_clear_active_result_set()

src/databricks/sql/utils.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from collections.abc import Iterable
33
import datetime
44
from enum import Enum
5-
5+
from typing import Dict
66
import pyarrow
77

88

@@ -172,3 +172,7 @@ def escape_item(self, item):
172172
return self.escape_datetime(item, self._DATE_FORMAT)
173173
else:
174174
raise exc.ProgrammingError("Unsupported object {}".format(item))
175+
176+
177+
def inject_parameters(operation: str, parameters: Dict[str, str]):
178+
return operation % parameters

0 commit comments

Comments
 (0)