(self)
| 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.""" |
no test coverage detected