The following test case of mine fails on PG 8.3 and SA 0.4.3  Basically,
create two sessions, make some changes in the first and obverse they are
visible before commit/rollback in the second (and via connectionless
execution directly on the engine), but become unvisible after rollback.  The
first two print statements both show a row returned (that should only be
visible from s0), but after the rollback the print statements show there are
no values.  It's almost like a threadlocal strategy is being used when it
was never configured.  Ideas/thoughts/comments?

#!/usr/bin/python


from sqlalchemy.sql import text
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

engine = create_engine('postgres://[EMAIL PROTECTED]/testsatransaction')
new_session = sessionmaker(bind=engine, transactional=True)
engine.execute(text("drop table if exists foo"))
engine.execute(text("create table foo(c1 int)"))
s0 = new_session()
s1 = new_session()
s0.execute(text("insert into foo values(1)"))
(one,) = s0.execute(text("select * from foo")).fetchone()
assert one == 1
print engine.execute(text("select * from foo")).fetchone()
print s1.execute(text("select * from foo")).fetchone()
s0.rollback()
print engine.execute(text("select * from foo")).fetchone()
print s1.execute(text("select * from foo")).fetchone()

--~--~---------~--~----~------------~-------~--~----~
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