Stephan Beal wrote:
> On Thu, Jul 30, 2015 at 11:35 PM, Clemens Ladisch <clemens at ladisch.de>
> wrote:
>> gwenn wrote:
>>> sqlite3_stmt_busy returns true after sqlite3_step returns DONE.
>>
>> The documentation says:
>> | The sqlite3_stmt_busy(S) interface returns true (non-zero) if the
>> | prepared statement S has been stepped at least once using
>> | sqlite3_step(S) but has not run to completion and/or has not been
>> | reset using sqlite3_reset(S).
>>
>> The statement has not been reset, and that "and/or" can be read as "or".
>
> Does that means that SQLITE_DONE does _not_ mean "has run to completion"?

No.

Let me rephrase that doc snippet:
"sqlite3_stmt_busy() returns true if A but not B and/or not C" (where
A = "stepped", B = "SQLITE_DONE", C = "reset").

I do not know if the "but not" and "and/or" operators use the SQL
precedence rules.  :)  But there exists a way of interpreting this
sentence that matches the actual behavuour.


Regards,
Clemens

Reply via email to