Re: [sqlite] Re: Re: SQLite3 Concurrency

2007-08-26 Thread Igor Mironchick
What about this: char * errors; // I guarante that here no errors in SQL syntaxis. char * sql = "SELECT * FROM data"; sqlite3_exec( db, "BEGIN", 0, 0, 0 ); int ret = sqlite3_exec( db, sql, 0, 0, &errors ); What's the point of running a SELECT statement without actually reading the returned row

Re: [sqlite] Re: Re: SQLite3 Concurrency

2007-08-26 Thread John Stanton
Igor, I confused the issue with names. The correct name is a "reserved" lock, created when a simple transaction is launched in "deferred" mode. Here is the Sqlite explanation. "...In SQLite version 3.0.8 and later, transactions can be deferred, immediate, or exclusive. Deferred means that no

[sqlite] Re: Re: SQLite3 Concurrency

2007-08-26 Thread Igor Tandetnik
Igor Mironchick <[EMAIL PROTECTED]> wrote: What about this: char * errors; // I guarante that here no errors in SQL syntaxis. char * sql = "SELECT * FROM data"; sqlite3_exec( db, "BEGIN", 0, 0, 0 ); int ret = sqlite3_exec( db, sql, 0, 0, &errors ); What's the point of running a SELECT statem

[sqlite] Re: Re: SQLite3 Concurrency

2007-08-26 Thread Igor Tandetnik
John Stanton <[EMAIL PROTECTED]> wrote: How about the case of a simple BEGIN which sets a deferred lock so that the busy will occur when that lock is promoted later in the the transaction? I'm not sure I understand your question. http://sqlite.org/lockingv3.html says that a simple BEGIN statem