- add changelog for #3451, with 09485d7331 fixes #3451

- also add a bulk_insert_mappings test
This commit is contained in:
Mike Bayer
2015-06-13 20:15:17 -04:00
parent 09485d7331
commit 2497d559dd
3 changed files with 33 additions and 1 deletions
+10
View File
@@ -18,6 +18,16 @@
.. changelog::
:version: 1.0.6
.. change::
:tags: bug, orm
:tickets: 3451
:pullreq: github:181
Fixed bug in new :meth:`.Session.bulk_update_mappings` feature where
the primary key columns used in the WHERE clause to locate the row
would also be included in the SET clause, setting their value to
themselves unnecessarily. Pull request courtesy Patrick Hayes.
.. change::
:tags: bug, orm
:tickets: 3448
+2 -1
View File
@@ -45,7 +45,8 @@ def profile_memory(maxtimes=50):
# tests under 50 iterations and ideally about ten, so
# just filter them out so that we get a "flatline" more quickly.
if testing.against("sqlite+pysqlite"):
if testing.against("sqlite+pysqlite") or \
testing.against("sqlite+pysqlcipher"):
return [o for o in gc.get_objects()
if not isinstance(o, weakref.ref)]
else:
+21
View File
@@ -134,6 +134,27 @@ class BulkInsertUpdateTest(BulkTest, _fixtures.FixtureTest):
)
)
def test_bulk_insert(self):
User, = self.classes("User",)
s = Session()
with self.sql_execution_asserter() as asserter:
s.bulk_insert_mappings(
User,
[{'id': 1, 'name': 'u1new'},
{'id': 2, 'name': 'u2'},
{'id': 3, 'name': 'u3new'}]
)
asserter.assert_(
CompiledSQL(
"INSERT INTO users (id, name) VALUES (:id, :name)",
[{'id': 1, 'name': 'u1new'},
{'id': 2, 'name': 'u2'},
{'id': 3, 'name': 'u3new'}]
)
)
class BulkInheritanceTest(BulkTest, fixtures.MappedTest):
@classmethod