mysqlengine 0.1.11.5__cp311-cp311-macosx_10_9_universal2.whl → 0.1.11.7__cp311-cp311-macosx_10_9_universal2.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mysqlengine might be problematic. Click here for more details.

mysqlengine/connection.py CHANGED
@@ -37,11 +37,10 @@ from re import compile, Match, IGNORECASE, DOTALL
37
37
  from _collections_abc import dict_values, dict_keys
38
38
  from struct import pack as struct_pack, unpack as struct_unpack
39
39
  from socket import SOL_SOCKET, SO_KEEPALIVE, IPPROTO_TCP, TCP_NODELAY
40
- from asyncio import get_running_loop, get_event_loop
41
- from asyncio import gather, wait_for, create_task, sleep
42
40
  from asyncio import CancelledError, IncompleteReadError
43
41
  from asyncio import Condition, StreamWriter, WriteTransport, BaseProtocol
44
42
  from asyncio import AbstractEventLoop, StreamReader, StreamReaderProtocol
43
+ from asyncio import gather, wait_for, create_task, sleep, get_running_loop
45
44
  from numpy import record, ndarray
46
45
  from pandas import DataFrame, Series, DatetimeIndex, TimedeltaIndex
47
46
  from mysqlengine.logs import logger
@@ -616,24 +615,10 @@ class Cursor:
616
615
 
617
616
  def __del__(self):
618
617
  if not self.get_closed():
619
- try:
620
- loop = get_event_loop()
621
- if loop.is_running():
622
- loop.create_task(self.close())
623
- else:
624
- loop.run_until_complete(self.close())
625
- except Exception:
626
- self._connection = None
627
- except BaseException:
628
- self._connection = None
629
- self._result = None
630
- self._columns = None
631
- self._rows = None
632
- raise
633
-
634
- self._result = None
635
- self._columns = None
636
- self._rows = None
618
+ self._connection = None
619
+ self._result = None
620
+ self._columns = None
621
+ self._rows = None
637
622
 
638
623
  # Exceptions ---------------------------------------------------------------------------------
639
624
  Warning = errors.QueryWarning
@@ -2395,28 +2380,10 @@ class Connection:
2395
2380
 
2396
2381
  def __del__(self):
2397
2382
  if not self.get_closed():
2398
- try:
2399
- loop = get_event_loop()
2400
- if loop.is_running():
2401
- loop.create_task(self.close())
2402
- else:
2403
- loop.run_until_complete(self.close())
2404
- except Exception:
2405
- self._close()
2406
- except BaseException:
2407
- self._close()
2408
- self._ssl_context = None
2409
- self._cursorclass = None
2410
- self._reader = None
2411
- self._writer = None
2412
- self._result = None
2413
- raise
2414
-
2415
- self._ssl_context = None
2416
- self._cursorclass = None
2417
- self._reader = None
2418
- self._writer = None
2419
- self._result = None
2383
+ self._close()
2384
+ self._ssl_context = None
2385
+ self._cursorclass = None
2386
+ self._result = None
2420
2387
 
2421
2388
  # Exceptions ---------------------------------------------------------------------------------
2422
2389
  Warning = errors.QueryWarning
@@ -3616,6 +3583,17 @@ class Pool:
3616
3583
  if self.get_invalid_size() > 0:
3617
3584
  for conn in self._invlid_conn:
3618
3585
  conn.force_close()
3586
+ self._ssl_context = None
3587
+ self._cursorclass = None
3588
+ self._free_conn = None
3589
+ self._used_conn = None
3590
+ self._invlid_conn = None
3591
+ self._condition = None
3592
+ self._closed = True
3593
+
3594
+ def force_close(self) -> None:
3595
+ """Force close the Pool (exception free & internal use only)."""
3596
+ self._encure_closed()
3619
3597
 
3620
3598
  # Special Methods ----------------------------------------------------------------------------
3621
3599
  async def __aenter__(self) -> Pool:
@@ -3642,30 +3620,11 @@ class Pool:
3642
3620
 
3643
3621
  def __del__(self):
3644
3622
  if not self._closed:
3645
- try:
3646
- loop = get_event_loop()
3647
- if loop.is_running():
3648
- loop.create_task(self.close(1))
3649
- else:
3650
- loop.run_until_complete(self.close(1))
3651
- except Exception:
3652
- self._encure_closed()
3653
- except BaseException:
3654
- self._encure_closed()
3655
- self._ssl_context = None
3656
- self._cursorclass = None
3657
- self._free_conn = None
3658
- self._used_conn = None
3659
- self._invlid_conn = None
3660
- self._condition = None
3661
- raise
3662
-
3663
- self._ssl_context = None
3664
- self._cursorclass = None
3665
- self._free_conn = None
3666
- self._used_conn = None
3667
- self._invlid_conn = None
3668
- self._condition = None
3623
+ logger.error(
3624
+ "%s is not closed properly. Please call `close()` "
3625
+ "to gracefully shutdown the Pool/Server." % self
3626
+ )
3627
+ self._encure_closed()
3669
3628
 
3670
3629
 
3671
3630
  # Server =======================================================================================
Binary file