@@ -1441,13 +1441,9 @@ def executemany(
14411441 return self
14421442 bind_size = len (seqparams ) * row_size
14431443 bind_stage = None
1444- if (
1445- bind_size
1446- >= self .connection ._session_parameters [
1447- "CLIENT_STAGE_ARRAY_BINDING_THRESHOLD"
1448- ]
1449- > 0
1450- ):
1444+ binding_threshold = self .connection ._session_parameters ["CLIENT_STAGE_ARRAY_BINDING_THRESHOLD" ]
1445+ assert isinstance (binding_threshold , int )
1446+ if bind_size >= binding_threshold > 0 :
14511447 # bind stage optimization
14521448 try :
14531449 rows = self .connection ._write_params_to_byte_rows (seqparams )
@@ -1468,7 +1464,8 @@ def executemany(
14681464 return self
14691465
14701466 self .reset ()
1471- if "num_statements" not in kwargs :
1467+ num_statements = kwargs .get ("num_statements" )
1468+ if num_statements is None :
14721469 # fall back to old driver behavior when the user does not provide the parameter to enable
14731470 # multi-statement optimizations for executemany
14741471 for param in seqparams :
@@ -1489,9 +1486,7 @@ def executemany(
14891486 query = command * len (seqparams )
14901487 params = [param for parameters in seqparams for param in parameters ]
14911488
1492- kwargs ["num_statements" ]: int = kwargs .get ("num_statements" ) * len (
1493- seqparams
1494- )
1489+ kwargs ["num_statements" ]: int = num_statements * len (seqparams )
14951490
14961491 self .execute (query , params , _do_reset = False , ** kwargs )
14971492
0 commit comments