Lines Matching refs:as
18 ** Some of the definitions that are in this file are marked as
29 ** The makefile makes some minor changes to this file (such as inserting
30 ** the version number) and changes its name to "sqlite3.h" as
95 ** interfaces as either deprecated or experimental. New applications
157 ** These interfaces provide the same information as the [SQLITE_VERSION],
178 ** a pointer to a string constant whose value is the same as the
264 ** pointer as an object. The [sqlite3_open()], [sqlite3_open16()], and
267 ** interfaces (such as
335 ** connection immediately, it marks the database connection as an unusable
374 ** in the context of the [database connection] passed in as its 1st
401 ** callback is an array of pointers to strings obtained as if from
406 ** entry represents the name of corresponding result column as obtained
484 ** these result codes are too coarse-grained. They do not provide as
485 ** much information about problems as programmers might like. In an effort to
578 ** Only those flags marked as "Ok for sqlite3_open_v2()" may be
579 ** used as the third argument to the [sqlite3_open_v2()] interface.
636 ** information is written to disk in the same order as calls
671 ** SQLite uses one of these integer values as the second
690 ** these integer values as the second argument.
823 ** information is written to disk in the same order as calls
924 ** as part of a multi-database commit, the argument points to a nul-terminated
927 ** should not call [sqlite3_file_control()] with this opcode as doing so may
935 ** [sqlite3_file_control()] with this opcode as doing so may disrupt the
964 ** to read the database file, as the WAL and shared memory files must exist
1041 ** the array as the only argument. If it returns non-zero, then the operation
1073 ** The [SQLITE_FCNTL_HAS_MOVED] file control interprets its argument as a
1081 ** control interprets its argument as a pointer to a native file handle and
1157 ** but that interface responds to changes on TEMP as well as MAIN and does
1259 ** A pointer to the opaque sqlite3_api_routines structure is passed as
1271 ** as a normal, nul-terminated, UTF-8 buffer containing the filename, but
1272 ** may also be passed to special APIs such as:
1296 ** is incremented. The iVersion value started out as 1 in
1396 ** to hold the [sqlite3_file] structure passed as the third
1420 ** is also passed as a parameter to both methods. If the output buffer
1422 ** handled as a fatal error by SQLite, vfs implementations should endeavor
1433 ** method returns a Julian Day Number for the current date and time as
1435 ** ^The xCurrentTimeInt64() method returns, as an integer, the Julian
1499 ** These integer constants can be used as the third parameter to
1535 ** When unlocking, the same SHARED or EXCLUSIVE flag must be supplied as
1551 ** between 0 and this upper bound as its "offset" argument.
1593 ** as a mutex) it returns an [error code] other than [SQLITE_OK].
1656 ** Note, however, that ^sqlite3_config() can be called as part of the
1722 ** is always at least as big as the requested size but may be larger.
1736 ** by xInit. The pAppData pointer is used as the only parameter to
1743 ** holds the [SQLITE_MUTEX_STATIC_MEM] mutex as long as the
1770 ** can be passed as the first argument to the [sqlite3_config()] interface.
1798 ** environment as long as no two threads attempt to use the same
1841 ** type int, interpreted as a boolean, which if true provides a hint to
1851 ** interpreted as a boolean, which enables or disables the collection of
1975 ** passed through as the first parameter to the application-defined logger
1992 ** specified as part of [ATTACH] commands are interpreted as URIs, regardless
1995 ** only interpreted as URIs if the SQLITE_OPEN_URI flag is set when the
2002 ** argument which is interpreted as a boolean in order to enable or disable
2025 ** in three separate circumstances, identified by the value passed as the
2027 ** passed as the second argument has just been opened. The third argument
2031 ** the connection being passed as the second parameter is being closed. The
2085 ** threshold to a value such as 64KiB can greatly reduce the amount of
2100 ** from the database as records are returned in sorted order. The default
2152 ** can be passed as the second argument to the [sqlite3_db_config()] interface.
2292 ** the QPSG active, SQLite will always use the same query plan in the field as
2363 ** behaves as it did prior to [version 3.24.0] (2018-06-04). See the
2382 ** such as CREATE TABLE and CREATE INDEX. The
2467 ** as an undeclared column named ROWID, OID, or _ROWID_ as long as those
2479 ** As well as being set automatically as rows are inserted into database
2483 ** Some virtual table implementations may INSERT rows into rowid tables as
2493 ** return the [rowid] of the inserted row as long as the trigger is
2567 ** upon completion as normal. Of course, this value will not include
2568 ** any changes performed by sub-triggers, as the sqlite3_changes()
2574 ** returns the value as set when the calling statement began executing.
2600 ** since the database connection was opened, including those executed as
2608 ** ^Changes made as part of [foreign key actions] are included in the
2609 ** count, but those made as part of REPLACE constraint resolution are
2642 ** called in response to a user action such as pressing "Cancel"
2663 ** running statement count reaches zero are interrupted as if they had been
2685 ** embedded) and thus do not count as a statement terminator. ^Whitespace
2814 ** string representation as returned by [sqlite3_column_text()].
2821 ** is as follows:
2858 ** The sqlite3_get_table() interface is implemented as a wrapper around
2895 ** buffer supplied as the second parameter whose size is given by
2906 ** ^As long as the buffer size is greater than zero, sqlite3_snprintf()
2957 ** negative then the behavior is exactly the same as calling
2967 ** ^The sqlite3_realloc64(X,N) interfaces works the same as
3059 ** ^The authorizer callback is invoked as SQL statements are being compiled
3063 ** points during the compilation process, as logic is being created
3138 ** as stated in the previous paragraph, sqlite3_step() invokes
3156 ** Note that SQLITE_IGNORE is also used as a [conflict resolution mode]
3174 ** codes is used as the second parameter. ^(The 5th parameter to the
3230 ** SQL statement text as the statement first begins executing.
3232 ** as each triggered subprogram is entered. The callbacks for triggers
3239 ** as each SQL statement finishes. ^The profile callback contains
3268 ** ^The C argument is a copy of the context pointer passed in as the
3276 ** execution of the prepared statement, such as at the start of each
3287 ** information as is provided by the [sqlite3_profile()] callback.
3357 ** ^The parameter P is passed through as the only parameter to the
3385 ** ^These routines open an SQLite database file as specified by the
3386 ** filename argument. ^The filename argument is interpreted as UTF-8 for
3387 ** sqlite3_open() and sqlite3_open_v2() and as UTF-16 in the native byte
3433 ** <dd>The filename can be interpreted as a URI if this flag is set.</dd>)^
3436 ** <dd>The database will be opened as an in-memory database. The database
3444 ** to use SQLite at the same time, as long as each thread is using
3471 ** connection as soon as the connection is created. In addition to setting
3502 ** a ":" character you should prefix the filename with a pathname such as
3507 ** automatically deleted as soon as the database connection is closed.
3512 ** begins with "file:", then the filename is interpreted as a URI. ^URI
3528 ** ^SQLite uses the path component of the URI as the name of the disk file
3530 ** then it is interpreted as an absolute path. ^If the path does not begin
3532 ** then the path is interpreted as a relative path.
3549 ** the value passed as the fourth parameter to sqlite3_open_v2().
3555 ** access, just as if the [SQLITE_OPEN_READONLY] flag had been set in the
3558 ** access, as if SQLITE_OPEN_READWRITE (but not SQLITE_OPEN_CREATE) had
3677 ** as F) must be one of:
3688 ** If F is a suitable filename (as described in the previous paragraph)
3691 ** parameter if it exists or a NULL pointer if P does not appear as a
3730 ** it has access to all the same query parameters as were found on the
3828 ** sqlite3_create_filename(), then bad things such as heap
3872 ** text that describes the error, as either UTF-8 or UTF-16 respectively.
3879 ** that describes the [result code], as UTF-8.
3918 ** Think of each SQL statement as a separate computer program. The
4065 ** on this hint by avoiding the use of [lookaside memory] so as not to
4102 ** The use of the UTF-8 interfaces is preferred, as SQLite currently
4104 ** as a convenience. The UTF-16 interfaces work by converting the
4112 ** as either UTF-8 or UTF-16. The sqlite3_prepare(), sqlite3_prepare_v2(),
4153 ** ^If the database schema changes, instead of returning [SQLITE_SCHEMA] as it
4155 ** statement and try to run it again. As many as [SQLITE_MAX_SCHEMA_RETRY]
4171 ** then the statement will be automatically recompiled, as if there had been
4184 ** sqlite3_prepare_v2() interface works exactly the same as
4288 ** [virtual tables] might change the database indirectly as a side effect.
4300 ** ^Transaction control statements such as [BEGIN], [COMMIT], [ROLLBACK],
4323 ** statement, then sqlite3_stmt_readonly(X) returns the same value as
4391 ** ^The sqlite3_value objects that are passed as parameters into the
4397 ** Unprotected sqlite3_value objects may only be used as arguments
4449 ** occurrences have the same index as the first occurrence.
4459 ** is ignored and the end result is the same as sqlite3_bind_null().
4524 ** Zeroblobs are intended to serve as placeholders for BLOBs whose
4546 ** ^Unbound parameters are interpreted as NULL.
4581 ** form "?", "?NNN", ":AAA", "$AAA", or "@AAA" that serve as
4606 ** is included as part of the name.)^
4608 ** and are referred to as "nameless" or "anonymous parameters".
4615 ** originally specified as UTF-16 in [sqlite3_prepare16()],
4629 ** index value returned is suitable for use as the second
4705 ** ^The name of the database or table or column can be returned as
4801 ** [extended result codes] might be returned as well.
4820 ** ^[SQLITE_ERROR] means that a run-time error (such as a constraint
4930 ** <tr><td><b>sqlite3_column_value</b><td>→<td>The result as an
5049 ** <tr><td> INTEGER <td> BLOB <td> Same as INTEGER->TEXT
5103 ** ^The pointers returned are valid until a type conversion occurs as
5110 ** As long as the input parameters are correct, these routines will only
5124 ** routines is the same as if the column had contained an SQL NULL value.
5165 ** undesirable behavior such as segfaults and heap corruption.
5201 ** ^These functions (collectively known as "function creation routines")
5274 ** callback only; NULL pointers must be passed as the xStep and xFinal
5285 ** non-NULL, in which case the new function may be used as either an aggregate
5380 ** [SQLITE_UTF8 | preferred text encoding] as the fourth argument
5390 ** be deterministic in order to be used in certain contexts such as
5399 ** schema structures such as [CHECK constraints], [DEFAULT clauses],
5421 ** schema structures such as [CHECK constraints], [DEFAULT clauses],
5517 ** extract UTF-16 strings as big-endian and little-endian respectively.
5579 ** These routines must be called from the same thread as
5582 ** As long as the input parameter is correct, these routines can only
5598 ** routines is the same as if the column had contained an SQL NULL value.
5732 ** function. The compiled version of the regular expression can be stored as
5734 ** Then as long as the pattern string remains the same,
5745 ** ^The sqlite3_set_auxdata(C,N,P,X) interface saves P as metadata for the N-th
5787 ** These are special values for the destructor that is passed in as the
5832 ** as the text of an error message. ^SQLite interprets the error
5833 ** message string from sqlite3_result_error() as UTF-8. ^SQLite
5834 ** interprets the string from sqlite3_result_error16() as UTF-16 using
5835 ** the same [byte-order determination rules] as [sqlite3_bind_text16()].
5837 ** or sqlite3_result_error16() is negative then SQLite takes as the error
5841 ** bytes (not characters) from the 2nd parameter as the error message.
5847 ** returned by SQLite as a result of an error in a function. ^By default,
5870 ** a text string which is represented as UTF-8, UTF-16 native byte order,
5883 ** is non-negative, then as many bytes (not characters) of the text
5884 ** pointed to by the 2nd parameter are taken as the application-defined
5893 ** function as the destructor on the text or BLOB result when it has
5916 ** is interpreted as UTF16BE text.
5940 ** for the P parameter. ^SQLite invokes D with P as its only argument
5992 ** with the [database connection] specified as the first argument.
6016 ** through as the first argument to the collating function callback.
6101 ** then it is passed the names of undefined collation sequences as strings
6103 ** the names are passed as UTF-16 in machine native byte order.
6180 ** as part of process initialization and before any SQLite interface
6237 ** as part of process initialization and before any SQLite interface
6265 ** [sqlite3_data_directory] variable is intended to act as a replacement for
6268 ** [sqlite3_win32_set_directory16] interfaces behave exactly the same as the
6367 ** can be used as the filename input parameter to these routines:
6493 ** hook returning non-zero, just as it would be with any other rollback.
6522 ** modified as part of a transaction commit, then the autovacuum pages
6549 ** words, the default behavior is the same as if the callback function
6641 ** This is a change as of SQLite [version 3.5.0] ([dateof:3.5.0]).
6693 ** ^The sqlite3_db_release_memory(D) interface attempts to free as much heap
6694 ** memory as possible from database connection D. Unlike the
6713 ** as heap memory usages approaches the limit.
6810 ** ^Metadata is returned by writing to the memory locations passed as the 5th
6837 ** for the [rowid] are set as follows:
6918 ** ^So as not to open security holes in older applications that are
6919 ** unprepared to deal with [extension loading], and as a means of disabling
6951 ** arguments and expects an integer result as if the signature of the
6952 ** entry point where as follows:
7074 ** The sqlite3_index_info structure and its substructures is used as part
7095 ** get as many WHERE clause terms into the form shown above as possible.
7150 ** SQLite also assumes that if a call to the xUpdate() method is made as
7154 ** SQLITE_CONSTRAINT, the database contents must be exactly as they were
7236 ** operand is only available if it appears as a single constant literal
7490 ** then the BLOB handle is marked as "expired".
7531 ** by the rowid value passed as the second argument. Only the row can be
7536 ** ^(The new row must meet the same criteria as for [sqlite3_blob_open()] -
7566 ** with a null pointer (such as would be returned by a failed call to
7632 ** ^If the [BLOB handle] passed as the first argument was not opened for
7686 ** ^(If the default VFS is unregistered, another VFS is chosen as
7793 ** sqlite3_mutex_try() as an optimization so this is acceptable
7803 ** behave as no-ops.
7825 ** Additionally, an instance of this structure can be used as an
7829 ** ^The xMutexInit method defined by this structure is invoked as
7834 ** ^The xMutexEnd method defined by this structure is invoked as
8034 ** as the first argument to [sqlite3_test_control()].
8081 ** by enclosing in double-quotes) so as not to confuse the parser.
8087 ** makes *Z point to that keyword expressed as UTF8 and writes the number
8099 ** a keyword as an identifier as long as such use does not result in a
8104 ** using keywords as identifiers. Common techniques used to avoid keyword
8112 ** <li> Begin every identifier with the letter "Z" as no SQL keywords start
8133 ** The lifecycle of an sqlite3_str object is as follows:
8137 ** methods, such as [sqlite3_str_appendf()].
8160 ** returned by [sqlite3_str_new(D)] as the sqlite3_str parameter
8250 ** by [sqlite3_str_value(X)] as long as they do not write into any bytes
8308 ** sizes as reported by the xSize method in [sqlite3_mem_methods].</dd>)^
8400 ** These constants are the available integer "verbs" that can be passed as
8447 ** value as DBSTATUS_CACHE_USED. Or, if one or more or the pager caches are
8484 ** database file in rollback mode databases. Any pages written as part of
8555 ** The meanings of the various counters are as follows:
8560 ** a table as part of a full table scan. Large numbers for this counter
8580 ** used as a proxy for the total work done by the prepared statement.
8604 ** had to be processed as normal.
8643 ** of this object as parameters or as their return value.
8730 ** instance passed as the first argument. This is the value configured using
8775 ** as its second argument. If the third parameter, discard, is non-zero,
8788 ** page passed as the second argument. If the cache
8808 ** free up as much of heap memory as possible. The page cache implementation
8933 ** then an [error code] is returned. ^As well as [SQLITE_OK] and
8976 ** database is modified by the using the same database connection as is used
9046 ** same time as another thread is invoking sqlite3_backup_step() it is
9078 ** ^When a connection (known as the blocked connection) fails to obtain a
9083 ** sqlite3_unlock_notify() method with the blocked connection handle as
9098 ** the other connections to use as the blocking connection.
9104 ** called with a NULL pointer as its second argument, then any existing
9199 ** [sqlite3_strglob(P,X)] is the same as for the "X GLOB P" operator in the
9204 ** do not match, the same as [sqlite3_stricmp()] and [sqlite3_strnicmp()].
9216 ** [sqlite3_strlike(P,X,E)] is the same as for the "X LIKE P ESCAPE E"
9227 ** do not match, the same as [sqlite3_stricmp()] and [sqlite3_strnicmp()].
9241 ** The sqlite3_log() interface is intended for use by extensions such as
9265 ** may read, write or [checkpoint] the database as required.
9306 ** a negative value as the nFrame parameter disables automatic
9344 ** compatibility and as a convenience for applications that need to manually
9361 ** ^Checkpoint as many frames as possible without waiting for any database
9377 ** ^This mode works the same way as SQLITE_CHECKPOINT_FULL with the addition
9386 ** ^This mode works the same way as SQLITE_CHECKPOINT_RESTART with the
9411 ** database readers as described above. ^If the busy-handler returns 0 before
9413 ** checkpoint operation proceeds from that point in the same way as
9414 ** SQLITE_CHECKPOINT_PASSIVE - checkpointing as many frames as possible
9455 ** as the third parameter to the [sqlite3_wal_checkpoint_v2()] interface.
9459 #define SQLITE_CHECKPOINT_PASSIVE 0 /* Do as much as possible w/o blocking */
9476 ** which is passed in as the first argument to the [xConnect] or [xCreate]
9502 ** statement is rolled back as if [ON CONFLICT | OR ABORT] had been
9503 ** specified as part of the users SQL statement, regardless of the actual
9511 ** or continue processing the current SQL statement as appropriate.
9513 ** [SQLITE_CONSTRAINT], SQLite handles this as if the ON CONFLICT mode
9538 ** identify that virtual table as being safe to use from within triggers
9567 ** column is being fetched as part of an UPDATE operation during which the
9569 ** this hint as permission to substitute a return value that is less
9571 ** [xUpdate] method understands as a "no-change" value.
9607 ** The return value is computed as follows:
9634 ** planner wants the output to be ordered. As long as the virtual table
9649 ** as long as all rows with the same values in all columns identified by the
9655 ** order, as long as rows with the same values in all "aOrderBy" columns
9659 ** values in all "aOrderBy" columns to be returned, as long as all such rows
9683 ** it wants, as long as the "orderByConsumed" flag is not set. ^When the
9706 ** communicated to the xBestIndex method as a
9807 ** some other value, such as SQLITE_NOMEM, in the event of a malfunction.
9846 ** ^(Some constraints, such as [SQLITE_INDEX_CONSTRAINT_ISNULL] and
9868 ** Note that the [SQLITE_IGNORE] constant is also used as a potential
9921 ** The select-id is the same value as is output in the first column
9958 ** as if the loop did not exist - it returns non-zero and leave the variable
10028 ** with a NULL pointer as the second parameter.
10029 ** ^The third parameter to [sqlite3_preupdate_hook()] is passed through as
10090 ** callback was invoked as a result of a direct insert, update, or delete
10136 ** as ENOSPC, EAUTH, EISDIR, and so forth.
10151 ** as it existed for the point in time when the transaction first started.
10394 ** reopen S as an in-memory database based on the serialization contained
10398 ** permitted to add content to the in-memory database as long as the total
10450 ** should be treated as read-only.