@@ -550,7 +550,7 @@ def _commit(self):
550550 except Database .IntegrityError as e :
551551 # In case cx_Oracle implements (now or in a future version)
552552 # raising this specific exception
553- six .reraise (utils .IntegrityError , utils .IntegrityError (* tuple (e )), sys .exc_info ()[2 ])
553+ six .reraise (utils .IntegrityError , utils .IntegrityError (* tuple (e . args )), sys .exc_info ()[2 ])
554554 except Database .DatabaseError as e :
555555 # cx_Oracle 5.0.4 raises a cx_Oracle.DatabaseError exception
556556 # with the following attributes and values:
@@ -562,8 +562,8 @@ def _commit(self):
562562 x = e .args [0 ]
563563 if hasattr (x , 'code' ) and hasattr (x , 'message' ) \
564564 and x .code == 2091 and 'ORA-02291' in x .message :
565- six .reraise (utils .IntegrityError , utils .IntegrityError (* tuple (e )), sys .exc_info ()[2 ])
566- six .reraise (utils .DatabaseError , utils .DatabaseError (* tuple (e )), sys .exc_info ()[2 ])
565+ six .reraise (utils .IntegrityError , utils .IntegrityError (* tuple (e . args )), sys .exc_info ()[2 ])
566+ six .reraise (utils .DatabaseError , utils .DatabaseError (* tuple (e . args )), sys .exc_info ()[2 ])
567567
568568
569569class OracleParam (object ):
@@ -689,12 +689,12 @@ def execute(self, query, params=None):
689689 try :
690690 return self .cursor .execute (query , self ._param_generator (params ))
691691 except Database .IntegrityError as e :
692- six .reraise (utils .IntegrityError , utils .IntegrityError (* tuple (e )), sys .exc_info ()[2 ])
692+ six .reraise (utils .IntegrityError , utils .IntegrityError (* tuple (e . args )), sys .exc_info ()[2 ])
693693 except Database .DatabaseError as e :
694694 # cx_Oracle <= 4.4.0 wrongly raises a DatabaseError for ORA-01400.
695695 if hasattr (e .args [0 ], 'code' ) and e .args [0 ].code == 1400 and not isinstance (e , IntegrityError ):
696- six .reraise (utils .IntegrityError , utils .IntegrityError (* tuple (e )), sys .exc_info ()[2 ])
697- six .reraise (utils .DatabaseError , utils .DatabaseError (* tuple (e )), sys .exc_info ()[2 ])
696+ six .reraise (utils .IntegrityError , utils .IntegrityError (* tuple (e . args )), sys .exc_info ()[2 ])
697+ six .reraise (utils .DatabaseError , utils .DatabaseError (* tuple (e . args )), sys .exc_info ()[2 ])
698698
699699 def executemany (self , query , params = None ):
700700 # cx_Oracle doesn't support iterators, convert them to lists
@@ -718,12 +718,12 @@ def executemany(self, query, params=None):
718718 return self .cursor .executemany (query ,
719719 [self ._param_generator (p ) for p in formatted ])
720720 except Database .IntegrityError as e :
721- six .reraise (utils .IntegrityError , utils .IntegrityError (* tuple (e )), sys .exc_info ()[2 ])
721+ six .reraise (utils .IntegrityError , utils .IntegrityError (* tuple (e . args )), sys .exc_info ()[2 ])
722722 except Database .DatabaseError as e :
723723 # cx_Oracle <= 4.4.0 wrongly raises a DatabaseError for ORA-01400.
724724 if hasattr (e .args [0 ], 'code' ) and e .args [0 ].code == 1400 and not isinstance (e , IntegrityError ):
725- six .reraise (utils .IntegrityError , utils .IntegrityError (* tuple (e )), sys .exc_info ()[2 ])
726- six .reraise (utils .DatabaseError , utils .DatabaseError (* tuple (e )), sys .exc_info ()[2 ])
725+ six .reraise (utils .IntegrityError , utils .IntegrityError (* tuple (e . args )), sys .exc_info ()[2 ])
726+ six .reraise (utils .DatabaseError , utils .DatabaseError (* tuple (e . args )), sys .exc_info ()[2 ])
727727
728728 def fetchone (self ):
729729 row = self .cursor .fetchone ()
0 commit comments