- changed status to resolved
allow manual version_id_col bump
Issue #1857
resolved
diff -r ca9029ca9830573c4a5618e5dc01347576d50eb4 lib/sqlalchemy/orm/mapper.py
--- a/lib/sqlalchemy/orm/mapper.py Thu Jul 22 01:46:41 2010 -0400
+++ b/lib/sqlalchemy/orm/mapper.py Sat Jul 24 09:37:37 2010 -0400
@@ -1690,7 +1690,7 @@
for col in mapper._cols_by_table[table](table):
if col is mapper.version_id_col:
params[col._label](col._label) = \
- mapper._get_state_attr_by_column(
+ mapper._get_committed_state_attr_by_column(
row_switch or state,
row_switch and row_switch.dict
or state_dict,
diff -r ca9029ca9830573c4a5618e5dc01347576d50eb4 test/orm/test_versioning.py
--- a/test/orm/test_versioning.py Thu Jul 22 01:46:41 2010 -0400
+++ b/test/orm/test_versioning.py Sat Jul 24 09:37:37 2010 -0400
@@ -108,6 +108,22 @@
s1.commit()
@testing.emits_warning(r'.*does not support updated rowcount')
+ @testing.resolve_artifact_names
+ def test_bump_version(self):
+ mapper(Foo, version_table,
+ version_id_col=version_table.c.version_id)
+
+ s1 = sessionmaker()()
+ f1 = Foo(value='f1')
+ s1.add(f1)
+ s1.commit()
+ eq_(f1.version_id, 1)
+ f1.version_id = 2
+ s1.commit()
+ eq_(f1.version_id, 2)
+
+
+ @testing.emits_warning(r'.*does not support updated rowcount')
@engines.close_open_connections
@testing.resolve_artifact_names
def test_versioncheck(self):
Comments (2)
-
reporter -
reporter - removed milestone
Removing milestone: 0.6.4 (automated comment)
- Log in to comment
8e0618aa650c43b483dbae443ddca94fcdd5b945 , includes bypass of id generator if change is present, support for pending history during DELETE