On Mar 22, 2011, at 6:46 PM, Jay Pipes wrote: > On Tue, Mar 22, 2011 at 4:27 PM, Michael Bayer <[email protected]> > wrote: >> On Mar 22, 2011, at 4:09 PM, Jay Pipes wrote: >> >>>> Running with "sqlite3" executes a brand new process with all new state, >>>> whereas using "engine" uses a SQLite connection that has remained >>>> established throughout the entire conversation. >>> >>> That was my whole point, Michael. Why doesn't the engine show the >>> changes that were made to the SQLite database, but it *does* show the >>> changes that were made to the MySQL database? Is this a case of the >>> SQLite engine and MySQL engines differing on how they cache metadata? >> >> if you mean DBAPI + client libraries, that is what is suspected here. If >> you mean the SQLAlchemy engine, no, SQLAlchemy does not cache anything >> regarding table metadata, except for what's in the Table object itself. >> >> A workaround for your specific test would be to use NullPool with >> create_engine() so that a new connection is procured for each >> engine.execute(). > > That is actually what worked. using poolclass=NullPool in > create_engine() in my test case fixed the problem. Not sure if that is > a SQLAlchemy issue, a DBAPI driver issue with SQLite (probably) or no > issue at all. :) > > Thanks for all your assistance, Michael!
its a DBAPI/SQLite issue. -- 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.
