46 lines
1.8 KiB
Groff
46 lines
1.8 KiB
Groff
.Dd December 19, 2018
|
|
.Dt SQLITE3_INTERRUPT 3
|
|
.Os
|
|
.Sh NAME
|
|
.Nm sqlite3_interrupt
|
|
.Nd Interrupt A Long-Running Query
|
|
.Sh SYNOPSIS
|
|
.Ft void
|
|
.Fo sqlite3_interrupt
|
|
.Fa "sqlite3*"
|
|
.Fc
|
|
.Sh DESCRIPTION
|
|
This function causes any pending database operation to abort and return
|
|
at its earliest opportunity.
|
|
This routine is typically called in response to a user action such
|
|
as pressing "Cancel" or Ctrl-C where the user wants a long query operation
|
|
to halt immediately.
|
|
.Pp
|
|
It is safe to call this routine from a thread different from the thread
|
|
that is currently running the database operation.
|
|
But it is not safe to call this routine with a database connection
|
|
that is closed or might close before sqlite3_interrupt() returns.
|
|
.Pp
|
|
If an SQL operation is very nearly finished at the time when sqlite3_interrupt()
|
|
is called, then it might not have an opportunity to be interrupted
|
|
and might continue to completion.
|
|
.Pp
|
|
An SQL operation that is interrupted will return SQLITE_INTERRUPT.
|
|
If the interrupted SQL operation is an INSERT, UPDATE, or DELETE that
|
|
is inside an explicit transaction, then the entire transaction will
|
|
be rolled back automatically.
|
|
.Pp
|
|
The sqlite3_interrupt(D) call is in effect until all currently running
|
|
SQL statements on database connection D complete.
|
|
Any new SQL statements that are started after the sqlite3_interrupt()
|
|
call and before the running statements reaches zero are interrupted
|
|
as if they had been running prior to the sqlite3_interrupt() call.
|
|
New SQL statements that are started after the running statement count
|
|
reaches zero are not effected by the sqlite3_interrupt().
|
|
A call to sqlite3_interrupt(D) that occurs when there are no running
|
|
SQL statements is a no-op and has no effect on SQL statements that
|
|
are started after the sqlite3_interrupt() call returns.
|
|
.Sh SEE ALSO
|
|
.Xr sqlite3 3 ,
|
|
.Xr SQLITE_OK 3
|