i may not have been clear i want to begin transactions on different threads at once in each thread begin a transaction insert lots of data, this may take a long time commit transaction
i understand that one commit will block the other but does inserting data during a transaction actually block too? is inserting considered a "writing transaction" if there is a "begin" before it? cuz it's not actually writing to the DB proper, it's writing to it's journal file, saving things up until the "commit" or "rollback". i'm not using "begin immediate", just using "begin" On Feb 5, 2011, at 2:53 PM, Pavel Ivanov wrote: >> i understand that one "commit" will block all other threads from doing a >> "commit", "rollback" or any atomic transaction, until it's done, but are you >> saying i can't even add data on another thread while one has an open >> transaction? > > There can be several simultaneous read-only transactions. But as long > as one connection started a writing transaction (by executing "begin > immediate" or by executing insert/update/delete after "begin") no > other connection can start a writing transaction (it still can do > read-only transactions for a while). > > If you need a different behavior you need to use some other DBMS. > > > Pavel > > On Sat, Feb 5, 2011 at 5:48 PM, David M. Cotter <m...@davecotter.com> wrote: >>> Transactions are per-connection and have nothing to do >>> with threads. If you want different transactions in each thread you >>> need to make one connection for each thread. But those transactions >>> won't be able to execute simultaneously. >> >> so if i open a separate connection on each thread >> then each thread begins a transaction >> you're saying one thread will block? >> >> i understand that one "commit" will block all other threads from doing a >> "commit", "rollback" or any atomic transaction, until it's done, but are you >> saying i can't even add data on another thread while one has an open >> transaction? >> _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users