Lines Matching refs:or
14 ** or constant definition does not appear in this file, then it is
95 ** interfaces as either deprecated or experimental. New applications
131 ** be held constant and Z will be incremented or else Y will be incremented
141 ** or SHA3-256 hash of the entire source tree. If the source code has
193 ** ^The sqlite3_compileoption_used() function returns 0 or 1
227 ** SQLite can be compiled with or without mutexes. When
228 ** the [SQLITE_THREADSAFE] C preprocessor macro is 1 or 2, mutexes
245 ** SQLITE_THREADSAFE=1 or =2 then mutexes are enabled by default but
246 ** can be fully or partially disabled using a call to [sqlite3_config()]
248 ** or [SQLITE_CONFIG_SERIALIZED]. ^(The return value of the
330 ** statements, BLOB handlers, and/or unfinished sqlite3_backup objects then
333 ** statements, unclosed BLOB handlers, and/or unfinished sqlite3_backups,
347 ** pointer or an [sqlite3] object pointer obtained
348 ** from [sqlite3_open()], [sqlite3_open16()], or
350 ** ^Calling sqlite3_close() or sqlite3_close_v2() with a NULL pointer
372 ** ^The sqlite3_exec() interface runs zero or more UTF-8 encoded,
410 ** to an empty string, or a pointer that contains only whitespace and/or
438 ** here in order to indicate success or failure.
463 #define SQLITE_TOOBIG 18 /* String or BLOB exceeds size limit */
489 ** about errors. These [extended result codes] are enabled or disabled
638 ** after reboot following a crash or power loss, the only bytes in a
676 ** The argument to xLock() is always SHARED or higher. The argument to
677 ** xUnlock is either SHARED or NONE.
680 #define SQLITE_LOCK_SHARED 1 /* xLock() or xUnlock() */
704 ** energetic or rigorous or forceful the sync operations are and
735 ** [sqlite3_file] object (or, more commonly, a subclass of the
747 ** The flags argument to xSync may be one of [SQLITE_SYNC_NORMAL] or
758 ** <li> [SQLITE_LOCK_PENDING], or
763 ** xLock() is always on of SHARED, RESERVED, PENDING, or EXCLUSIVE, never
764 ** SQLITE_LOCK_NONE. If the database file lock is already at or above the
766 ** xUnlock() downgrades the database file lock to either SHARED or NONE.
767 * If the lock is already at or below the requested lock state, then the call
770 ** either in this process or in some other process, is holding a RESERVED,
771 ** PENDING, or EXCLUSIVE lock on the file. It returns true
778 ** point to a structure that may contain arguments or space in which to
782 ** about the status of a lock, or to break stale locks. The SQLite
872 ** [SQLITE_LOCK_RESERVED], [SQLITE_LOCK_PENDING], or [SQLITE_LOCK_EXCLUSIVE])
910 ** the [rollback journal] or the [write-ahead log]) for a particular database
956 ** ^The [SQLITE_FCNTL_PERSIST_WAL] opcode is used to set or query the
967 ** That integer is 0 to disable persistent WAL mode or 1 to enable persistent
972 ** ^The [SQLITE_FCNTL_POWERSAFE_OVERWRITE] opcode is used to set or query the
973 ** persistent "powersafe-overwrite" or "PSOW" setting. The PSOW setting
977 ** That integer is 0 to disable zero-damage mode or 1 to enable zero-damage
1015 ** pragma or NULL if the pragma has no argument. ^The handler for an
1018 ** or the equivalent and that string will become the result of the pragma or
1024 ** prepared statement if result string is NULL, or that returns a copy
1027 ** any result code other than [SQLITE_OK] or [SQLITE_NOTFOUND], that means
1055 ** The [SQLITE_FCNTL_MMAP_SIZE] file control is used to query or set the
1075 ** on whether or not the file has been renamed, moved, or deleted since it
1113 ** the closing [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE] or
1125 ** ^Regardless of whether or not it is successful, this file control takes
1143 ** obtain a file lock using the xLock or xShmLock methods of the VFS.
1154 ** connection or through transactions committed by separate database
1165 ** happen either internally or externally and that are associated with
1182 ** whether or not there is a database client in another process with a wal-mode
1183 ** transaction open on the database or not. It is only available on unix.The
1188 ** the database is not a wal-mode db, or if there is no such connection in any
1320 ** or modify this field while holding a particular static mutex.
1329 ** is either a NULL pointer or string obtained
1333 ** 11 alphanumeric and/or "-" characters.
1346 ** or [sqlite3_open16()] is used, then flags includes at least
1367 ** that does not care about crash recovery or rollback might make
1400 ** a valid [sqlite3_io_methods] object or to NULL. xOpen must do
1403 ** or failure of the xOpen call.
1407 ** to test for the existence of a file, or [SQLITE_ACCESS_READWRITE] to
1408 ** test whether a file is readable and writable, or [SQLITE_ACCESS_READ]
1412 ** directory. The xAccess method returns [SQLITE_OK] on success or some
1413 ** non-zero error code if there is an I/O error or if the name of
1415 ** is returned, then non-zero or zero is written into *pResOut to indicate
1416 ** whether or not the file is accessible.
1439 ** date and time if that method is available (if iVersion is 2 or
1448 ** or impossible to induce. The set of system calls that can be overridden
1451 ** or all of these interfaces to be NULL or for their behavior to change
1479 ** definition. Those that follow are added in version 2 or later
1535 ** When unlocking, the same SHARED or EXCLUSIVE flag must be supplied as
1538 ** The xShmLock method can transition between unlocked and SHARED or
1552 ** The SQLite core will never attempt to acquire or release a
1570 ** the process, or if it is the first time sqlite3_initialize() is invoked
1613 ** performed by these routines include allocation or deallocation
1615 ** setting up a default [sqlite3_vfs] module, or setting up
1619 ** or sqlite3_os_end() directly. The application should only invoke
1624 ** are built into SQLite when it is compiled for Unix, Windows, or OS/2.
1629 ** implementation of sqlite3_os_init() or sqlite3_os_end()
1653 ** [sqlite3_initialize()] or after shutdown by [sqlite3_shutdown()].
1666 ** ^If the option is unknown or SQLite is unable to set the option
1699 ** [SQLITE_CONFIG_MALLOC] or [SQLITE_CONFIG_GETMALLOC].
1721 ** previously obtained from xMalloc or xRealloc. The allocated size
1727 ** of 8. Some allocators round up to a larger multiple or to a power of 2.
1729 ** or [sqlite3_realloc()] first calls xRoundup. If xRoundup returns 0,
1733 ** it might allocate any required mutexes or initialize internal data
1747 ** methods must be threadsafe or else make their own arrangements for
1776 ** non-zero [error code] if a discontinued or unsupported configuration option
1813 ** application is free to use the same [database connection] or the
1836 ** routines with a wrapper that simulations memory allocation failure or
1851 ** interpreted as a boolean, which enables or disables the collection of
1885 ** argument must be either a NULL pointer or a pointer to an 8-byte
1890 ** a page cache line is larger than sz bytes or if all of the pMem buffer
1894 ** from [sqlite3_malloc()] sufficient for N cache lines if N is positive or
1905 ** with either [SQLITE_ENABLE_MEMSYS3] or [SQLITE_ENABLE_MEMSYS5] and returns
1916 ** boundary or subsequent behavior of SQLite will be undefined.
1939 ** profiling or testing, for example. ^If SQLite is compiled with
1978 ** [sqlite3_log()] call and is intended to be a [result code] or an
1991 ** [sqlite3_open16()] or
1993 ** of whether or not the [SQLITE_OPEN_URI] flag is set when the database
2002 ** argument which is interpreted as a boolean in order to enable or disable
2005 ** by the [SQLITE_ALLOW_COVERING_INDEX_SCAN] compile-time option, or is "on"
2042 ** either the [PRAGMA mmap_size] command, or by using the
2111 ** size can be adjusted up or down for individual databases using the
2158 ** non-zero [error code] if a discontinued or unsupported configuration option
2173 ** or equal to the product of the second and third arguments. The buffer
2178 ** connection is not currently using lookaside memory, or in other words
2187 ** <dd> ^This option is used to enable or disable the enforcement of
2190 ** positive to enable FK enforcement or negative to leave FK enforcement
2192 ** is written 0 or 1 to indicate whether FK enforcement is off or on
2198 ** <dd> ^This option is used to enable or disable [CREATE TRIGGER | triggers].
2201 ** positive to enable triggers or negative to leave the setting unchanged.
2203 ** is written 0 or 1 to indicate whether triggers are disabled or enabled
2210 ** triggers in the main database schema or in the schemas of ATTACH-ed
2215 ** <dd> ^This option is used to enable or disable [CREATE VIEW | views].
2218 ** positive to enable views or negative to leave the setting unchanged.
2220 ** is written 0 or 1 to indicate whether views are disabled or enabled
2227 ** views in the main database schema or in the schemas of ATTACH-ed
2232 ** <dd> ^This option is used to enable or disable the
2236 ** The first argument is an integer which is 0 to disable fts3_tokenizer() or
2237 ** positive to enable fts3_tokenizer() or negative to leave the setting
2240 ** is written 0 or 1 to indicate whether fts3_tokenizer is disabled or enabled
2246 ** <dd> ^This option is used to enable or disable the [sqlite3_load_extension()]
2248 ** The [sqlite3_enable_load_extension()] API enables or disables both the
2255 ** C-API or the SQL function.
2257 ** is written 0 or 1 to indicate whether [sqlite3_load_extension()] interface
2258 ** is disabled or enabled following this call. The second parameter may
2273 ** <dd> Usually, when a database in wal mode is closed or detached from a
2278 ** is an integer - positive to disable checkpoints-on-close, or zero (the
2281 ** into which is written 0 or 1 to indicate whether checkpoints-on-close
2286 ** <dd>^(The SQLITE_DBCONFIG_ENABLE_QPSG option activates or deactivates
2295 ** the QPSG, positive to enable QPSG, or negative to leave the setting
2297 ** is written 0 or 1 to indicate whether the QPSG is disabled or enabled
2304 ** option is used to set or clear (the default) a flag that governs this
2306 ** positive to enable output for trigger programs, or zero to disable it,
2307 ** or negative to leave the setting unchanged.
2309 ** 0 or 1 to indicate whether output-for-triggers has been disabled - 0 if
2321 ** database, or calling sqlite3_table_column_metadata(), ignoring any
2334 ** <dd>The SQLITE_DBCONFIG_DEFENSIVE option activates or deactivates the
2349 ** <dd>The SQLITE_DBCONFIG_WRITABLE_SCHEMA option activates or deactivates the
2351 ** to setting [PRAGMA writable_schema=ON] or [PRAGMA writable_schema=OFF].
2353 ** the writable_schema, positive to enable writable_schema, or negative to
2355 ** integer into which is written 0 or 1 to indicate whether the writable_schema
2356 ** is enabled or disabled following this call.
2361 ** <dd>The SQLITE_DBCONFIG_LEGACY_ALTER_TABLE option activates or deactivates
2371 ** <dd>The SQLITE_DBCONFIG_DQS_DML option activates or deactivates
2380 ** <dd>The SQLITE_DBCONFIG_DQS option activates or deactivates
2397 ** partial indexes, or generated columns
2399 ** <li> Prohibit the use of virtual tables inside of triggers or views
2409 ** <dd>The SQLITE_DBCONFIG_LEGACY_FILE_FORMAT option activates or deactivates
2426 ** either generated columns or decending indexes.
2454 ** ^The sqlite3_extended_result_codes() routine enables or disables the
2467 ** as an undeclared column named ROWID, OID, or _ROWID_ as long as those
2473 ** the most recent successful [INSERT] into a rowid table or [virtual table]
2517 ** unpredictable and might not equal either the old or the new
2536 ** ^These functions return the number of rows modified, inserted or
2537 ** deleted by the most recently completed INSERT, UPDATE or DELETE
2541 ** or DELETE is greater than the maximum value supported by type "int", then
2545 ** ^Only changes made directly by the INSERT, UPDATE or DELETE statement are
2547 ** [foreign key actions] or [REPLACE] constraint resolution are not counted.
2551 ** returned by sqlite3_changes() immediately after an INSERT, UPDATE or
2557 ** program uses the [changes() SQL function], or if some other callback
2572 ** ^This means that if the changes() SQL function (or similar) is used
2573 ** by the first INSERT, UPDATE or DELETE statement within a trigger, it
2575 ** ^If it is used by the second or subsequent such statement within a trigger
2577 ** previous INSERT, UPDATE or DELETE statement within the same trigger.
2598 ** ^These functions return the total number of rows inserted, modified or
2599 ** deleted by all [INSERT], [UPDATE] or [DELETE] statements completed
2617 ** connections use the [PRAGMA data_version] command or the
2643 ** or Ctrl-C where the user wants a long query operation to halt
2649 ** is closed or might close before sqlite3_interrupt() returns.
2656 ** ^If the interrupted SQL operation is an INSERT, UPDATE, or DELETE
2677 ** currently entered text seems to form a complete SQL statement or
2683 ** string literals or quoted identifier names or comments are not
2698 ** regardless of whether or not the input SQL is complete.)^
2718 ** or process has the table locked.
2757 ** or evaluating [PRAGMA busy_timeout=N] will change the
2766 ** or [prepared statement] that invoked the busy handler.
2781 ** ^Calling this routine with an argument less than or equal to zero
2802 ** complete query results from one or more queries.
2816 ** A result table might consist of one or more memory allocations.
2846 ** ^The sqlite3_get_table() function evaluates one or more
2863 ** reflected in subsequent calls to [sqlite3_errcode()] or
2933 ** sqlite3_malloc() is zero or negative then sqlite3_malloc() returns
2941 ** by sqlite3_malloc() or sqlite3_realloc() releases that memory so
2946 ** memory might result in a segmentation fault or other severe error.
2947 ** Memory corruption, a segmentation fault, or other severe error
2949 ** was not obtained from sqlite3_malloc() or sqlite3_realloc().
2956 ** ^If the N parameter to sqlite3_realloc(X,N) is zero or
2960 ** of at least N bytes in size or NULL if insufficient memory is available.
2972 ** sqlite3_malloc64(), sqlite3_realloc(), or sqlite3_realloc64(), then
2977 ** the beginning of memory allocation, or if it points to a formerly
2983 ** is always aligned to at least an 8 byte boundary, or to a
2988 ** must be either NULL or else pointers obtained from a prior
2989 ** invocation of [sqlite3_malloc()] or [sqlite3_realloc()] that have
2992 ** The application must not read or write any part of
2994 ** [sqlite3_free()] or [sqlite3_realloc()].
3041 ** ^If this routine has not been previously called or if the previous
3042 ** call had N less than one or a NULL pointer for P, then the PRNG is
3045 ** ^If the previous call to this routine had an N of 1 or more and a
3060 ** by [sqlite3_prepare()] or its variants [sqlite3_prepare_v2()],
3068 ** compiled, or [SQLITE_DENY] to cause the entire SQL statement to be
3070 ** any value other than [SQLITE_IGNORE], [SQLITE_OK], or [SQLITE_DENY]
3071 ** then the [sqlite3_prepare_v2()] or equivalent call that triggered
3076 ** [sqlite3_prepare_v2()] or equivalent call that triggered the
3084 ** to the callback are either NULL pointers or zero-terminated strings
3106 ** do not try to access data they are not allowed to see, or that they do not
3136 ** [sqlite3_prepare()] or its variants. Authorization is not
3151 ** return either [SQLITE_OK] or one of these two constants in order
3152 ** to signal SQLite whether or not the action is permitted. See the
3173 ** callback function will be parameters or NULL depending on which of these
3177 ** is the name of the inner-most trigger or view that is responsible for
3178 ** the access attempt or NULL if this access attempt is directly from
3200 #define SQLITE_PRAGMA 19 /* Pragma Name 1st arg or NULL */
3246 ** either [sqlite3_trace()] or [sqlite3_trace_v2()] will cancel the
3260 ** to [sqlite3_trace_v2(D,M,X,P)] is an OR-ed combination of one or more of
3279 ** is the unexpanded SQL text of the prepared statement or an SQL comment
3318 ** NULL or if the M mask is zero, then tracing is disabled. The
3320 ** zero or more [SQLITE_TRACE] constants.
3322 ** ^Each call to either sqlite3_trace() or sqlite3_trace_v2() overrides
3323 ** (cancels) any prior calls to sqlite3_trace() or sqlite3_trace_v2().
3392 ** object.)^ ^(If the database is opened (and/or created) successfully, then
3394 ** [sqlite3_errmsg()] or [sqlite3_errmsg16()] routines can be used to obtain
3399 ** sqlite3_open() or sqlite3_open_v2(). ^The default encoding for databases
3402 ** Whether or not an error occurs when it is opened, resources
3418 ** <dd>The database is opened for reading and writing if possible, or reading
3514 ** set in the third argument to sqlite3_open_v2(), or if it has
3516 ** [sqlite3_config()] method or by the [SQLITE_USE_URI] compile-time option.
3523 ** authority, then it must be either an empty string or the string
3524 ** "localhost". ^If the authority is not an empty string or "localhost", an
3538 ** either by SQLite itself, or by a [VFS | custom VFS implementation].
3552 ** "rwc", or "memory". Attempting to set it to any other value is
3562 ** or writes from disk is used. ^It is an error to specify a value for
3566 ** <li> <b>cache</b>: ^The cache parameter may be set to either "shared" or
3573 ** SQLITE_OPEN_PRIVATECACHE or SQLITE_OPEN_SHAREDCACHE flag.
3575 ** <li> <b>psow</b>: ^The psow parameter indicates whether or not the
3576 ** [powersafe overwrite] property does or does not apply to the
3583 ** or more processes write to the same database and any one of those
3593 ** in incorrect query results and/or [SQLITE_CORRUPT] errors.
3623 ** Regardless of whether or not shared-cache mode is enabled by
3636 ** specifying an octet value. ^Before the path or query components of a
3646 ** sqlite3_open() or sqlite3_open_v2().
3649 ** prior to calling sqlite3_open() or sqlite3_open_v2(). Otherwise, various
3680 ** passed into the xOpen() method of a VFS implemention, or
3681 ** <li> A filename obtained from [sqlite3_db_filename()], or
3691 ** parameter if it exists or a NULL pointer if P does not appear as a
3697 ** parameter and returns true (1) or false (0) according to the value
3699 ** value of query parameter P is one of "yes", "true", or "on" in any
3700 ** case or if the value begins with a non-zero number. The
3702 ** query parameter P is one of "no", "false", or "off" in any case or
3704 ** parameter on F or if the value of P does not match any of the
3708 ** 64-bit signed integer and returns that integer, or D if P does not
3713 ** the value) of the N-th query parameter for filename F, or a NULL
3714 ** pointer if N is less than zero or greater than the number of query
3726 ** parameter can also be the name of a rollback journal file or WAL file
3729 ** When the F parameter is the name of the rollback journal or WAL file,
3747 ** If F is the name of an sqlite database file, journal file, or WAL file
3751 ** If F is the name of an sqlite database file, journal file, or WAL file
3752 ** passed by the SQLite core into the VFS, or if F is a database filename
3756 ** If F is the name of an sqlite database file, journal file, or WAL file
3757 ** that was passed by the SQLite core into the VFS, or if F is a database
3762 ** In all of the above, if F is not the name of a database, journal or WAL
3774 ** ^If X is the name of a rollback or WAL-mode journal file that is
3784 ** [SQLITE_OPEN_MAIN_JOURNAL] or [SQLITE_OPEN_WAL]. Any other use
3807 ** <li> [sqlite3_filename_journal()], or
3819 ** None of the D, J, or W parameters to sqlite3_create_filename(D,J,W,N,P) may
3827 ** than a NULL pointer or a pointer previously acquired from
3829 ** corruption or segfaults may occur. The value Y should not be
3850 ** returns the numeric [result code] or [extended result code] for that
3857 ** The values returned by sqlite3_errcode() and/or
3872 ** text that describes the error, as either UTF-8 or UTF-16 respectively.
3875 ** However, the error string might be overwritten or deallocated by
3902 ** error code and message may or may not be set.
3929 ** <li> Run the SQL by calling [sqlite3_step()] one or more times.
3931 ** to step 2. Do this zero or more times.
3943 ** [database connection] whose limit is to be set or queried. The
3957 ** ^Regardless of whether or not the limit was changed, the
3990 ** <dd>The maximum size of any string or BLOB or table row, in bytes.<dd>)^
3996 ** <dd>The maximum number of columns in a table definition or in the
3997 ** result set of a [SELECT] or the maximum number of columns in an index
3998 ** or in an ORDER BY or GROUP BY clause.</dd>)^
4008 ** used to implement an SQL statement. If [sqlite3_prepare_v2()] or
4020 ** <dd>The maximum length of the pattern argument to the [LIKE] or
4063 ** be used just once or at most a few times and then destroyed using
4074 ** prepared statements, regardless of whether or not they use this
4108 ** prior successful call to [sqlite3_open()], [sqlite3_open_v2()] or
4112 ** as either UTF-8 or UTF-16. The sqlite3_prepare(), sqlite3_prepare_v2(),
4134 ** string or a comment) then *ppStmt is set to NULL.
4161 ** [error codes] or [extended error codes]. ^The legacy behavior was that
4176 ** or [GLOB] operator or if the parameter is compared to an indexed column
4182 ** the extra prepFlags parameter, which is a bit array consisting of zero or
4205 unsigned int prepFlags, /* Zero or more SQLITE_PREPARE_ flags */
4227 unsigned int prepFlags, /* Zero or more SQLITE_PREPARE_ flags */
4239 ** [sqlite3_prepare16_v2()], or [sqlite3_prepare16_v3()].
4256 ** is available to hold the result, or if the result would exceed the
4287 ** Note that [application-defined SQL functions] or
4322 ** ^If prepared statement X is an [EXPLAIN] or [EXPLAIN QUERY PLAN]
4324 ** if the EXPLAIN or EXPLAIN QUERY PLAN prefix were omitted.
4333 ** prepared statement S is an EXPLAIN statement, or 2 if the
4336 ** an ordinary statement or a NULL pointer.
4368 ** can be integers, floating point values, strings, BLOBs, or NULL.
4370 ** An sqlite3_value object may be either "protected" or "unprotected".
4372 ** will accept either a protected or an unprotected sqlite3_value.
4374 ** whether or not it requires a protected sqlite3_value. The
4378 ** The terms "protected" and "unprotected" refer to whether or not
4383 ** or if SQLite is run in one of reduced mutex modes
4384 ** [SQLITE_CONFIG_SINGLETHREAD] or [SQLITE_CONFIG_MULTITHREAD]
4415 ** and/or [sqlite3_set_auxdata()].
4439 ** parameters (also called "host parameter names" or "SQL parameters")
4444 ** [sqlite3_prepare_v2()] or its variants.
4457 ** ^If the third parameter to sqlite3_bind_text() or sqlite3_bind_text16()
4458 ** or sqlite3_bind_blob() is a NULL pointer then the fourth parameter
4466 ** either UTF8 if the sixth parameter is SQLITE_UTF8, or UTF16
4471 ** found in first character, which is removed, or in the absence of a BOM
4473 ** machine for sqlite3_bind_text16() or the byte order specified in
4482 ** ^If the fourth parameter to sqlite3_bind_text() or sqlite3_bind_text16()
4488 ** or sqlite3_bind_text16() or sqlite3_bind_text64() then
4497 ** or indicates the lifetime of the object referenced by the third parameter.
4499 ** ^ (1) A destructor to dispose of the BLOB or string after SQLite has finished
4500 ** with it may be passed. ^It is called to dispose of the BLOB or string even
4502 ** the third parameter is a NULL pointer or the fourth parameter is negative.
4506 ** either the prepared statement is finalized or the same SQL parameter is
4514 ** [SQLITE_UTF8], [SQLITE_UTF16], [SQLITE_UTF16BE], or [SQLITE_UTF16LE]
4517 ** allowed values shown above, or if the text encoding is different
4531 ** associated with the pointer P of type T. ^D is either a NULL pointer or
4539 ** for the [prepared statement] or with a prepared statement for which
4548 ** ^The sqlite3_bind_* routines return [SQLITE_OK] on success or an
4550 ** ^[SQLITE_TOOBIG] might be returned if the size of a string or BLOB
4551 ** exceeds limits imposed by [sqlite3_limit]([SQLITE_LIMIT_LENGTH]) or
4581 ** form "?", "?NNN", ":AAA", "$AAA", or "@AAA" that serve as
4602 ** ^(SQL parameters of the form "?NNN" or ":AAA" or "@AAA" or "$AAA"
4603 ** have a name which is the string "?NNN" or ":AAA" or "@AAA" or "$AAA"
4605 ** In other words, the initial ":" or "$" or "@" or "?"
4608 ** and are referred to as "nameless" or "anonymous parameters".
4612 ** ^If the value N is out of range or if the N-th parameter is
4616 ** [sqlite3_prepare16_v2()], or [sqlite3_prepare16_v3()].
4633 ** was prepared from UTF-16 text using [sqlite3_prepare16_v2()] or
4660 ** mean that one or more rows of data will be returned. ^A SELECT statement
4681 ** is destroyed by [sqlite3_finalize()] or until the statement is automatically
4683 ** or until the next call to
4684 ** sqlite3_column_name() or sqlite3_column_name16() on the same column.
4705 ** ^The name of the database or table or column can be returned as
4706 ** either a UTF-8 or UTF-16 string. ^The _database_ routines return
4710 ** using [sqlite3_finalize()] or until the statement is automatically
4712 ** or until the same information is requested
4723 ** ^If the Nth column returned by the statement is an expression or
4727 ** or column that query result column was extracted from.
4735 ** If two or more threads call one or more
4754 ** expression or subquery) then the declared type of the table
4756 ** expression or subquery, then a NULL pointer is returned.
4786 ** or [sqlite3_prepare16_v3()] or one of the legacy
4787 ** interfaces [sqlite3_prepare()] or [sqlite3_prepare16()], this function
4788 ** must be called one or more times to evaluate the statement.
4793 ** [sqlite3_prepare16_v2()] or the older legacy
4799 ** [SQLITE_DONE], [SQLITE_ROW], [SQLITE_ERROR], or [SQLITE_MISUSE].
4800 ** ^With the "v2" interface, any of the other [result codes] or
4805 ** or occurs outside of an explicit transaction, then you can retry the
4831 ** already been [sqlite3_finalize | finalized] or on one that had
4832 ** previously returned [SQLITE_ERROR] or [SQLITE_DONE]. Or it could
4833 ** be the case that the same database connection is being used by two or
4852 ** [sqlite3_reset()] or [sqlite3_finalize()] in order to find one of the
4856 ** using [sqlite3_prepare_v3()] or [sqlite3_prepare_v2()]
4857 ** or [sqlite3_prepare16_v2()] or [sqlite3_prepare16_v3()] instead
4934 ** or a UTF-8 TEXT result in bytes
4947 ** that was returned from [sqlite3_prepare_v2()] or one of its variants)
4953 ** If the SQL statement does not currently point to a valid row, or if the
4958 ** If any of these routines are called after [sqlite3_reset()] or
4959 ** [sqlite3_finalize()] or after [sqlite3_step()] has returned
4961 ** If [sqlite3_step()] or [sqlite3_reset()] or [sqlite3_finalize()]
4974 ** [SQLITE_FLOAT], [SQLITE_TEXT], [SQLITE_BLOB], or [SQLITE_NULL].
4984 ** If the result is a BLOB or a TEXT string, then the sqlite3_column_bytes()
4985 ** or sqlite3_column_bytes16() interfaces can be used to determine the size
4986 ** of that BLOB or string.
4988 ** ^If the result is a BLOB or UTF-8 string then the sqlite3_column_bytes()
4989 ** routine returns the number of bytes in that BLOB or string.
4997 ** ^If the result is a BLOB or UTF-16 string then the sqlite3_column_bytes16()
4998 ** routine returns the number of bytes in that BLOB or string.
5027 ** or [sqlite3_value_bytes()], the behavior is not threadsafe.
5030 ** [application-defined SQL functions] or [virtual tables], not within
5063 ** calls to sqlite3_column_blob(), sqlite3_column_text(), and/or
5069 ** <li> The initial content is a BLOB and sqlite3_column_text() or
5072 ** <li> The initial content is UTF-8 text and sqlite3_column_bytes16() or
5075 ** <li> The initial content is UTF-16 text and sqlite3_column_bytes() or
5096 ** sqlite3_column_blob(), or sqlite3_column_text16() first to force the result
5097 ** into the desired format, then invoke sqlite3_column_bytes() or
5099 ** to sqlite3_column_text() or sqlite3_column_blob() with calls to
5104 ** described above, or until [sqlite3_step()] or [sqlite3_reset()] or
5147 ** or if the statement is never been evaluated, then sqlite3_finalize() returns
5149 ** sqlite3_finalize(S) returns the appropriate [error code] or
5155 ** one or more calls to [sqlite3_reset()], or after any call
5156 ** to [sqlite3_step()] regardless of whether or not the statement has
5183 ** [prepared statement] S returned [SQLITE_ROW] or [SQLITE_DONE],
5184 ** or if [sqlite3_step(S)] has never before been called on S,
5202 ** are used to add SQL functions or aggregates or to redefine the behavior
5203 ** of existing SQL functions or aggregates. The only differences between
5206 ** created) and the presence or absence of a destructor callback for
5216 ** ^The second parameter is the name of the SQL function to be created or
5224 ** is the number of arguments that the SQL function or
5225 ** aggregate takes. ^If this parameter is -1, then the SQL function or
5228 ** parameter is less than -1 or greater than 127 then the behavior is
5235 ** [sqlite3_value_text16le()] on an input, or [SQLITE_UTF16BE] if the
5236 ** implementation invokes [sqlite3_value_text16be()] on an input, or
5237 ** [SQLITE_UTF16] if [sqlite3_value_text16()] is used, or [SQLITE_UTF8]
5255 ** index expressions, or the WHERE clause of partial indexes.
5259 ** used inside of triggers, view, CHECK constraints, or other elements of
5261 ** functions that have side effects or reveal internal application state.
5272 ** pointers to C-language functions that implement the SQL function or
5277 ** SQL function or aggregate, pass NULL pointers for all three function
5284 ** which case a regular aggregate function is created, or must both be
5286 ** or aggregate window function. More details regarding the implementation
5290 ** ^(If the final parameter to sqlite3_create_function_v2() or
5293 ** is deleted, either by being overloaded or when the database connection
5301 ** arguments or differing preferred text encodings. ^SQLite will use
5316 ** close the database connection nor finalize or reset the prepared
5381 ** to [sqlite3_create_function()], [sqlite3_create_function16()], or
5391 ** with the WHERE clause of [partial indexes] or in [generated columns].
5398 ** from top-level SQL, and cannot be used in VIEWs or TRIGGERs nor in
5400 ** [expression indexes], [partial indexes], or [generated columns].
5403 ** that have side-effects or that could potentially leak sensitive
5433 ** Specifying this flag makes no difference for scalar or aggregate user
5484 ** or a UTF-8 TEXT in bytes
5520 ** using [sqlite3_bind_pointer(S,I,P,X,D)] or [sqlite3_result_pointer(C,P,X,D)]
5529 ** [SQLITE_FLOAT], [SQLITE_TEXT], [SQLITE_BLOB], or [SQLITE_NULL].)^
5534 ** SQLITE_TEXT. Whether or not a persistent internal datatype conversion
5539 ** made to convert the value to an integer or floating point. If
5546 ** [SQLITE_UTF16BE], or [SQLITE_UTF16LE] according to the current encoding
5551 ** sqlite3_value_text16le(X), sqlite3_value_bytes(X), or
5570 ** interfaces. ^If X comes from an SQL literal value, or a table column,
5571 ** or an expression, then sqlite3_value_frombind(X) returns zero.
5574 ** from [sqlite3_value_blob()], [sqlite3_value_text()], or
5577 ** or [sqlite3_value_text16()].
5640 ** ^The sqlite3_value_dup(V) interface returns NULL if V is NULL or if a
5672 ** when first called if N is less than or equal to zero or if a memory
5688 ** to the xStep or xFinal callback routine that implements the aggregate
5748 ** sqlite3_set_auxdata(C,N,P,X) call if the metadata is still valid or
5754 ** <li> ^(when the corresponding function parameter changes)^, or
5755 ** <li> ^(when [sqlite3_reset()] or [sqlite3_finalize()] is called for the
5756 ** SQL statement)^, or
5758 ** parameter)^, or
5806 ** These routines are used by the xFunc or xFinal callbacks that
5831 ** 2nd parameter of sqlite3_result_error() or sqlite3_result_error16()
5837 ** or sqlite3_result_error16() is negative then SQLite takes as the error
5839 ** ^If the third parameter to sqlite3_result_error() or
5844 ** they return. Hence, the calling function can deallocate or
5849 ** or sqlite3_result_error16() resets the error code to SQLITE_ERROR.
5852 ** error indicating that a string or BLOB is too long to represent.
5871 ** UTF-16 little endian, or UTF-16 big endian, respectively.
5875 ** of [SQLITE_UTF8], [SQLITE_UTF16], [SQLITE_UTF16BE], or [SQLITE_UTF16LE].
5892 ** or sqlite3_result_blob is a non-NULL pointer, then SQLite calls that
5893 ** function as the destructor on the text or BLOB result when it has
5895 ** ^If the 4th parameter to the sqlite3_result_text* interfaces or to
5897 ** assumes that the text or BLOB result is in constant space and does not
5901 ** or sqlite3_result_blob is the special constant SQLITE_TRANSIENT
5928 ** so that the [sqlite3_value] specified in the parameter may change or
5936 ** also associates the host-language pointer P or type T with that
5991 ** ^These functions add, remove, or modify a [collation] associated
6005 ** <li> [SQLITE_UTF16], or
6030 ** function must return an integer that is negative, zero, or positive
6031 ** if the first string is less than, equal to, or greater than the second,
6033 ** given the same inputs. If two or more collating functions are registered
6054 ** calls to the collation creation functions or when the
6107 ** of the second argument to sqlite3_collation_needed() or
6110 ** or [SQLITE_UTF16LE], indicating the most desirable form of the collation
6115 ** [sqlite3_create_collation()], [sqlite3_create_collation16()], or
6152 ** of the default VFS is not implemented correctly, or not implemented at
6175 ** It is not safe to read or modify this variable in more than one
6176 ** thread at a time. It is not safe to read or modify this variable
6191 ** made NULL or made to point to memory obtained from [sqlite3_malloc]
6192 ** or else the use of the [temp_store_directory pragma] should be avoided.
6200 ** prior to calling [sqlite3_open] or [sqlite3_open_v2]. Otherwise, various
6221 ** specified with a relative pathname and created or accessed by
6232 ** It is not safe to read or modify this variable in more than one
6233 ** thread at a time. It is not safe to read or modify this variable
6248 ** made NULL or made to point to memory obtained from [sqlite3_malloc]
6249 ** or else the use of the [data_store_directory pragma] should be avoided.
6258 ** with the [sqlite3_temp_directory] or [sqlite3_data_directory] variable, to
6264 ** or [SQLITE_NOMEM] if memory could not be allocated. The value of the
6270 ** UTF-8 or UTF-16, respectively.
6273 unsigned long type, /* Identifier for directory being set or reset */
6274 void *zValue /* New value for directory being set or reset */
6293 ** ^The sqlite3_get_autocommit() interface returns non-zero or
6294 ** zero if the given database connection is or is not in autocommit mode,
6297 ** ^Autocommit mode is re-enabled by a [COMMIT] or [ROLLBACK].
6320 ** to the [sqlite3_prepare_v2()] call (or its variants) that was used to
6330 ** for the N-th database on database connection D, or a NULL pointer of N is
6337 ** changes the schema, including [ATTACH] or [DETACH] or calls to
6338 ** [sqlite3_serialize()] or [sqlite3_deserialize()], even operations that
6354 ** connection D, or if database N is a temporary or in-memory database, then
6355 ** this function will return either a NULL pointer or an empty string.
6359 ** is [DETACH]-ed or until the database connection closes.
6364 ** to open the database originally was a URI or relative pathname.
6384 ** of connection D is read-only, 0 if it is read/write, or -1 if N is not
6427 ** state will revert to SQLITE_TXN_NONE following a [ROLLBACK] or
6434 ** to SQLITE_TXN_NONE at the next [ROLLBACK] or [COMMIT].</dd>
6474 ** on the same [database connection] D, or NULL for
6482 ** or rollback hook in the first place.
6484 ** or merely calling [sqlite3_prepare_v2()] and [sqlite3_step()] will modify
6496 ** rolled back if an explicit "ROLLBACK" statement is executed, or
6497 ** an error or constraint causes an implicit rollback to occur.
6518 ** ^If the value returned is greater than or equal to the number of
6533 ** invoked whenever the database connection closes or when the callback
6543 ** implementation will only return SQLITE_OK or SQLITE_MISUSE, but other
6546 ** <p>If no autovacuum pages callback is specified (the usual case) or
6578 ** to be invoked whenever a row is updated, inserted or deleted in
6584 ** row is updated, inserted or deleted in a rowid table.
6588 ** or [SQLITE_UPDATE], depending on the operation that caused the callback
6615 ** on the same [database connection] D, or NULL for
6630 ** ^(This routine enables or disables the sharing of the database cache
6643 ** sharing was enabled or disabled for each thread separately.
6650 ** ^(This routine returns [SQLITE_OK] if shared cache was enabled or disabled
6681 ** which might be more or less than the amount requested.
6709 ** ^The sqlite3_soft_heap_limit64() interface sets and/or queries the
6727 ** the heap limit prior to the call, or negative in the case of an
6731 ** sqlite3_soft_heap_limit64(-1) or sqlite3_hard_heap_limit(-1).
6750 ** if one or more of following conditions are true:
6802 ** (i.e. "main", "temp", or an attached database) containing the specified
6803 ** table or NULL.)^ ^If it is NULL, then all attached databases are searched
6832 ** ^If the specified column is "rowid", "oid" or "_rowid_" and the table
6853 const char *zDbName, /* Database name or NULL */
6874 ** "samplelib.so" or "samplelib.dylib" or "samplelib.dll" might
6893 ** [sqlite3_enable_load_extension()] or
6928 ** ^This interface enables or disables both the C-API
6931 ** to enable or disable only the C-API.)^
6968 ** or [sqlite3_open_v2()] call that provoked the xEntryPoint() will fail.
7026 ** to [sqlite3_create_module()] or [sqlite3_create_module_v2()].
7028 ** module or until the [database connection] closes. The content
7085 ** where OP is =, <, <=, >, or >=.)^ ^(The particular operator is
7122 ** the constraint may or may not be checked in byte code. In other words,
7151 ** part of the same statement to delete or update a virtual table row and the
7163 ** to read or write the estimatedRows field are undefined (but are likely
7166 ** value greater than or equal to 3008002. Similarly, the idxFlags field
7169 ** sqlite3_libversion_number() returns a value greater than or equal to
7237 ** in the input SQL. If the right-hand operand is another column or an
7238 ** expression (even a constant expression) or a parameter, then the
7284 ** when a new virtual table is be being created or reinitialized.
7321 ** The L parameter must be either NULL or a pointer to an array of pointers
7427 ** can be used to read or write small subsections of the BLOB.
7469 ** a TEXT or BLOB value)^,
7470 ** <li> ^(Column zColumn is part of an index, PRIMARY KEY or UNIQUE
7485 ** interface. However, the column, table, or database of a [BLOB handle]
7489 ** [UPDATE], [DELETE], or by [ON CONFLICT] side-effects
7506 ** zero-filled blob to read or write using the incremental-blob interface.
7537 ** it must exist and there must be either a blob or text value stored in
7538 ** the nominated column.)^ ^If the new row is not present in the table, or if
7539 ** it does not contain a blob or text value, or if another error occurs, an
7541 ** ^All subsequent calls to [sqlite3_blob_read()], [sqlite3_blob_write()] or
7560 ** blob handles or active write statements, the current transaction is
7564 ** Calling this function with an argument that is not a NULL pointer or an
7579 ** incremental blob I/O routines can only read or overwriting existing
7598 ** [SQLITE_ERROR] is returned and no data is read. ^If N or iOffset is
7607 ** Otherwise, an [error code] or an [extended error code] is returned.)^
7627 ** Otherwise, an [error code] or an [extended error code] is returned.)^
7641 ** using the [sqlite3_blob_bytes()] interface. ^If N or iOffset are less
7649 ** or by other independent statements.
7682 ** VFS is registered with a name that is NULL or an empty string,
7723 ** before calling sqlite3_initialize() or any other public sqlite3_
7766 ** use only the dynamic mutexes returned by SQLITE_MUTEX_FAST or
7770 ** or SQLITE_MUTEX_RECURSIVE) is used then sqlite3_mutex_alloc()
7799 ** calling thread or is not currently allocated.
7801 ** ^If the argument to sqlite3_mutex_enter(), sqlite3_mutex_try(), or
7821 ** implementation for specialized deployments or systems for which SQLite
7871 ** memory allocation for a fast or recursive mutex.
7904 ** is held or not held, respectively, by the calling thread.
7963 ** ^If the [threading mode] is Single-thread or Multi-thread then this
7976 ** name of the database is "main" for the main database or "temp" for the
7977 ** TEMP database, or the name that appears after the AS keyword for
8002 ** or [sqlite3_errmsg()]. The underlying xFileControl method might
8038 ** Applications should not use any of these parameters or the
8080 ** whether or not a specific identifier needs to be escaped (for example,
8091 ** or L are NULL or invalid pointers then calls to
8094 ** The sqlite3_keyword_check(Z,L) interface checks to see whether or not
8234 ** [SQLITE_NOMEM] following any out-of-memory error, or
8236 ** [SQLITE_MAX_LENGTH], or [SQLITE_OK] if there have been no errors.
8246 ** and might be freed or altered by any subsequent method on the same
8251 ** outside the range of 0 to [sqlite3_str_length(X)] and do not read or
8278 ** If either the current value or the highwater mark is too large to
8303 ** using [sqlite3_malloc()], either directly or indirectly. The
8312 ** handed to [sqlite3_malloc()] or [sqlite3_realloc()] (or their
8407 ** if a discontinued or unsupported verb is invoked.
8443 ** pager cache is shared between two or more connections the bytes of heap
8447 ** value as DBSTATUS_CACHE_USED. Or, if one or more or the pager caches are
8483 ** wal file in wal mode databases, or the number of pages written to the
8485 ** transaction rollback or database recovery operations are not included.
8486 ** If an IO or other error occurs while writing a page to disk, the effect
8502 ** all foreign key constraints (deferred or immediate) have been
8532 ** the number of table searches or result rows, that would tend to indicate
8578 ** by the prepared statement if that number is less than or equal
8586 ** automatically regenerated due to schema changes or changes to
8592 ** or more calls to [sqlite3_step()] followed by a call to [sqlite3_reset()].
8629 ** its size or internal structure and never deals with the
8643 ** of this object as parameters or as their return value.
8717 ** created will be used to cache database pages of a file stored on disk, or
8741 ** an sqlite3_pcache_page object associated with that page, or a NULL pointer.
8767 ** ^(SQLite will normally invoke xFetch() with a createFlag of 0 or 1. SQLite
8770 ** attempt to unpin one or more cache pages by spilling the content of
8778 ** zero, then the page may be discarded or retained at the discretion of
8794 ** existing cache entries with page numbers (keys) greater than or equal
8867 ** It is useful either for creating backups of databases or
8868 ** for copying in-memory databases to or from persistent files.
8878 ** reading or writing to the source database while the backup is underway.
8884 ** <li><b>sqlite3_backup_step()</b> is called one or more times to transfer
8898 ** temporary database, or the name specified after the AS keyword in
8904 ** must be different or else sqlite3_backup_init(D,N,S,M) will fail with
8908 ** there is already a read or read-write transaction open on the
8915 ** can be retrieved using the [sqlite3_errcode()], [sqlite3_errmsg()], and/or
8935 ** [SQLITE_NOMEM], [SQLITE_BUSY], [SQLITE_LOCKED], or an
8940 ** <li> the destination database was opened read-only, or
8942 ** and the destination and source page sizes differ, or
8957 ** [SQLITE_IOERR_ACCESS | SQLITE_IOERR_XXX], [SQLITE_NOMEM], or
8966 ** sqlite3_backup_finish() is called or the backup operation is complete
8973 ** external process or via a database connection other than the one being
8982 ** When sqlite3_backup_step() has returned [SQLITE_DONE], or when the
8993 ** sqlite3_backup_step() errors occurred, regardless or whether or not
8995 ** ^If an out-of-memory condition or IO error occurred during any prior
8999 ** ^A return of [SQLITE_BUSY] or [SQLITE_LOCKED] from sqlite3_backup_step()
9013 ** changes the size of the source database or the number of pages remaining,
9021 ** purposes while a backup operation is underway or being initialized.
9065 ** an [SQLITE_LOCKED] error if the required locks on the shared-cache or
9076 ** its current transaction, either by committing it or rolling it back.
9086 ** callback is invoked from within the [sqlite3_step] or [sqlite3_close]
9111 ** crash or deadlock may be the result.
9127 ** callback. ^If two or more such blocked connections have specified the
9161 ** one exception. When executing a "DROP TABLE" or "DROP INDEX" statement,
9167 ** or "DROP INDEX" query, an infinite loop might be the result.
9265 ** may read, write or [checkpoint] the database as required.
9271 ** either "main" or the name of an [ATTACH]-ed database. ^The fourth parameter
9279 ** callback returns [SQLITE_ROW] or [SQLITE_DONE], or if it returns a value
9286 ** a copy of the third parameter from the previous call, if any, or 0.
9304 ** after committing a transaction if there are N or
9305 ** more frames in the [write-ahead log] file. ^Passing zero or
9321 ** enabled with a threshold of 1000 or [SQLITE_DEFAULT_WAL_AUTOCHECKPOINT]
9362 ** readers or writers to finish, then sync the database file if all frames
9366 ** if there are concurrent readers or writers.
9392 ** the log file or to -1 if the checkpoint could not run because
9393 ** of an error or because the database is not in [WAL mode]. ^If pnCkpt is not
9396 ** was called) or to -1 if the checkpoint could not run due to an error or
9409 ** the writer lock retried until either the busy-handler returns 0 or the lock
9412 ** the writer lock is obtained or while waiting for database readers, the
9417 ** ^If parameter zDb is NULL or points to a zero length string, then the
9421 ** an SQLITE_BUSY error is encountered when processing one or more of the
9426 ** (SQLITE_BUSY or otherwise) is encountered while processing the attached
9431 ** zDb is not NULL (or a zero length string) and is not the name of any
9444 const char *zDb, /* Name of attached database (or NULL) */
9467 ** This function may be called by either the [xConnect] or [xCreate] method
9471 ** If this interface is invoked outside the context of an xConnect or
9476 ** which is passed in as the first argument to the [xConnect] or [xCreate]
9499 ** [xCreate] or [xConnect] method invoked [sqlite3_vtab_config()] does not
9508 ** any modifications to internal or persistent data structures have been made.
9509 ** If the [ON CONFLICT] mode is ABORT, FAIL, IGNORE or ROLLBACK, SQLite
9510 ** is able to roll back a statement or database transaction, and abandon
9511 ** or continue processing the current SQL statement as appropriate.
9529 ** the [xConnect] or [xCreate] methods of a [virtual table] implmentation
9537 ** the [xConnect] or [xCreate] methods of a [virtual table] implmentation
9554 ** of a [virtual table] implementation for an INSERT or UPDATE operation. ^The
9556 ** [SQLITE_ABORT], or [SQLITE_REPLACE], according to the [ON CONFLICT] mode
9658 ** needs to be returned.)^ ^It is always ok for two or more rows with the same
9676 ** (or "IS NOT DISTINCT FROM") and not "==".
9680 ** [sqlite3_index_info] object or an incorrect answer may result.
9730 ** ^A call to sqlite3_vtab_in(P,N,F) with F==1 or F==0 indicates
9731 ** to SQLite that the virtual table does or does not want to process
9744 ** operator or cannot be processed all-at-once, then the interface returns
9759 ** ^If either or both of the conditions above are false, then SQLite uses
9777 ** The X parameter in a call to sqlite3_vtab_in_first(X,P) or
9784 ** processing, then these routines return [SQLITE_MISUSE])^ or perhaps
9785 ** exhibit some other undefined or harmful behavior.
9803 ** routines return SQLITE_OK and set *P to point to the first or next value
9810 ** next call to either of these routines or until the end of the xFilter
9837 ** can return an result code other than SQLITE_OK or SQLITE_NOTFOUND if
9842 ** SQL statement. If the right-hand operand is an expression or a reference
9843 ** to some other column or a [host parameter], then sqlite3_vtab_rhs_value()
9909 ** to a zero-terminated UTF-8 string containing the name of the index or table
9919 ** "select-id" for the X-th loop. The select-id identifies which query or
9939 ** issue warnings and/or rerun [ANALYZE] if discrepancies are found.
9946 ** The "iScanStatusOp" must be one of the [scanstatus options] or the behavior
9952 ** zero or greater than or equal to the total number of loops used to implement
9989 ** active SQL statement is reading from it, or if it is page 1 of a database
10004 ** example an IO error or out-of-memory condition), then processing is
10009 ** ^This function does not set the database handle error code or message
10033 ** preupdate hook is not invoked for changes to [virtual tables] or to
10034 ** system tables like sqlite_sequence or sqlite_stat1.
10039 ** [SQLITE_INSERT], [SQLITE_DELETE], or [SQLITE_UPDATE] to identify the
10043 ** will be "main" for the main database or "temp" for TEMP tables or
10049 ** For an UPDATE or DELETE operation on a [rowid table], the sixth
10051 ** row being modified or deleted. For an INSERT operation on a rowid table,
10052 ** or any operation on a WITHOUT ROWID table, the value of the sixth
10053 ** parameter is undefined. For an INSERT or UPDATE on a rowid table the
10055 ** or updated. The value of the seventh parameter passed to the callback
10056 ** function is not defined for operations on WITHOUT ROWID tables, or for
10063 ** these routines from outside of a preupdate callback or with a
10069 ** in the row that is being inserted, updated, or deleted.
10074 ** and one less than the number of columns or the behavior will be
10083 ** and one less than the number of columns or the behavior will be
10090 ** callback was invoked as a result of a direct insert, update, or delete
10091 ** operation; or 1 for inserts, updates, or deletes invoked by top-level
10092 ** triggers; or 2 for changes resulting from triggers called by top-level
10112 int op, /* SQLITE_UPDATE, DELETE or INSERT */
10131 ** ^Attempt to return the underlying operating system error code or error
10132 ** number that caused the most recent I/O error or failure to open a file.
10189 ** <li> One or more transactions must have been written to the current wal
10198 ** whether or not a read transaction is opened on schema S is undefined.
10218 ** transaction or upgrades an existing one for schema S of
10222 ** on success or an appropriate [error code] if it fails.
10228 ** to sqlite3_step() but not sqlite3_reset() or sqlite3_finalize()).
10229 ** SQLITE_ERROR is returned if either of these conditions is violated, or
10230 ** if schema S does not exist, or if the snapshot object is invalid.
10238 ** database snapshot) if SQLITE_ERROR, SQLITE_BUSY or SQLITE_ERROR_SNAPSHOT
10239 ** is returned. If another error code - for example SQLITE_PROTOCOL or an
10248 ** I/O on that database connection, or if the database entered [WAL mode]
10288 ** database is changed back to rollback mode or when the number of database
10311 ** or because the last process to have the database opened exited without
10320 ** transaction open on the database, or if the database is not a WAL mode
10323 ** SQLITE_OK is returned if successful, or an SQLite error code otherwise.
10339 ** copy of the disk file. For an in-memory database or a "TEMP" database,
10350 ** is currently using for that database, or NULL if the no such contiguous
10370 unsigned int mFlags /* Zero or more SQLITE_SERIALIZE_* flags */
10376 ** Zero or more of the following constants can be OR-ed together for
10408 ** database is currently in a read transaction or is involved in a backup
10428 unsigned mFlags /* Zero or more SQLITE_DESERIALIZE_* flags */