Hi Michael

I have some fairly basic code which is moving data from one DB to another.
 I have trapped errors on inserts just in case there were unexpected
duplicates.  When I go to commit this transaction, MySQL correctly throws
an IntegrityError exception: Duplicate Entry which I trap, and perform a
rollback.  However, the rollback ALSO receives an IntegrityError exception
from MySQL for the same insert query??


  File "C:\Documents and Settings\wprince\Desktop\PY CODE
DEVELOPMENT\CESyncSQL\Sync_AU.py", line 1868, in SYNC_CustomersOUT
    session.rollback()
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\session.py", line 586,
in rollback
    self.transaction.rollback()
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\session.py", line 324,
in rollback
    self.close()
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\session.py", line 351,
in close
    self.session.begin()
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\session.py", line 557,
in begin
    self, nested=nested)
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\session.py", line 137,
in __init__
    self._take_snapshot()
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\session.py", line 197,
in _take_snapshot
    self.session.flush()
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\session.py", line
1473, in flush
    self._flush(objects)
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\session.py", line
1542, in _flush
    flush_context.execute()
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\unitofwork.py", line
327, in execute
    rec.execute(self)
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\unitofwork.py", line
471, in execute
    uow
  File "C:\Python27\lib\site-packages\sqlalchemy\orm\mapper.py", line 2163,
in _save_obj
    execute(statement, params)
  File "C:\Python27\lib\site-packages\sqlalchemy\engine\base.py", line
1358, in execute
    params)
  File "C:\Python27\lib\site-packages\sqlalchemy\engine\base.py", line
1491, in _execute_clauseelement
    compiled_sql, distilled_params
  File "C:\Python27\lib\site-packages\sqlalchemy\engine\base.py", line
1599, in _execute_context
    context)
  File "C:\Python27\lib\site-packages\sqlalchemy\engine\base.py", line
1592, in _execute_context
    context)
  File "C:\Python27\lib\site-packages\sqlalchemy\engine\default.py", line
325, in do_execute
    cursor.execute(statement, parameters)
  File "C:\Python27\lib\site-packages\mysql\connector\cursor.py", line 309,
in execute
    res = self.db().protocol.cmd_query(stmt)
  File "C:\Python27\lib\site-packages\mysql\connector\protocol.py", line
136, in deco
    return func(*args, **kwargs)
  File "C:\Python27\lib\site-packages\mysql\connector\protocol.py", line
474, in cmd_query
    return self.handle_cmd_result(self._recv_packet())
  File "C:\Python27\lib\site-packages\mysql\connector\protocol.py", line
173, in _recv_packet
    MySQLProtocol.raise_error(buf)
  File "C:\Python27\lib\site-packages\mysql\connector\protocol.py", line
167, in raise_error
    raise errors.get_mysql_exception(errno,errmsg)
IntegrityError: (IntegrityError) 1062: Duplicate entry '1231-63565' for key
'userID' u'INSERT INTO customer_master bla..

Any ideas?   This is 0.7.1

Cheers
Warwick

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to