Fix changeset
method for multi-flush transactions
#144
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When in the same transaction you create object, flush, update object and commit transaction, Continuum will first flush
insert
version, but later it will update it to beupdate
(happening here: https://github.com/kvesteri/sqlalchemy-continuum/blob/master/sqlalchemy_continuum/unit_of_work.py#L168)This causes
changeset
to return empty dict for such changes, which is incorrect. I can see two solutions:changeset
to not ignore such versionsprocess_operation
to not changeinsert
intoupdate
(explored in Versioning issues on session.flush #79)This PR changes behaviour of
changeset
method to not ignore changes on update versions without previous versions.This fixes #141.