[EMAIL PROTECTED] wrote:
[DQL statements ("SELECT ...") lock the whole database when using PySQLite.]

Hi,


I've thought about this whole issue and made a few changes to my local working copy of PySQLite over the weekend, which will go into the next release (during the next days):

The most important change is that even in transactional mode, a BEGIN will only be sent immediately before the first DML statement (INSERT/UPDATE/DELETE). DQL statements (SELECT) will not trigger the sending of a BEGIN any more.

This means that read-operations won't block other connections to the database any more, which will make PySQLite a lot more usable for web applications.

Still, your DA certainly needs an additional .commit() somewhere, otherwise this problem wouldn't appear at all. Also be sure to set the busy timeout in the connect call. timeout=2.0 would be a reasonable value, normally.

I can send you a snapshot of my PySQLite working copy tomorrow, and I could also take a look at your DA, if you want to.

-- Gerhard


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to