Skip to content

Commit 5dd1a5e

Browse files
fix(dbapi): avoid running % format with no query parameters (#348)
* fix: aviod running %format when no query params * fix: nit * fix: change in unit test
1 parent e51fd45 commit 5dd1a5e

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

google/cloud/bigquery/dbapi/cursor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,7 @@ def _format_operation(operation, parameters=None):
441441
if a parameter used in the operation is not found in the
442442
``parameters`` argument.
443443
"""
444-
if parameters is None:
444+
if parameters is None or len(parameters) == 0:
445445
return operation
446446

447447
if isinstance(parameters, collections_abc.Mapping):

tests/unit/test_dbapi_cursor.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,3 +601,9 @@ def test__format_operation_w_too_short_sequence(self):
601601
"SELECT %s, %s;",
602602
("hello",),
603603
)
604+
605+
def test__format_operation_w_empty_dict(self):
606+
from google.cloud.bigquery.dbapi import cursor
607+
608+
formatted_operation = cursor._format_operation("SELECT '%f'", {})
609+
self.assertEqual(formatted_operation, "SELECT '%f'")

0 commit comments

Comments
 (0)