Re: [sqlite] implicit transaction is commited without sqlite3_reset or sqlite3_finalize, differs with Documentation, which one is correct ?

2017-08-05 Thread Keith Medcalf
Both. You are stepping a "statement" to the "end" (that is, completion, naught more to do). Thus the statement is automatically reset and any implicit transaction is committed. If however you executed a statement like: SELECT * FROM ReallyBigTable; and ReallyBigTable has 1 million rows

Re: [sqlite] implicit transaction is commited without sqlite3_reset or sqlite3_finalize, differs with Documentation, which one is correct ?

2017-08-05 Thread Igor Tandetnik
On 8/5/2017 5:44 AM, 倪磊 wrote: I verified this through Linux Perf tools. What does that mean? How do these tools convince you that a transaction was committed? Examine the database before and after, using SQLite command line utility. Does "test" table contain one more row after than it did

[sqlite] implicit transaction is commited without sqlite3_reset or sqlite3_finalize, differs with Documentation, which one is correct ?

2017-08-05 Thread 倪磊
Question for the paragraph in http://www.sqlite.org/lang_transaction.html: "An implicit transaction (a transaction that is started automatically, not a transaction started by BEGIN) is committed automatically when the last active statement finishes. A statement finishes when its prepared