Thanks, this helps some to narrow it down.

Trying to zoom in:

- why would sqla try to UPDATE (instead of INSERT) a row in the database, 
when the row/object was never committed before?
- when you flush an object to the database and then close the session that 
flushed (no commit), what happens to the flushed data?
- if an object is in a session and it has_identity, why would accessing 
obj.id (id is the primary key) fail (see above)? 
- Is there (in principle) a problem with:
         + having an object of a mapped class which was never committed 
(but maybe was added to a session and flushed, after which the session was 
closed)
         + setting an attribute of that object with another object that was 
queried from the database
         + committing the first object to the database?

Cheers, Lars

On Saturday, February 1, 2014 3:42:09 AM UTC+1, Michael Bayer wrote:
>
>
> On Jan 31, 2014, at 8:11 PM, lars van gemerden 
> <la...@rational-it.com<javascript:>> 
> wrote:
>
>
> "this means an object was meant to be UPDATEed via the ORM, however the 
> row which is the target of the UPDATE is missing.  Either the primary key 
> of this row changed somehow, or the row was deleted, *or* the row is not 
> visible to your transaction (this seems to be your case)."
>
> -  could the error also occur when the object was never committed to the 
> database (which seems to be the case; the commit where the error occurs 
> should be the first time the Company object is committed to the database)?
>
>
> sure
>
> -  this seems to suggest that it is possible that a row is in the 
> database, but that it is not visible to a transaction; is that possible?
>
>
> absolutely, the link http://en.wikipedia.org/wiki/Transaction_isolation is 
> relevant here
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to