@@ -1443,13 +1443,9 @@ def executemany(
14431443 return self
14441444 bind_size = len (seqparams ) * row_size
14451445 bind_stage = None
1446- if (
1447- bind_size
1448- >= self .connection ._session_parameters [
1449- "CLIENT_STAGE_ARRAY_BINDING_THRESHOLD"
1450- ]
1451- > 0
1452- ):
1446+ binding_threshold = self .connection ._session_parameters ["CLIENT_STAGE_ARRAY_BINDING_THRESHOLD" ]
1447+ assert isinstance (binding_threshold , int )
1448+ if bind_size >= binding_threshold > 0 :
14531449 # bind stage optimization
14541450 try :
14551451 rows = self .connection ._write_params_to_byte_rows (seqparams )
@@ -1470,7 +1466,8 @@ def executemany(
14701466 return self
14711467
14721468 self .reset ()
1473- if "num_statements" not in kwargs :
1469+ num_statements = kwargs .get ("num_statements" )
1470+ if num_statements is None :
14741471 # fall back to old driver behavior when the user does not provide the parameter to enable
14751472 # multi-statement optimizations for executemany
14761473 for param in seqparams :
@@ -1491,9 +1488,7 @@ def executemany(
14911488 query = command * len (seqparams )
14921489 params = [param for parameters in seqparams for param in parameters ]
14931490
1494- kwargs ["num_statements" ]: int = kwargs .get ("num_statements" ) * len (
1495- seqparams
1496- )
1491+ kwargs ["num_statements" ]: int = num_statements * len (seqparams )
14971492
14981493 self .execute (query , params , _do_reset = False , ** kwargs )
14991494
0 commit comments