Django

Code

Show
Ignore:
Timestamp:
09/04/08 11:41:59 (3 months ago)
Author:
mboersma
Message:

Fixed re-raising of ORA-01400 as an IntegrityError in a way that works on Python 2.3 and 2.4 as well.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/db/backends/oracle/base.py

    r8810 r8965  
    362362        except DatabaseError, e: 
    363363            # cx_Oracle <= 4.4.0 wrongly raises a DatabaseError for ORA-01400. 
    364             if e.message.code == 1400 and type(e) != IntegrityError
    365                 e = IntegrityError(e.message
     364            if e.args[0].code == 1400 and not isinstance(e, IntegrityError)
     365                e = IntegrityError(e.args[0]
    366366            raise e 
    367367 
     
    385385        except DatabaseError, e: 
    386386            # cx_Oracle <= 4.4.0 wrongly raises a DatabaseError for ORA-01400. 
    387             if e.message.code == 1400 and type(e) != IntegrityError
    388                 e = IntegrityError(e.message
     387            if e.args[0].code == 1400 and not isinstance(e, IntegrityError)
     388                e = IntegrityError(e.args[0]
    389389            raise e 
    390390