yes, this is kind of an unfortunate default that we've had throughout
the 0.4 series, which we wont have in 0.5. To get the behavior you
want, use this:
engine = create_engine('postgres://...', pool_threadlocal=False)
Alternatively, bind each session to the non-contextual connection,
using session(bind=engine.connect()), though thats a little more effort.
On May 18, 2008, at 9:52 PM, Matthew Dennis wrote:
> #!/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 [email protected]
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
-~----------~----~----~----~------~----~------~--~---