Michael Bayer wrote:
>     def compare_values(self, x, y):
>         return self.pickler.dumps(x, self.protocol) ==
> self.pickler.dumps(y, self.protocol)
>
> why does it do that ?  because it is exhaustively detecting any change
> anyhwere within the pickled state.  I would hypothesize that something
> is changing somewhere in your binary data.

I load the Shipment record with get_buy, I change a string field, on
that record. I do not
reference any of the pickled values, but they still get written back.
Why? It's not possible that they're changed, I didn't even refer to
them.

I'm going to try making them defer()..

> The transaction nesting can be used via the SessionTransaction
> interface or also through the Transaction object off of Connection.
>
> connection = e.connect()
> transaction = connection.begin()
> session = create_session(bind_to=connection)
>   ... do stuff..
> session.flush()
> transaction.commit()

But this is exactly what I'm doing. Once I call transaction.commit(),
subsequent
session.flush() commands ALSO do a commit. I think they should not.


--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to