Manual Page Result
0
Command: sqlite3_interrupt | Section: 3 | Source: NetBSD | File: sqlite3_interrupt.3
SQLITE3_INTERRUPT(3) FreeBSD Library Functions Manual SQLITE3_INTERRUPT(3)
NAME
sqlite3_interrupt - Interrupt A Long-Running Query
SYNOPSIS
void
sqlite3_interrupt(sqlite3*);
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.
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.
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.
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.
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.
SEE ALSO
sqlite3(3), SQLITE_OK(3)
FreeBSD 14.1-RELEASE-p8 December 19, 2018 FreeBSD 14.1-RELEASE-p8