I can not get versioning to work in Oracle (it does work for me in sqlite and Postgresql just changing the connect string).
I am using timestamp with time zones for the version_id_col. Can anyone verify that this does work. SQLAlchemy==0.7.8 cx-Oracle==5.1.2 Python 2.6.6 (r266:84292, Dec 27 2010, 00:02:40) [GCC 4.4.5] on linux2 >>> import ver.models as m; import transaction >>> s = m.DBSession() >>> i = s.query(m.MyModel).first() 2012-07-19 22:32:54,807 INFO [sqlalchemy.engine.base.Engine][MainThread] SELECT USER FROM DUAL 2012-07-19 22:32:54,807 INFO [sqlalchemy.engine.base.Engine][MainThread] {} 2012-07-19 22:32:54,818 INFO [sqlalchemy.engine.base.Engine][MainThread] BEGIN (implicit) 2012-07-19 22:32:54,819 INFO [sqlalchemy.engine.base.Engine][MainThread] SELECT models_id, models_name, models_value, models_ins_upd_timestamp FROM (SELECT models.id AS models_id, models.name AS models_name, models.value AS models_value, models.ins_upd_timestamp AS models_ins_upd_timestamp FROM models) WHERE ROWNUM <= :ROWNUM_1 2012-07-19 22:32:54,819 INFO [sqlalchemy.engine.base.Engine][MainThread] {'ROWNUM_1': 1} >>> i.value += 1 >>> transaction.commit() 2012-07-19 22:33:18,656 INFO [sqlalchemy.engine.base.Engine][MainThread] UPDATE models SET value=:value, ins_upd_timestamp=:ins_upd_timestamp WHERE models.id = :models_id AND models.ins_upd_timestamp = :models_ins_upd_timestamp 2012-07-19 22:33:18,656 INFO [sqlalchemy.engine.base.Engine][MainThread] {'ins_upd_timestamp': datetime.datetime(2012, 7, 19, 22, 33, 18, 655856), 'models_ins_upd_timestamp': datetime.datetime(2012, 7, 19, 22, 31, 46, 814740), 'value': 2, 'models_id': 1} 2012-07-19 22:33:18,659 INFO [sqlalchemy.engine.base.Engine][MainThread] ROLLBACK Traceback (most recent call last): File "<console>", line 1, in <module> File "/home/timw/.virtualenvs/sat/lib/python2.6/site-packages/transaction-1.3.0-py2.6.egg/transaction/_manager.py", line 107, in commit return self.get().commit() File "/home/timw/.virtualenvs/sat/lib/python2.6/site-packages/transaction-1.3.0-py2.6.egg/transaction/_transaction.py", line 354, in commit reraise(t, v, tb) File "/home/timw/.virtualenvs/sat/lib/python2.6/site-packages/transaction-1.3.0-py2.6.egg/transaction/_transaction.py", line 345, in commit self._commitResources() File "/home/timw/.virtualenvs/sat/lib/python2.6/site-packages/transaction-1.3.0-py2.6.egg/transaction/_transaction.py", line 493, in _commitResources reraise(t, v, tb) File "/home/timw/.virtualenvs/sat/lib/python2.6/site-packages/transaction-1.3.0-py2.6.egg/transaction/_transaction.py", line 465, in _commitResources rm.tpc_begin(self) File "/home/timw/.virtualenvs/sat/lib/python2.6/site-packages/zope.sqlalchemy-0.7.1-py2.6.egg/zope/sqlalchemy/datamanager.py", line 86, in tpc_begin self.session.flush() File "/home/timw/.virtualenvs/sat/lib/python2.6/site-packages/SQLAlchemy-0.7.8-py2.6-linux-i686.egg/sqlalchemy/orm/session.py", line 1583, in flush self._flush(objects) File "/home/timw/.virtualenvs/sat/lib/python2.6/site-packages/SQLAlchemy-0.7.8-py2.6-linux-i686.egg/sqlalchemy/orm/session.py", line 1654, in _flush flush_context.execute() File "/home/timw/.virtualenvs/sat/lib/python2.6/site-packages/SQLAlchemy-0.7.8-py2.6-linux-i686.egg/sqlalchemy/orm/unitofwork.py", line 331, in execute rec.execute(self) File "/home/timw/.virtualenvs/sat/lib/python2.6/site-packages/SQLAlchemy-0.7.8-py2.6-linux-i686.egg/sqlalchemy/orm/unitofwork.py", line 475, in execute uow File "/home/timw/.virtualenvs/sat/lib/python2.6/site-packages/SQLAlchemy-0.7.8-py2.6-linux-i686.egg/sqlalchemy/orm/persistence.py", line 59, in save_obj mapper, table, update) File "/home/timw/.virtualenvs/sat/lib/python2.6/site-packages/SQLAlchemy-0.7.8-py2.6-linux-i686.egg/sqlalchemy/orm/persistence.py", line 504, in _emit_update_statements (table.description, len(update), rows)) StaleDataError: UPDATE statement on table 'models' expected to update 1 row(s); 0 were matched. -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To view this discussion on the web visit https://groups.google.com/d/msg/sqlalchemy/-/-_uLzovXdkgJ. To post to this group, send email to sqlalchemy@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.