]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- Removed all* O(N) scanning behavior from the flush() process,
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 17 May 2009 21:51:40 +0000 (21:51 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 17 May 2009 21:51:40 +0000 (21:51 +0000)
commit155466aad1c5ae4b43ed167a8b6e6013f0241370
tree7c237401dd7f0ee68097bb3d0474dd9c33b80500
parent2be867ffac8881a4a20ca5387063ed207ac876dc
- Removed all* O(N) scanning behavior from the flush() process,
i.e. operations that were scanning the full session,
including an extremely expensive one that was erroneously
assuming primary key values were changing when this
was not the case.

* one edge case remains which may invoke a full scan,
  if an existing primary key attribute is modified
  to a new value.
CHANGES
lib/sqlalchemy/__init__.py
lib/sqlalchemy/orm/dependency.py
lib/sqlalchemy/orm/identity.py
lib/sqlalchemy/orm/session.py
lib/sqlalchemy/orm/state.py
lib/sqlalchemy/orm/sync.py
lib/sqlalchemy/orm/unitofwork.py
test/orm/naturalpks.py
test/orm/session.py