Skip to content

Commit 481b99d

Browse files
committed
fix(caching): allow list type in CachedStatement parameters
The CachedStatement class now accepts list[Any] in addition to tuple and dict for parameters. This is needed for execute_many operations where drivers like Spanner require list type.
1 parent 74376a6 commit 481b99d

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

sqlspec/core/cache.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -593,15 +593,16 @@ class CachedStatement:
593593
594594
This class stores compiled SQL and parameters in an immutable format
595595
that can be safely shared between different parts of the system without
596-
risk of mutation. Tuple parameters ensure no copying is needed.
596+
risk of mutation. List parameters are preserved for execute_many operations
597+
where drivers require list type.
597598
"""
598599

599600
__slots__ = ("compiled_sql", "expression", "parameters")
600601

601602
def __init__(
602603
self,
603604
compiled_sql: str,
604-
parameters: "tuple[Any, ...] | dict[str, Any] | None",
605+
parameters: "tuple[Any, ...] | list[Any] | dict[str, Any] | None",
605606
expression: "exp.Expression | None",
606607
) -> None:
607608
self.compiled_sql = compiled_sql

0 commit comments

Comments
 (0)