MCPcopy Create free account
hub / github.com/PyMySQL/PyMySQL / _do_execute_many

Method _do_execute_many

pymysql/cursors.py:210–232  ·  view source on GitHub ↗
(
        self, prefix, values, postfix, args, max_stmt_length, encoding
    )

Source from the content-addressed store, hash-verified

208 return self.rowcount
209
210 def _do_execute_many(
211 self, prefix, values, postfix, args, max_stmt_length, encoding
212 ):
213 encoding = self._get_db().encoding
214 if isinstance(prefix, str):
215 prefix = prefix.encode(encoding)
216 if isinstance(postfix, str):
217 postfix = postfix.encode(encoding)
218 sql = bytearray(prefix)
219 args = iter(args)
220 sql += self._mogrify(values, next(args)).encode(encoding)
221 rows = 0
222 for arg in args:
223 v = self._mogrify(values, arg).encode(encoding)
224 if len(sql) + len(v) + len(postfix) + 1 > max_stmt_length:
225 rows += self.execute(sql + postfix)
226 sql = bytearray(prefix)
227 else:
228 sql += b","
229 sql += v
230 rows += self.execute(sql + postfix)
231 self.rowcount = rows
232 return rows
233
234 def callproc(self, procname, args=()):
235 """Execute stored procedure procname with args.

Callers 1

executemanyMethod · 0.95

Calls 3

_get_dbMethod · 0.95
_mogrifyMethod · 0.95
executeMethod · 0.95

Tested by

no test coverage detected