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

Method _finish_unbuffered_query

pymysql/connections.py:1391–1412  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1389 return row
1390
1391 def _finish_unbuffered_query(self):
1392 # After much reading on the MySQL protocol, it appears that there is,
1393 # in fact, no way to stop MySQL from sending all the data after
1394 # executing a query, so we just spin, and wait for an EOF packet.
1395 while self.unbuffered_active:
1396 try:
1397 packet = self.connection._read_packet()
1398 except err.OperationalError as e:
1399 if e.args[0] in (
1400 ER.QUERY_TIMEOUT,
1401 ER.STATEMENT_TIMEOUT,
1402 ):
1403 # if the query timed out we can simply ignore this error
1404 self.unbuffered_active = False
1405 self.connection = None
1406 return
1407
1408 raise
1409
1410 if self._check_packet_is_eof(packet):
1411 self.unbuffered_active = False
1412 self.connection = None # release reference to kill cyclic reference.
1413
1414 def _read_rowdata_packet(self):
1415 """Read a rowdata packet for each data row in the result set."""

Callers 3

__del__Method · 0.95
_execute_commandMethod · 0.80
closeMethod · 0.80

Calls 2

_check_packet_is_eofMethod · 0.95
_read_packetMethod · 0.80

Tested by

no test coverage detected