@@ -214,9 +214,11 @@ def autocommit(self, value: bool) -> None:
214
214
self ._cmysql .autocommit (value )
215
215
self ._autocommit = value
216
216
except MySQLInterfaceError as err :
217
- raise get_mysql_exception (
218
- msg = err .msg , errno = err .errno , sqlstate = err .sqlstate
219
- ) from err
217
+ if hasattr (err , "errno" ):
218
+ raise get_mysql_exception (
219
+ err .errno , msg = err .msg , sqlstate = err .sqlstate
220
+ ) from err
221
+ raise InterfaceError (str (err )) from err
220
222
221
223
@property
222
224
def read_timeout (self ) -> Optional [int ]:
@@ -255,9 +257,11 @@ def database(self, value: str) -> None:
255
257
try :
256
258
self ._cmysql .select_db (value )
257
259
except MySQLInterfaceError as err :
258
- raise get_mysql_exception (
259
- msg = err .msg , errno = err .errno , sqlstate = err .sqlstate
260
- ) from err
260
+ if hasattr (err , "errno" ):
261
+ raise get_mysql_exception (
262
+ err .errno , msg = err .msg , sqlstate = err .sqlstate
263
+ ) from err
264
+ raise InterfaceError (str (err )) from err
261
265
262
266
@property
263
267
def in_transaction (self ) -> bool :
@@ -352,9 +356,11 @@ def _open_connection(self) -> None:
352
356
if self .converter :
353
357
self .converter .str_fallback = self ._converter_str_fallback
354
358
except MySQLInterfaceError as err :
355
- raise get_mysql_exception (
356
- msg = err .msg , errno = err .errno , sqlstate = err .sqlstate
357
- ) from err
359
+ if hasattr (err , "errno" ):
360
+ raise get_mysql_exception (
361
+ err .errno , msg = err .msg , sqlstate = err .sqlstate
362
+ ) from err
363
+ raise InterfaceError (str (err )) from err
358
364
359
365
self ._do_handshake ()
360
366
@@ -386,9 +392,11 @@ def close(self) -> None:
386
392
except MySQLInterfaceError as err :
387
393
if OTEL_ENABLED :
388
394
record_exception_event (self ._span , err )
389
- raise get_mysql_exception (
390
- msg = err .msg , errno = err .errno , sqlstate = err .sqlstate
391
- ) from err
395
+ if hasattr (err , "errno" ):
396
+ raise get_mysql_exception (
397
+ err .errno , msg = err .msg , sqlstate = err .sqlstate
398
+ ) from err
399
+ raise InterfaceError (str (err )) from err
392
400
finally :
393
401
if OTEL_ENABLED :
394
402
end_span (self ._span )
@@ -452,9 +460,11 @@ def info_query(self, query: StrOrBytes) -> Optional[RowType]:
452
460
raise InterfaceError ("Query should not return more than 1 row" )
453
461
self ._cmysql .free_result ()
454
462
except MySQLInterfaceError as err :
455
- raise get_mysql_exception (
456
- msg = err .msg , errno = err .errno , sqlstate = err .sqlstate
457
- ) from err
463
+ if hasattr (err , "errno" ):
464
+ raise get_mysql_exception (
465
+ err .errno , msg = err .msg , sqlstate = err .sqlstate
466
+ ) from err
467
+ raise InterfaceError (str (err )) from err
458
468
459
469
return first_row
460
470
@@ -542,11 +552,13 @@ def get_rows(
542
552
except MySQLInterfaceError as err :
543
553
if prep_stmt :
544
554
prep_stmt .free_result ()
545
- raise InterfaceError (str (err )) from err
546
- self .free_result ()
547
- raise get_mysql_exception (
548
- msg = err .msg , errno = err .errno , sqlstate = err .sqlstate
549
- ) from err
555
+ else :
556
+ self .free_result ()
557
+ if hasattr (err , "errno" ):
558
+ raise get_mysql_exception (
559
+ err .errno , msg = err .msg , sqlstate = err .sqlstate
560
+ ) from err
561
+ raise InterfaceError (str (err )) from err
550
562
551
563
return rows , _eof
552
564
@@ -603,9 +615,11 @@ def cmd_init_db(self, database: str) -> None:
603
615
try :
604
616
self ._cmysql .select_db (database )
605
617
except MySQLInterfaceError as err :
606
- raise get_mysql_exception (
607
- msg = err .msg , errno = err .errno , sqlstate = err .sqlstate
608
- ) from err
618
+ if hasattr (err , "errno" ):
619
+ raise get_mysql_exception (
620
+ err .errno , msg = err .msg , sqlstate = err .sqlstate
621
+ ) from err
622
+ raise InterfaceError (str (err )) from err
609
623
610
624
def fetch_eof_columns (
611
625
self , prep_stmt : Optional [CMySQLPrepStmt ] = None
@@ -669,6 +683,10 @@ def cmd_stmt_prepare(
669
683
stmt .converter_str_fallback = self ._converter_str_fallback
670
684
return CMySQLPrepStmt (stmt )
671
685
except MySQLInterfaceError as err :
686
+ if hasattr (err , "errno" ):
687
+ raise get_mysql_exception (
688
+ err .errno , msg = err .msg , sqlstate = err .sqlstate
689
+ ) from err
672
690
raise InterfaceError (str (err )) from err
673
691
674
692
@with_context_propagation
@@ -682,6 +700,10 @@ def cmd_stmt_execute(
682
700
try :
683
701
statement_id .stmt_execute (* args , query_attrs = self .query_attrs )
684
702
except MySQLInterfaceError as err :
703
+ if hasattr (err , "errno" ):
704
+ raise get_mysql_exception (
705
+ err .errno , msg = err .msg , sqlstate = err .sqlstate
706
+ ) from err
685
707
raise InterfaceError (str (err )) from err
686
708
687
709
self ._columns = []
@@ -704,9 +726,11 @@ def cmd_stmt_close(
704
726
try :
705
727
statement_id .stmt_close ()
706
728
except MySQLInterfaceError as err :
707
- raise get_mysql_exception (
708
- err .errno , msg = err .msg , sqlstate = err .sqlstate
709
- ) from err
729
+ if hasattr (err , "errno" ):
730
+ raise get_mysql_exception (
731
+ err .errno , msg = err .msg , sqlstate = err .sqlstate
732
+ ) from err
733
+ raise InterfaceError (str (err )) from err
710
734
711
735
def cmd_stmt_reset (
712
736
self ,
@@ -719,6 +743,10 @@ def cmd_stmt_reset(
719
743
try :
720
744
statement_id .stmt_reset ()
721
745
except MySQLInterfaceError as err :
746
+ if hasattr (err , "errno" ):
747
+ raise get_mysql_exception (
748
+ err .errno , msg = err .msg , sqlstate = err .sqlstate
749
+ ) from err
722
750
raise InterfaceError (str (err )) from err
723
751
724
752
@with_context_propagation
@@ -749,9 +777,11 @@ def cmd_query(
749
777
query_attrs = self .query_attrs ,
750
778
)
751
779
except MySQLInterfaceError as err :
752
- raise get_mysql_exception (
753
- err .errno , msg = err .msg , sqlstate = err .sqlstate
754
- ) from err
780
+ if hasattr (err , "errno" ):
781
+ raise get_mysql_exception (
782
+ err .errno , msg = err .msg , sqlstate = err .sqlstate
783
+ ) from err
784
+ raise InterfaceError (str (err )) from err
755
785
except AttributeError as err :
756
786
addr = (
757
787
self ._unix_socket if self ._unix_socket else f"{ self ._host } :{ self ._port } "
@@ -966,9 +996,11 @@ def cmd_change_user(
966
996
)
967
997
968
998
except MySQLInterfaceError as err :
969
- raise get_mysql_exception (
970
- msg = err .msg , errno = err .errno , sqlstate = err .sqlstate
971
- ) from err
999
+ if hasattr (err , "errno" ):
1000
+ raise get_mysql_exception (
1001
+ err .errno , msg = err .msg , sqlstate = err .sqlstate
1002
+ ) from err
1003
+ raise InterfaceError (str (err )) from err
972
1004
973
1005
# If charset isn't defined, we use the same charset ID defined previously,
974
1006
# otherwise, we run a verification and update the charset ID.
@@ -1000,9 +1032,11 @@ def cmd_refresh(self, options: int) -> Optional[CextEofPacketType]:
1000
1032
self .handle_unread_result ()
1001
1033
self ._cmysql .refresh (options )
1002
1034
except MySQLInterfaceError as err :
1003
- raise get_mysql_exception (
1004
- msg = err .msg , errno = err .errno , sqlstate = err .sqlstate
1005
- ) from err
1035
+ if hasattr (err , "errno" ):
1036
+ raise get_mysql_exception (
1037
+ err .errno , msg = err .msg , sqlstate = err .sqlstate
1038
+ ) from err
1039
+ raise InterfaceError (str (err )) from err
1006
1040
1007
1041
return self .fetch_eof_status ()
1008
1042
@@ -1029,9 +1063,11 @@ def cmd_shutdown(self, shutdown_type: Optional[int] = None) -> None:
1029
1063
try :
1030
1064
self ._cmysql .shutdown (level )
1031
1065
except MySQLInterfaceError as err :
1032
- raise get_mysql_exception (
1033
- msg = err .msg , errno = err .errno , sqlstate = err .sqlstate
1034
- ) from err
1066
+ if hasattr (err , "errno" ):
1067
+ raise get_mysql_exception (
1068
+ err .errno , msg = err .msg , sqlstate = err .sqlstate
1069
+ ) from err
1070
+ raise InterfaceError (str (err )) from err
1035
1071
self .close ()
1036
1072
1037
1073
def cmd_statistics (self ) -> StatsPacketType :
@@ -1042,9 +1078,11 @@ def cmd_statistics(self) -> StatsPacketType:
1042
1078
stat = self ._cmysql .stat ()
1043
1079
return MySQLProtocol ().parse_statistics (stat , with_header = False )
1044
1080
except (MySQLInterfaceError , InterfaceError ) as err :
1045
- raise get_mysql_exception (
1046
- msg = err .msg , errno = err .errno , sqlstate = err .sqlstate
1047
- ) from err
1081
+ if hasattr (err , "errno" ):
1082
+ raise get_mysql_exception (
1083
+ err .errno , msg = err .msg , sqlstate = err .sqlstate
1084
+ ) from err
1085
+ raise InterfaceError (str (err )) from err
1048
1086
1049
1087
def cmd_process_kill (self , mysql_pid : int ) -> None :
1050
1088
"""Kill a MySQL process"""
0 commit comments