Small. Fast. Reliable.
Choose any three.

## 1.0 About SQLite Requirements

- Requirements consist of excerpts from the documentation. A requirement is usually a one-sentence excerpt but might be a sentence fragment, multiple sentences, a table, or a GIF image of a bubble syntax diagram.

- Requirements are written in conversational English and without the modal auxiliary verb "shall". This grows out of the fact that requirements are taken from the documentation. The intended audience for the documentation is application programmers. "Shall" language is appropriate when the audience consist of contract specialists, QA auditors, and lawyers, but it interferes with comprehension when the audience is application programmers. Hence, in order to best serve the intended audience, the "shall" language is omitted.

- Requirements are sufficiently detailed and precise to permit a 100% compatible clean-room reimplementation of SQLite.

- The word "requirement" in common English usage implies an ordering: that the requirement comes before the implementation. But there is no such ordering with SQLite requirements. What are called "requirements" in SQLite are better described as "testable statements of truth about the behavior of the system".

- Every testable statement of truth about SQLite in the documentation becomes a requirement.

- Requirement numbers are the MD5 hash of the requirement itself.

  1. Requirements are inherently immutable, since any change to the requirement results in a completely different requirement number.

  2. For text requirements, the text is normalized prior to computing the MD5 hash:

     - Remove all leading and trailing whitespace.
     - Convert all internal whitespace sequences to a single space character.
     - Convert "&lt;" to "<", "&gt;" to ">", "&#91;" to "[", "&#93;" to "]", and "&amp;" to "&".

  3. For GIF syntax diagram requirements, the MD5 hash is computed over the entire content of the GIF image file.

  4. The MD5 hash is expressed in human-readable form as follows:

     > R-N-N-N-N-N-N-N-N

     Where each N is a 5-digit number between 00000 and 65536 that represents 16 bits of the 128-bit MD5 hash.

  5. Requirements may be referenced by any unique prefix of their complete requirement number.

- Individual text requirements are identified in the documentation as text between "^" and the first period or full-stop (".") or as text between "^(" and ")^".

  1. Text requirements are automatically extracted from the documentation by scripts that run as part of the documentation build process.

  2. After requirements have been extracted from the documentation, the requirement markers "^", "^(", and ")^" are removed from the documentation text. This is done automatically by the documentation build scripts.

  3. To avoid collisions with these requirements delimiters, "^" characters that are part of the text of a requirement or that are otherwise found in the documentation, should be coded as "&#94;".

- Individual GIF syntax diagram requirements are identified in the documentation as HTML image markup of the form

  > <img alt="syntax diagram NAME" src="FILE">

  Where NAME is the name of the syntax diagram and FILE is the name of the GIF file containing the syntax diagram.

  1. Syntax diagram requirements are automatically extracted from the documentation by scripts that run as part of the documentation build process.

  2. The GIF file is the requirement, not the HTML markup that references the GIF file nor the diagram name.

- The documentation that contains the requirement text is generated by scripts that use as input files from both files in the documentation fossil repository and comments in the source code.

## 2.0 List Of Requirements

R-00013-61831-22423-62410-56475-12017-42000-15640

  The key comes first and is separated from the value by a single "=" character. (source: uri.html, matrix: context, detail)

R-00090-24248-38638-40643-10159-25596-30389-07024

  The third argument, aCoord[], is an array of nCoord coordinates that defines a bounding box to be tested. (source: rtree.html, matrix: context, detail)

R-00099-40772-25508-42886-05693-46370-34145-00683

  Simply setting the locking-mode to NORMAL is not enough - locks are not released until the next time the database file is accessed. (source: pragma.html, checked-by: th3/req1/pragma04.test, matrix: context, detail)

R-00109-30887-26782-37306-11423-15179-45221-18025

  A virtual table module is created by filling in a persistent instance of this structure and passing a pointer to that instance to sqlite3_create_module() or sqlite3_create_module_v2(). (source: c3ref/module.html, matrix: context, detail)

R-00110-20874-52504-15299-56251-38354-26784-53834

  SQLITE_TOOBIG might be returned if the size of a string or BLOB exceeds limits imposed by sqlite3_limit(SQLITE_LIMIT_LENGTH) or SQLITE_MAX_LENGTH. (source: c3ref/bind_blob.html, checked-by: th3/cov1/vdbeapi03.test, matrix: context, detail)

R-00140-37445-57377-20863-40395-21152-20469-25306

  SQLite automatically serializes calls to the xInit method, so the xInit method need not be threadsafe. (source: c3ref/pcache_methods2.html, checked-by: src/main.c, matrix: context, detail)

R-00143-55862-36284-22296-28662-09257-51521-03944

  The usual case is that the entire database file is checked. (source: pragma.html, matrix: context, detail)

R-00171-59428-63637-20419-61024-28048-20428-49478

  In such cases, duplicate elements are filtered before being passed into the aggregate function. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-00197-14279-64967-54349-51250-28289-13484-05768

  The rank of the column within the index. (0 means left-most. Key columns come before auxiliary columns.) (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15x.test, matrix: context, detail)

R-00203-32193-54208-20071-18893-56924-36288-02453

  Contrary to the intuition of many, sqlite3_reset() does not reset the bindings on a prepared statement. (source: c3ref/clear_bindings.html, checked-by: th3/req1/clearbind01.test, matrix: context, detail)

R-00206-08174-12423-08291-28017-31720-33784-40037

  Assuming there are no other indices, the query above would result in a full table scan. (source: optoverview.html, matrix: context, detail)

R-00217-01605-34207-18386-37017-37707-31164-60184

  To create a WITHOUT ROWID table, simply add the keywords "WITHOUT ROWID" to the end of the CREATE TABLE statement. For example: CREATE TABLE IF NOT EXISTS wordcount( word TEXT PRIMARY KEY, cnt INTEGER ) WITHOUT ROWID; (source: withoutrowid.html, checked-by: tcl/without_rowid5.test, th3/cov1/withoutrowid01.test, matrix: context, detail)

R-00220-34634-35173-21345-54000-63909-52170-35980

  Otherwise, an expression has no affinity. (source: datatype3.html, checked-by: th3/req1/datatype3_05.test, matrix: context, detail)

R-00227-21080-37302-15362-03285-23826-51380-28642

  A UNIQUE constraint is similar to a PRIMARY KEY constraint, except that a single table may have any number of UNIQUE constraints. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-00243-07929-08239-44820-61576-27318-53216-12960

  If the declared type of the column contains any of the strings "CHAR", "CLOB", or "TEXT" then that column has TEXT affinity. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-00267-47727-45128-11139-64344-07863-10234-35895

  The initial "INSERT" keyword can be replaced by "REPLACE" or "INSERT OR action" to specify an alternative constraint conflict resolution algorithm to use during that one INSERT command. (source: lang_insert.html, checked-by: tcl/e_insert.test, matrix: context, detail)

R-00279-52283-49814-15354-28909-18424-55374-18430

  Returning to the example in section 1, each time an application deletes a row from the artist table (the parent table), it performs the equivalent of the following SELECT statement to search for referencing rows in the track table (the child table). SELECT rowid FROM track WHERE trackartist = ? where ? in the above is replaced with the value of the artistid column of the record being deleted from the artist table (recall that the trackartist column is the child key and the artistid column is the parent key). (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys10.test, matrix: context, detail)

R-00293-64994-39339-33419-11494-64597-05681-15697

  This SQL function is implemented using the sqlite3_result_zeroblob() routine from the C/C++ interface. (source: lang_corefunc.html, checked-by: src/func.c, matrix: context, detail)

R-00303-53643-59539-09278-38608-05869-19672-31996

  The T argument is one of the integer type codes above. (source: c3ref/c_trace.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-00311-09993-39149-44899-64441-18371-52816-22132

  aConstraint[].usable is TRUE if the expr on the right-hand side can be evaluated (and thus the constraint is usable) and false if it cannot. (source: c3ref/index_info.html, matrix: context, detail)

R-00336-65009-59389-29167-11927-65433-48801-33923

  PRAGMA temp_store; PRAGMA temp_store = 0 | DEFAULT | 1 | FILE | 2 | MEMORY; Query or change the setting of the "temp_store" parameter. (source: pragma.html, matrix: context, detail)

R-00353-01851-44275-08807-26330-41077-52452-65296

  The subquery and outer query do not both use LIMIT. (source: optoverview.html, matrix: context, detail)

R-00359-41639-41144-27010-59632-30416-37191-53432

  The view definition is removed from the database schema, but no actual data in the underlying base tables is modified. (source: lang_dropview.html, checked-by: tcl/e_dropview.test, matrix: context, detail)

R-00373-55350-22476-46693-17788-34313-52165-34922

  PRAGMA schema.default_cache_size; PRAGMA schema.default_cache_size = Number-of-pages; This pragma queries or sets the suggested maximum number of pages of disk cache that will be allocated per open database file. (source: pragma.html, checked-by: th3/req1/pragma09.test, matrix: context, detail)

R-00376-39212-00900-22873-65373-47922-05493-41094

  If the parent key columns have a UNIQUE index, then that index must use the collation sequences that are specified in the CREATE TABLE statement for the parent table. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys07.test, matrix: context, detail)

R-00402-11496-45496-40393-08263-15231-62727-28991

  The filename argument can be a URI filename if URI filename processing is enable on the database connection. (source: lang_attach.html, checked-by: th3/cov1/sharedcache03.test, matrix: context, detail)

R-00404-17670-59562-50305-44521-33242-04500-48832

  For the purposes of UNIQUE constraints, NULL values are considered distinct from all other values, including other NULLs. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-00421-53597-33844-16365-55873-40811-64785-22587

  The sqlite3_get_table() function evaluates one or more semicolon-separated SQL statements in the zero-terminated UTF-8 string of its 2nd parameter and returns a result table to the pointer given in its 3rd parameter. (source: c3ref/free_table.html, checked-by: th3/req1/gettable01.test, matrix: context, detail)

R-00442-36377-32354-02929-33916-13547-05175-00922

  The number of extra bytes needed by the page header can be determined using SQLITE_CONFIG_PCACHE_HDRSZ. (source: c3ref/c_config_covering_index_scan.html, checked-by: th3/cov1/main42.test, matrix: context, detail)

R-00449-33772-33919-59402-60829-28733-22208-04727

  This feature allows WAL databases to be created, read, and written by legacy VFSes that lack the "version 2" shared-memory methods xShmMap, xShmLock, xShmBarrier, and xShmUnmap on the sqlite3_io_methods object. (source: wal.html, checked-by: tcl/e_wal.test, th3/req1/pragma05.test, matrix: context, detail)

R-00466-56349-41436-38164-40851-28282-49107-17370

  In any aggregate function that takes a single argument, that argument can be preceded by the keyword DISTINCT. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-00471-55166-06832-40836-07519-56638-61190-55255

  The second column is the rowid of the row that contains the invalid REFERENCES clause, or NULL if the child table is a WITHOUT ROWID table. (source: pragma.html, checked-by: tcl/fkey5.test, th3/cov1/fkey23.test, matrix: context, detail)

R-00576-15510-24475-53838-43505-45493-44918-44548

  Statistics gathered by ANALYZE are not automatically updated as the content of the database changes. (source: lang_analyze.html, checked-by: th3/req1/analyze01.test, matrix: context, detail)

R-00585-12080-59090-20988-60325-52895-60624-38188

  The sqlite3_str_finish(X) interface may return a NULL pointer if any errors were encountered during construction of the string. (source: c3ref/str_finish.html, matrix: context, detail)

R-00598-03741-13790-05735-40657-11548-64969-46486

  A negative LIMIT value is interpreted as "no limit". (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-00634-08585-41820-07623-11518-51863-15995-51786

  If a schema name is specified as part of an object reference, it must be either "main", or "temp" or the schema-name of an attached database. (source: lang_naming.html, checked-by: tcl/e_resolve.test, matrix: context, detail)

R-00640-12624-18808-26941-05585-54150-12700-55718

  The expression "x BETWEEN y and z" is logically equivalent to two comparisons "x >= y AND x <= z" and works with respect to collating functions as if it were two separate comparisons. (source: datatype3.html, checked-by: th3/req1/datatype3_10.test, matrix: context, detail)

R-00653-06026-13288-58570-29830-10892-52076-06124

  If parameter zDb is NULL or points to a zero length string, then the specified operation is attempted on all WAL databases attached to database connection db. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, matrix: context, detail)

R-00693-36727-57706-32123-30185-00000-05163-54607

  The legacy xGeom callback is invoked with four arguments. (source: rtree.html, matrix: context, detail)

R-00695-31519-05206-48434-15068-58741-03264-34333

  The COMMIT command may be used to release all savepoints and commit the transaction even if the transaction was originally started by a SAVEPOINT command instead of a BEGIN command. (source: lang_savepoint.html, matrix: context, detail)

R-00717-60341-45862-31619-05346-22343-41612-42650

  Ptrmap pages must exist in any database file which has a non-zero largest root b-tree page value at offset 52 in the database header. (source: fileformat2.html, matrix: context, detail)

R-00752-43975-33209-32622-59517-55856-49839-03222

  The sqlite3_wal_hook() function is used to register a callback that is invoked each time data is committed to a database in wal mode. (source: c3ref/wal_hook.html, checked-by: tcl/e_walhook.test, matrix: context, detail)

R-00767-44770-16975-15707-27043-13440-51014-32740

  Compute the number of days since the signing of the US Declaration of Independence. SELECT julianday('now') - julianday('1776-07-04'); (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-00811-45908-10631-64940-22455-40948-51133-47487

  If the xCompare argument is NULL then the collating function is deleted. (source: c3ref/create_collation.html, checked-by: th3/req1/createcoll01.test, matrix: context, detail)

R-00862-05326-51946-26490-09320-50697-05494-49603

  If neither argument to nullif() defines a collating function then the BINARY is used. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-00888-53115-42960-22822-38463-42827-06390-25797

  The prefix option must be set to a comma separated list of positive non-zero integers. (source: fts3.html, matrix: context, detail)

R-00896-24328-65526-17085-61980-08171-20681-33021

  The SQLITE_CONFIG_PAGECACHE option specifies a memory pool that SQLite can use for the database page cache with the default page cache implementation. (source: c3ref/c_config_covering_index_scan.html, checked-by: th3/cov1/main42.test, matrix: context, detail)

R-00918-16997-33541-06619-01421-44106-53820-17907

  For each value N in the list, prefixes of length N bytes (when encoded using UTF-8) are indexed. (source: fts3.html, matrix: context, detail)

R-00971-36933-64386-25480-59601-44057-12316-57384

  These routines return 1 if the input string appears to be a complete SQL statement. (source: c3ref/complete.html, checked-by: th3/cov1/complete01.test, matrix: context, detail)

R-01060-48788-51013-07543-20121-01838-30879-37400

  The foreign key for table child5 is an error because even though the parent key column has a unique index, the index uses a different collating sequence. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys07.test, matrix: context, detail)

R-01080-23340-38639-20728-26521-10375-12428-21631

  With the legacy interface, a more specific error code (for example, SQLITE_INTERRUPT, SQLITE_SCHEMA, SQLITE_CORRUPT, and so forth) can be obtained by calling sqlite3_reset() on the prepared statement. (source: c3ref/step.html, matrix: context, detail)

R-01099-23153-64353-38789-60475-21260-04733-65290

  The values returned by sqlite3_memory_used() and sqlite3_memory_highwater() include any overhead added by SQLite in its implementation of sqlite3_malloc(), but not overhead added by the any underlying system library routines that sqlite3_malloc() may call. (source: c3ref/memory_highwater.html, matrix: context, detail)

R-01209-64669-42495-37683-53345-29915-56024-34849

  Each component query of a compound query (UNION, UNION ALL, EXCEPT or INTERSECT) is assigned computed separately and is given its own line in the EXPLAIN QUERY PLAN output. (source: eqp.html, matrix: context, detail)

R-01210-33705-17929-40552-10240-19673-31617-63915

  The sqlite3_result_zeroblob(C,N) and sqlite3_result_zeroblob64(C,N) interfaces set the result of the application-defined function to be a BLOB containing all zero bytes and N bytes in size. (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-01232-54838-06099-51737-48729-53565-23196-29255

  It is usually an error to attempt to create a new table in a database that already contains a table, index or view of the same name. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-01244-21922-18443-41581-31463-56152-20699-08111

  If X is a NULL pointer then sqlite3_msize(X) returns zero. (source: c3ref/free.html, checked-by: th3/req1/malloc02.test, matrix: context, detail)

R-01255-31602-49480-12710-05718-10731-47284-31520

  The second form (with a numeric argument) sets the limit for the specified database, or for all databases if the optional database name is omitted. (source: pragma.html, matrix: context, detail)

R-01256-01950-44319-11761-57126-19053-46711-18121

  If neither ALL or DISTINCT are present, then the behavior is as if ALL were specified. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-01265-50598-22943-30233-54647-62239-07339-33462

  The result of load_extension() is always a NULL. (source: lang_corefunc.html, checked-by: th3/cov1/func03.test, matrix: context, detail)

R-01277-06213-42474-53306-49270-01327-38555-55249

  This function sets the database handle error code and message. (source: c3ref/blob_reopen.html, checked-by: th3/req1/blob01.test, matrix: context, detail)

R-01283-11636-17384-60742-28077-41928-22950-29282

  The unlikely(X) function is short-hand for likelihood(X,0.0625). (source: lang_corefunc.html, checked-by: src/resolve.c, matrix: context, detail)

R-01298-38284-36243-26684-29926-32770-62313-39537

  The sqlite_source_id() function returns a string that identifies the specific version of the source code that was used to build the SQLite library. (source: lang_corefunc.html, checked-by: th3/req1/func04.test, matrix: context, detail)

R-01335-41434-49669-14652-18813-14877-14788-28819

  Hence, the histogram data which is collected no left-most column of indices is useless in helping to choose between the range constraints on columns x and y. (source: optoverview.html, matrix: context, detail)

R-01365-26226-58886-08210-39128-53586-42636-52900

  When a new database is created, SQLite assigns a page size to the database based on platform and filesystem. (source: pragma.html, matrix: context, detail)

R-01379-47306-55874-35809-24668-39985-05961-47226

  Before any information-bearing page of the database is modified, the original unmodified content of that page is written into the rollback journal. (source: fileformat2.html, matrix: context, detail)

R-01386-30047-33139-62500-59847-53855-15241-35634

  The first argument to the trace callback is one of the following constants. (source: c3ref/c_trace.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-01391-64022-44610-46114-55308-14246-64441-26910

  The "sz=NNN" argument (where NNN represents a sequence of 1 or more digits) means that the average row size over all records of the table or index is NNN bytes per row. (source: fileformat2.html, matrix: context, detail)

R-01402-03601-05785-14929-05185-63336-09442-11982

  If the statement that caused the trigger program to execute is itself part of a trigger program, then that trigger program resumes execution at the beginning of the next step. (source: lang_createtrigger.html, matrix: context, detail)

R-01418-51310-13172-45959-27772-51956-15619-12685

  However, only "rowid" works as the keyword in the CREATE TABLE statement. (source: withoutrowid.html, checked-by: tcl/without_rowid5.test, th3/cov1/withoutrowid01.test, matrix: context, detail)

R-01448-06859-29804-04457-45951-59563-33373-60665

  When xSavepoint(X,N) is invoked, that is a signal to the virtual table X that it should save its current state as savepoint N. (source: vtab.html, matrix: context, detail)

R-01450-11152-28406-58151-44531-37891-10618-14069

  As the components of a compound SELECT must be simple SELECT statements, they may not contain ORDER BY or LIMIT clauses. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-01458-26582-43530-33153-47185-57731-56963-27513

  The length returned by sqlite3_str_length(X) does not include the zero-termination byte. (source: c3ref/str_errcode.html, matrix: context, detail)

R-01461-33534-36548-25495-56547-17079-32518-24565

  The sqlite_stat4.sample BLOB for the WITHOUT ROWID table itself contains just the columns of the primary key. (source: fileformat2.html, matrix: context, detail)

R-01463-03846-55774-41515-18498-48278-35486-16549

  The DROP TABLE statement removes a table added with the CREATE TABLE statement. (source: lang_droptable.html, matrix: context, detail)

R-01470-60482-32731-19597-04026-47136-19531-00133

  The sqlite3_value_type(V) interface returns the datatype code for the initial datatype of the sqlite3_value object V. The returned value is one of SQLITE_INTEGER, SQLITE_FLOAT, SQLITE_TEXT, SQLITE_BLOB, or SQLITE_NULL. (source: c3ref/value_blob.html, checked-by: src/func.c, matrix: context, detail)

R-01506-11053-32502-45139-47336-58914-04836-35356

  The first integer on a freelist trunk page is the page number of the next freelist trunk page in the list or zero if this is the last freelist trunk page. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-01531-37780-56063-13317-41294-63476-04645-64168

  If certain kinds of errors occur within a transaction, the transaction may or may not be rolled back automatically. The errors that can cause an automatic rollback include: SQLITE_FULL: database or disk full SQLITE_IOERR: disk I/O error SQLITE_BUSY: database in use by another process SQLITE_NOMEM: out of memory (source: lang_transaction.html, matrix: context, detail)

R-01544-29257-62595-06861-33076-18858-48075-56444

  Note that max() is a simple function when it has 2 or more arguments but operates as an aggregate function if given only a single argument. (source: lang_corefunc.html, checked-by: th3/req1/func05.test, matrix: context, detail)

R-01587-15367-52926-43879-39292-01582-45706-36467

  xUnpin() is called by SQLite with a pointer to a currently pinned page as its second argument. (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-01592-27714-26694-24809-12949-19667-58343-14650

  When the EXPLAIN QUERY PLAN phrase appears, the statement returns high-level information regarding the query plan that would have been used. (source: lang_explain.html, checked-by: th3/cov1/vdbeaux01.test, matrix: context, detail)

R-01612-30877-07572-17003-08953-37118-55537-45996

  The "vfs" parameter may be used to specify the name of a VFS object that provides the operating system interface that should be used to access the database file on disk. (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-01646-09830-46955-17168-41197-07539-61822-63814

  The schema of the sqlite_stat3 table is as follows: CREATE TABLE sqlite_stat3(tbl,idx,nEq,nLt,nDLt,sample); (source: fileformat2.html, matrix: context, detail)

R-01665-16529-46232-20487-31256-22068-50948-28475

  The sqlite_stat4.nDLt column holds a list of N integers where the K-th integer is the approximate number of entries in the index that are distinct in the first K columns and where the left-most K columns are collectively less than the left-most K columns of the sample. (source: fileformat2.html, matrix: context, detail)

R-01669-33464-29023-56990-09830-45167-30109-01082

  When enabled, this PRAGMA causes many SELECT statements without an ORDER BY clause to emit their results in the reverse order from what they normally would. (source: pragma.html, checked-by: th3/req1/pragma27.test, matrix: context, detail)

R-01707-21292-14865-10862-25623-35625-38879-45651

  It is safe to call this routine from a thread different from the thread that is currently running the database operation. (source: c3ref/interrupt.html, matrix: context, detail)

R-01724-22761-13278-31858-02106-19568-34768-00701

  If the sub-query is a compound select, then it must not use an ORDER BY clause. (source: optoverview.html, matrix: context, detail)

R-01750-40559-52065-12470-48383-41757-44468-25443

  SQLite always opens immutable database files read-only and it skips all file locking and change detection on immutable database files. (source: uri.html, matrix: context, detail)

R-01766-15387-49282-35089-26578-35550-62519-17422

  The third argument is the value to bind to the parameter. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-01766-56079-01675-00227-41454-02515-08725-53568

  These functions return information about the Nth result column returned by the statement, where N is the second function argument. (source: c3ref/column_database_name.html, matrix: context, detail)

R-01849-26079-03122-24665-29509-65417-11059-24465

  Value is a big-endian 32-bit twos-complement integer. (source: fileformat2.html, checked-by: src/vdbeaux.c, th3/req1/fileformat02.test, matrix: context, detail)

R-01862-45642-20021-42706-06373-08124-48431-44069

  SQLite automatically frees the memory allocated by sqlite3_aggregate_context() when the aggregate query concludes. (source: c3ref/aggregate_context.html, checked-by: th3/req1/aggcntx01.test, matrix: context, detail)

R-01921-64245-04718-64212-38644-45300-05525-61121

  When the right operand of an IN or NOT IN operator is a subquery, the subquery must have the same number of columns as there are columns in the row value of the left operand. (source: lang_expr.html, checked-by: th3/cov1/rowvalue06.test, matrix: context, detail)

R-01992-00519-59560-42589-34051-44285-27634-29157

  Abs(X) returns 0.0 if X is a string or blob that cannot be converted to a numeric value. (source: lang_corefunc.html, checked-by: src/func.c, th3/cov1/func01.test, matrix: context, detail)

R-02005-53466-64191-45009-56070-04146-49679-01840

  This option is used to enable or disable triggers. (source: c3ref/c_dbconfig_defensive.html, checked-by: th3/cov1/main34.test, matrix: context, detail)

R-02015-59187-11904-53173-61515-49878-56843-64871

  An application can force the query planner to reread the statistics tables by running ANALYZE sqlite_schema. (source: lang_analyze.html, checked-by: th3/req1/analyze01.test, matrix: context, detail)

R-02045-23762-08268-15190-44661-50351-03152-06188

  This character may be used in the LIKE pattern to include literal percent or underscore characters. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-02054-15343-41665-64514-11380-36685-28202-41617

  For the purposes of detecting duplicate rows, two NULL values are considered to be equal. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-02060-64547-35959-63655-11509-53404-59087-08290

  A NOT NULL constraint may only be attached to a column definition, not specified as a table constraint. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-02063-40503-04157-38005-61496-25541-17209-31219

  The 2nd argument to the sqlite3_exec() callback function is the number of columns in the result. (source: c3ref/exec.html, checked-by: th3/req1/exec01.test, matrix: context, detail)

R-02136-28803-61484-06431-31373-63795-12521-56561

  The SQLITE_CONFIG_PMASZ option takes a single parameter which is an unsigned integer and sets the "Minimum PMA Size" for the multithreaded sorter to that integer. (source: c3ref/c_config_covering_index_scan.html, matrix: context, detail)

R-02204-63196-34665-25585-57735-42246-07132-57008

  The net effect is that putting the ON or USING clause expressions for a LEFT JOIN in the WHERE clause effectively converts the query to an ordinary INNER JOIN - albeit an inner join that runs more slowly. (source: optoverview.html, matrix: context, detail)

R-02216-00820-33390-20327-19071-10430-39697-32412

  The argument X in sqlite3_file_control(db,SQLITE_FCNTL_VFS_POINTER,X) must be of type "sqlite3_vfs **". This opcodes will set *X to a pointer to the top-level VFS. (source: c3ref/c_fcntl_begin_atomic_write.html, matrix: context, detail)

R-02223-49279-19512-29951-11875-18036-12006-07318

  Subject to filtering associated with the DISTINCT keyword, the number of rows returned by an aggregate query with a GROUP BY clause is the same as the number of groups of rows produced by applying the GROUP BY and HAVING clauses to the filtered input dataset. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-02230-09674-61561-02587-07108-44631-60022-03374

  The heap limits are not enforced in the current implementation if one or more of following conditions are true: The limit value is set to zero. Memory accounting is disabled using a combination of the sqlite3_config(SQLITE_CONFIG_MEMSTATUS,...) start-time option and the SQLITE_DEFAULT_MEMSTATUS compile-time option. An alternative page cache implementation is specified using sqlite3_config(SQLITE_CONFIG_PCACHE2,...). The page cache allocates from its own memory pool supplied by sqlite3_config(SQLITE_CONFIG_PAGECACHE,...) rather than from the heap. (source: c3ref/hard_heap_limit64.html, checked-by: th3/req1/softheaplimit02.test, matrix: context, detail)

R-02336-39303-27290-23991-25845-02494-13210-07983

  The value returned is one of SQLITE_ROLLBACK, SQLITE_IGNORE, SQLITE_FAIL, SQLITE_ABORT, or SQLITE_REPLACE, according to the ON CONFLICT mode of the SQL statement that triggered the call to the xUpdate method of the virtual table. (source: c3ref/vtab_on_conflict.html, matrix: context, detail)

R-02347-27622-26500-11854-22896-16033-00883-33051

  The %n format is silently ignored and does not consume an argument. (source: lang_corefunc.html, checked-by: tcl/printf2.test, th3/cov1/printf08.test, matrix: context, detail)

R-02348-55344-32378-57138-47141-59055-59036-53991

  If the most recent sqlite3_* API call associated with database connection D failed, then the sqlite3_errcode(D) interface returns the numeric result code or extended result code for that API call. (source: c3ref/errcode.html, matrix: context, detail)

R-02355-51069-10404-51667-09139-26886-58872-12048

  The sqlite3_initialize() routine initializes the SQLite library. (source: c3ref/initialize.html, matrix: context, detail)

R-02402-03425-02840-42627-65060-52098-37241-46689

  SQLite has three built-in collating functions: BINARY, NOCASE, and RTRIM. (source: datatype3.html, checked-by: th3/req1/datatype3_09.test, matrix: context, detail)

R-02424-24769-08747-39368-55205-12781-22154-40957

  The second argument is the number of coordinates in each r-tree entry, and is always the same for any given R*Tree. (source: rtree.html, matrix: context, detail)

R-02445-31643-12462-38565-43200-47259-24553-56004

  The first two constants (SQLITE_MUTEX_FAST and SQLITE_MUTEX_RECURSIVE) cause sqlite3_mutex_alloc() to create a new mutex. (source: c3ref/mutex_alloc.html, matrix: context, detail)

R-02452-55255-23051-52258-05350-24145-51359-57873

  This in-memory database will vanish when the database connection is closed. (source: c3ref/open.html, checked-by: th3/cov1/sharedcache03.test, matrix: context, detail)

R-02509-11239-04635-35453-11761-20226-62835-31660

  sqlite> EXPLAIN QUERY PLAN SELECT c, d FROM t2 ORDER BY c; QUERY PLAN |--SCAN TABLE t2 `--USE TEMP B-TREE FOR ORDER BY (source: eqp.html, matrix: context, detail)

R-02526-60953-53079-20441-57017-47857-19506-30877

  Formats 8 through 10 that specify only a time assume a date of 2000-01-01. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-02535-05811-23269-15824-03293-63258-54375-28501

  One can explicitly change out of WAL mode using a pragma such as this: PRAGMA journal_mode=DELETE; (source: wal.html, checked-by: tcl/e_wal.test, matrix: context, detail)

R-02545-26933-18999-48013-24665-54880-01582-10256

  PRAGMA stats; (source: pragma.html, checked-by: th3/cov1/index02.test, matrix: context, detail)

R-02552-35840-06241-57542-28930-20966-35259-36291

  If the filename is an empty string, then a private, temporary on-disk database will be created. (source: c3ref/open.html, matrix: context, detail)

R-02559-29055-33962-47817-36688-50556-57969-25403

  The built-in functions used to implement LIKE and GLOB must not have been overloaded using the sqlite3_create_function() API. (source: optoverview.html, matrix: context, detail)

R-02597-60207-27800-53923-18122-14559-36270-03523

  This pragma only changes the behavior of the SQL LIKE operator. It does not change the behavior of the sqlite3_strlike() C-language interface, which is always case insensitive. (source: pragma.html, matrix: context, detail)

R-02603-20369-49628-47923-33871-62989-43083-21610

  The SQLITE_TRACE_SIZE_LIMIT compile-time option limits the size of bound parameter expansions. (source: c3ref/expanded_sql.html, checked-by: th3/cov1/main16.test, matrix: context, detail)

R-02612-37947-62500-41847-13282-34946-09245-20088

  The filename for the database to be attached is the value of the expression that occurs before the AS keyword. (source: lang_attach.html, checked-by: th3/req1/attach01.test, matrix: context, detail)

R-02644-22131-14285-04703-01059-19073-41336-39895

  In a compound SELECT statement, only the last or right-most simple SELECT may have an ORDER BY clause. (source: lang_select.html, checked-by: tcl/select4.test, th3/req1/select02.test, matrix: context, detail)

R-02653-06118-57159-51555-56170-47267-50367-42791

  Any new SQL statements that are started after the sqlite3_interrupt() call and before the running statement count reaches zero are interrupted as if they had been running prior to the sqlite3_interrupt() call. (source: c3ref/interrupt.html, matrix: context, detail)

R-02661-56399-16863-16765-39256-52589-25619-21380

  If the result of the evaluating the LIMIT clause cannot be losslessly converted to an integer value, it is an error. (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-02718-64874-37028-59587-06155-35657-39180-35629

  zProc may be 0, in which case SQLite will try to come up with an entry point name on its own. It first tries "sqlite3_extension_init". If that does not work, it constructs a name "sqlite3_X_init" where the X is consists of the lower-case equivalent of all ASCII alphabetic characters in the filename from the last "/" to the first following "." and omitting any initial "lib". (source: c3ref/load_extension.html, matrix: context, detail)

R-02723-34107-58585-29932-59518-10370-60775-12212

  Note that it is not necessary for all coordinates in an R*Tree index to be constrained in order for the index search to be efficient. (source: rtree.html, matrix: context, detail)

R-02748-19096-10502-39344-29556-06426-40271-21454

  This option sets the threading mode to Single-thread. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, matrix: context, detail)

R-02752-50091-50763-13370-06213-52053-61647-05504

  A cast of a REAL value into an INTEGER results in the integer between the REAL value and zero that is closest to the REAL value. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-02753-24748-27922-38844-00567-47453-02164-18624

  A sequence number assigned to each index for internal tracking purposes. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15.test, matrix: context, detail)

R-02754-60157-05684-14835-18385-12207-59168-42343

  The VACUUM INTO command works the same way except that it uses the file named on the INTO clause in place of the temporary database and omits the step of copying the vacuumed database back over top of the original database. (source: lang_vacuum.html, matrix: context, detail)

R-02776-14802-36986-43055-33540-06058-61102-35501

  The cell pointer array consists of K 2-byte integer offsets to the cell contents. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-02781-38257-61601-52824-21453-60365-23021-11331

  The name of the database or table or column can be returned as either a UTF-8 or UTF-16 string. (source: c3ref/column_database_name.html, matrix: context, detail)

R-02811-30532-06780-49040-22686-08574-20833-13918

  The multi-argument min() function returns the argument with the minimum value. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, th3/req1/func03.test, matrix: context, detail)

R-02823-24537-56381-41482-05439-43543-17760-52541

  All journal headers within the same journal must contain the same database page size and sector size. (source: fileformat2.html, matrix: context, detail)

R-02834-55381-03461-31664-23015-51190-16436-44295

  Compute the date and time given a unix timestamp 1092941466, and compensate for your local timezone. SELECT datetime(1092941466, 'unixepoch', 'localtime'); (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-02854-44844-25004-52722-20972-43816-38252-26758

  Transactions created using BEGIN...COMMIT do not nest. (source: lang_transaction.html, matrix: context, detail)

R-02878-47338-41992-43145-51267-26595-43850-16563

  The sqlite3_str object is created using sqlite3_str_new(). (source: c3ref/str.html, matrix: context, detail)

R-02903-29630-48373-46747-65166-13763-04859-03482

  The sqlite3_drop_modules(D,L) interface removes all virtual table modules from database connection D except those named on list L. (source: c3ref/drop_modules.html, matrix: context, detail)

R-02944-19877-16321-40331-61553-58376-42533-63822

  Common table expression are not supported for statements inside of triggers. (source: lang_createtrigger.html, matrix: context, detail)

R-02961-26666-41829-02507-08304-47031-60058-62132

  A power failure or program crash or OS crash will cause the outer-most transaction to rollback, undoing all changes that have occurred within that outer transaction, even changes that have supposedly been "committed" by the RELEASE command. (source: lang_savepoint.html, matrix: context, detail)

R-02982-34736-45462-50381-10151-04149-50124-39087

  In order to maintain full backwards compatibility for legacy applications, the URI filename capability is disabled by default. (source: uri.html, checked-by: src/global.c, matrix: context, detail)

R-03014-26414-56458-20281-20451-13984-34730-16215

  If the LIMIT expression evaluates to a negative value, then there is no upper bound on the number of rows returned. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-03038-07451-12722-63160-48218-07085-49019-00340

  The DBSTAT virtual table is available on all database connections when SQLite is built using the SQLITE_ENABLE_DBSTAT_VTAB compile-time option. (source: dbstat.html, matrix: context, detail)

R-03040-34580-06414-61878-61161-08528-60209-55771

  To change auto-vacuum modes, first use the auto_vacuum pragma to set the new desired mode, then invoke the VACUUM command to reorganize the entire database file. (source: pragma.html, checked-by: th3/req1/pragma07.test, matrix: context, detail)

R-03042-35027-57621-08562-39860-20110-45272-44124

  In SQLite version 3. (source: lang_transaction.html, matrix: context, detail)

R-03108-01565-06076-29544-14093-00699-65398-01477

  If sqlite3_backup_step() cannot obtain a required file-system lock, then the busy-handler function is invoked (if one is specified). (source: c3ref/backup_finish.html, matrix: context, detail)

R-03108-55458-13871-22315-35483-39116-29628-08970

  The memory space used to hold strings and BLOBs is freed automatically. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, th3/req1/column02.test, th3/req1/column03.test, matrix: context, detail)

R-03108-63659-37525-03634-22905-61973-06931-63842

  The English language error message for foreign key DML errors is usually "foreign key mismatch" but can also be "no such table" if the parent table does not exist. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys07.test, matrix: context, detail)

R-03145-46390-59121-11550-39703-00062-43990-26586

  This function closes an open BLOB handle. (source: c3ref/blob_close.html, checked-by: tcl/e_blobclose.test, matrix: context, detail)

R-03149-51030-29374-35692-47686-21345-30102-08346

  sqlite> CREATE INDEX i4 ON t2(c); sqlite> EXPLAIN QUERY PLAN SELECT c, d FROM t2 ORDER BY c; QUERY PLAN `--SCAN TABLE t2 USING INDEX i4 (source: eqp.html, matrix: context, detail)

R-03153-32413-63550-60817-44903-54109-55492-28243

  Applications can invoke the SQLITE_FCNTL_TEMPFILENAME file-control to have SQLite generate a temporary filename using the same algorithm that is followed to generate temporary filenames for TEMP tables and other internal uses. (source: c3ref/c_fcntl_begin_atomic_write.html, matrix: context, detail)

R-03172-04369-12643-00191-50851-55287-16649-54683

  The iif(X,Y,Z) function returns the value Y if X is true, and Z otherwise. (source: lang_corefunc.html, matrix: context, detail)

R-03177-38447-54493-08883-15341-37081-39578-45414

  The strings returned by sqlite3_sql(P) and sqlite3_normalized_sql(P) are managed by SQLite and are automatically freed when the prepared statement is finalized. (source: c3ref/expanded_sql.html, checked-by: th3/req1/sql01.test, matrix: context, detail)

R-03189-51135-06714-56467-07556-62916-33702-61870

  As each SQL statement runs, the schema version is checked to ensure that the schema has not changed since the SQL statement was prepared. (source: pragma.html, checked-by: src/vdbe.c, th3/req1/pragma28.test, matrix: context, detail)

R-03236-28327-53832-55698-26984-08951-20811-30621

  The callback function registered by sqlite3_profile() is invoked as each SQL statement finishes. (source: c3ref/profile.html, checked-by: th3/cov1/main16.test, matrix: context, detail)

R-03263-59522-08977-47312-04173-07916-12369-56758

  In formats 4, 7, and 10, the fractional seconds value SS.SSS can have one or more digits following the decimal point. Exactly three digits are shown in the examples because only the first three digits are significant to the result, but the input string can have fewer or more than three digits and the date/time functions will still operate correctly. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-03265-02788-40308-03087-09490-44543-57218-37150

  sqlite> EXPLAIN QUERY PLAN SELECT (SELECT b FROM t1 WHERE a=0), (SELECT a FROM t1 WHERE b=t2.c) FROM t2; |--SCAN TABLE t2 USING COVERING INDEX i4 |--SCALAR SUBQUERY | `--SEARCH TABLE t1 USING COVERING INDEX i2 (a=?) `--CORRELATED SCALAR SUBQUERY `--SEARCH TABLE t1 USING INDEX i3 (b=?) (source: eqp.html, matrix: context, detail)

R-03353-05327-21191-28288-58549-30161-65035-16573

  If the configured action is "SET NULL", then when a parent key is deleted (for ON DELETE SET NULL) or modified (for ON UPDATE SET NULL), the child key columns of all rows in the child table that mapped to the parent key are set to contain SQL NULL values. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys16.test, matrix: context, detail)

R-03364-08004-01846-16626-35041-21418-01059-33152

  This saves disk I/O but at the expense of database safety and integrity. (source: pragma.html, checked-by: th3/req1/pragma25.test, matrix: context, detail)

R-03366-15091-31390-29880-25655-21575-38320-18449

  A column with affinity BLOB does not prefer one storage class over another and no attempt is made to coerce data from one storage class into another. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-03371-37637-45197-41040-02325-30195-01599-52807

  A value of 2 means UTF-16le. (source: fileformat2.html, checked-by: th3/req1/fileformat03.test, matrix: context, detail)

R-03384-16988-56342-27113-15582-23905-61625-46605

  If the 4th parameter to the sqlite3_result_text* interfaces or sqlite3_result_blob is a non-NULL pointer, then SQLite calls that function as the destructor on the text or BLOB result when it has finished using that result. (source: c3ref/result_blob.html, checked-by: th3/req1/result02.test, matrix: context, detail)

R-03387-12896-30110-08033-64260-38467-31820-29841

  For a trigger, the tbl_name column stores the name of the table or view that causes the trigger to fire. (source: fileformat2.html, matrix: context, detail)

R-03407-11483-10764-04340-16731-05555-54147-57723

  Each term of the ORDER BY clause is processed separately and may be matched against result columns from different SELECT statements in the compound. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-03407-34626-50961-58560-51866-04262-39023-12943

  If P<=X then all P bytes of payload are stored directly on the btree page without overflow. (source: fileformat2.html, matrix: context, detail)

R-03415-51114-16877-13927-48292-50475-12409-45422

  This routine returns SQLITE_OK if shared cache was enabled or disabled successfully. An error code is returned otherwise. (source: c3ref/enable_shared_cache.html, matrix: context, detail)

R-03421-22330-15487-45434-55764-30375-36326-03914

  The REPLACE command is an alias for the "INSERT OR REPLACE" variant of the INSERT command. (source: lang_replace.html, checked-by: tcl/e_insert.test, th3/req1/replace01.test, matrix: context, detail)

R-03421-57988-17823-20871-36963-31591-05991-31026

  If the SELECT statement is a simple SELECT, then an ORDER BY may contain any arbitrary expressions. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-03473-60719-23522-47619-30011-51175-32203-58759

  In an ordinary rowid table, the index entry always ends with the rowid even if the INTEGER PRIMARY KEY column is one of the columns being indexed. (source: fileformat2.html, checked-by: th3/req1/fileformat04.test, matrix: context, detail)

R-03478-24050-02080-63717-24763-14107-62865-40248

  Application code can delete all entries from the sqlite_sequence table, but application code cannot drop the sqlite_sequence table. (source: fileformat2.html, matrix: context, detail)

R-03511-33422-55072-31663-17873-23476-48339-34907

  If this function needs to obtain extra database locks before dirty pages can be flushed to disk, it does so. (source: c3ref/db_cacheflush.html, matrix: context, detail)

R-03529-13145-61172-45991-35853-35097-63918-09520

  Each new VFS becomes the default VFS if the makeDflt flag is set. (source: c3ref/vfs_find.html, checked-by: th3/req1/vfs01.test, matrix: context, detail)

R-03587-06098-24294-21557-27164-26781-18390-63915

  The sqlite3.h header file defines C-preprocessor macros SQLITE_UTF8 as 1, SQLITE_UTF16LE as 2, and SQLITE_UTF16BE as 3, to use in place of the numeric codes for the text encoding. (source: fileformat2.html, checked-by: th3/cov1/main01.test, matrix: context, detail)

R-03642-28175-07234-22849-20831-22837-60337-13680

  For the index above and WHERE clause like this: ... WHERE a=5 AND b IN (1,2,3) AND c IS NULL AND d='hello' The first four columns a, b, c, and d of the index would be usable since those four columns form a prefix of the index and are all bound by equality constraints. (source: optoverview.html, matrix: context, detail)

R-03650-18079-61121-63570-57348-35510-07530-48237

  The languageid option causes the FTS4 table to have an additional hidden integer column that identifies the language of the text contained in each row. (source: fts3.html, matrix: context, detail)

R-03668-38040-63384-47924-51655-15922-38013-57392

  SQLITE_DBSTATUS_CACHE_USED_SHARED This parameter is similar to DBSTATUS_CACHE_USED, except that if a pager cache is shared between two or more connections the bytes of heap memory used by that pager cache is divided evenly between the attached connections. (source: c3ref/c_dbstatus_options.html, matrix: context, detail)

R-03669-30599-21217-06896-17769-44438-31618-26741

  The SQLITE_CONFIG_LOOKASIDE option takes two arguments that determine the default size of lookaside memory on each database connection. The first argument is the size of each lookaside buffer slot and the second is the number of slots allocated to each database connection. (source: c3ref/c_config_covering_index_scan.html, checked-by: th3/th3main.c, matrix: context, detail)

R-03679-60639-59233-10900-40024-64867-37353-18498

  Equals can be either = or ==. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-03718-56652-35720-52480-53179-27141-13621-15908

  The database name is "main" for the main database, "temp" for the temporary database, or the name specified after the AS keyword in an ATTACH statement for an attached database. (source: c3ref/backup_finish.html, checked-by: th3/req1/backup02.test, matrix: context, detail)

R-03733-29734-34954-23072-53116-42399-24178-53918

  Rowid values may be modified using an UPDATE statement in the same way as any other column value can, either using one of the built-in aliases ("rowid", "oid" or "_rowid_") or by using an alias created by an integer primary key. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-03763-21608-02614-21475-13242-45742-42220-44388

  In the legacy interface, the return value will be either SQLITE_BUSY, SQLITE_DONE, SQLITE_ROW, SQLITE_ERROR, or SQLITE_MISUSE. (source: c3ref/step.html, matrix: context, detail)

R-03774-63970-49348-18096-09598-62977-03168-07384

  If an element of a result row is NULL then the corresponding string pointer for the sqlite3_exec() callback is a NULL pointer. (source: c3ref/exec.html, checked-by: th3/req1/exec01.test, matrix: context, detail)

R-03775-43471-64071-42182-04548-19220-35511-30117

  For CURRENT_DATE, "YYYY-MM-DD". (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-03782-50113-07889-61345-45931-21509-48774-40990

  In a compound SELECT, the LIMIT clause applies to the entire compound, not just the final SELECT. (source: lang_select.html, checked-by: tcl/limit.test, th3/req1/select02.test, matrix: context, detail)

R-03793-19254-25835-35208-42396-01402-31770-31653

  If you ever delete rows or if you ever create a row with the maximum possible ROWID, then ROWIDs from previously deleted rows might be reused when creating new rows and newly created ROWIDs might not be in strictly ascending order. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-03805-18240-25396-23037-09576-28411-40508-44417

  This private database will be automatically deleted as soon as the database connection is closed. (source: c3ref/open.html, matrix: context, detail)

R-03816-21626-17112-32643-57381-58430-16315-21594

  When running in shared-cache mode, a database operation may fail with an SQLITE_LOCKED error if the required locks on the shared-cache or individual tables within the shared-cache cannot be obtained. (source: c3ref/unlock_notify.html, matrix: context, detail)

R-03849-24470-04387-57438-43164-31085-17053-62847

  The sqlite3_bind_pointer(S,I,P,T,D) routine causes the I-th parameter in prepared statement S to have an SQL value of NULL, but to also be associated with the pointer P of type T. (source: c3ref/bind_blob.html, checked-by: th3/cov1/carray01.test, matrix: context, detail)

R-03880-38961-16553-20098-36513-53865-60133-40229

  If the input text contains no SQL (if the input is an empty string or a comment) then *ppStmt is set to NULL. (source: c3ref/prepare.html, checked-by: th3/req1/prepare01.test, matrix: context, detail)

R-03887-49864-52885-52230-12031-59959-26031-40096

  If the PRIMARY KEY of a WITHOUT ROWID tables uses the same columns with the same collating sequence more than once, then the second and subsequent occurrences of that column in the PRIMARY KEY definition are ignored. (source: fileformat2.html, matrix: context, detail)

R-03895-01427-35147-59695-24656-05504-11276-13521

  SELECT objname FROM demo_index2 WHERE contained_in(boundary, :boundary) AND minX>=-81.0 AND maxX<=-79.6 AND minY>=35.0 AND maxY>=36.2; (source: rtree.html, matrix: context, detail)

R-03922-41160-10406-40879-23599-49045-53405-25401

  If the flags parameter is zero, the BLOB is opened for read-only access. (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, th3/cov1/vdbeblob01.test, matrix: context, detail)

R-03934-63400-35021-15759-28695-34964-02248-59433

  However, changing from "none" to "full" or "incremental" can only occur when the database is new (no tables have yet been created) or by running the VACUUM command. (source: pragma.html, checked-by: th3/req1/pragma07.test, matrix: context, detail)

R-03993-24285-31190-14311-07438-62351-52230-47181

  Only a single authorizer can be in place on a database connection at a time. Each call to sqlite3_set_authorizer overrides the previous call. (source: c3ref/set_authorizer.html, checked-by: tcl/auth.test, th3/cov1/auth01.test, matrix: context, detail)

R-03996-12088-12971-06129-31814-44621-38881-57299

  The M parameter must be a valid checkpoint mode: (source: c3ref/wal_checkpoint_v2.html, checked-by: src/main.c, tcl/e_walckpt.test, matrix: context, detail)

R-04005-08111-39731-15170-36576-49560-64443-15597

  SAVEPOINTs are a method of creating transactions, similar to BEGIN and COMMIT, except that the SAVEPOINT and RELEASE commands are named and may be nested. (source: lang_savepoint.html, matrix: context, detail)

R-04042-24825-64259-53667-46708-22366-11905-57675

  To do so, a foreign key definition may be added by modifying the declaration of the track table to the following: CREATE TABLE track( trackid INTEGER, trackname TEXT, trackartist INTEGER, FOREIGN KEY(trackartist) REFERENCES artist(artistid) ); (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys01.test, matrix: context, detail)

R-04132-09474-00805-46196-04402-30131-02139-26149

  If the HAVING clause is an aggregate expression, it is evaluated across all rows in the group. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-04136-04681-09628-27696-46047-23040-33903-21102

  If no collating function is explicitly defined, then the collating function defaults to BINARY. (source: datatype3.html, checked-by: th3/req1/datatype3_09.test, matrix: context, detail)

R-04156-06964-57164-01636-33935-16787-30855-09296

  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. (source: c3ref/interrupt.html, matrix: context, detail)

R-04196-57626-61591-44020-20208-08318-09157-59065

  One can add a VIRTUAL column, however. (source: gencol.html, matrix: context, detail)

R-04207-37981-22726-45777-39517-24105-18228-28404

  To cast a BLOB value to TEXT, the sequence of bytes that make up the BLOB is interpreted as text encoded using the database encoding. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-04230-65027-27281-23522-50954-57493-39965-31436

  This statement detaches an additional database connection previously attached using the ATTACH statement. (source: lang_detach.html, matrix: context, detail)

R-04232-24861-40917-13992-27645-07811-63353-60101

  Collation names that compare equal according to sqlite3_strnicmp() are considered to be the same name. (source: c3ref/create_collation.html, checked-by: th3/req1/createcoll01.test, matrix: context, detail)

R-04239-05140-34509-16246-41712-61041-39161-05924

  The sqlite3_close() and sqlite3_close_v2() routines are destructors for the sqlite3 object. (source: c3ref/close.html, checked-by: th3/th3util.c, matrix: context, detail)

R-04239-46396-01814-35437-09500-15330-29656-29388

  A single zero-byte separates the xOpen filename argument from the key of the first query parameters, each key and value, and each subsequent key from the prior value. (source: uri.html, matrix: context, detail)

R-04240-13860-65376-64948-20761-30630-14399-44960

  When comparing values, if the parent key column has an affinity, then that affinity is applied to the child key value before the comparison is performed. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys03.test, matrix: context, detail)

R-04272-38653-14303-01704-38451-58113-36784-29823

  The "RESTRICT" action means that the application is prohibited from deleting (for ON DELETE RESTRICT) or modifying (for ON UPDATE RESTRICT) a parent key when there exists one or more child keys mapped to it. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys16.test, matrix: context, detail)

R-04300-56712-32659-65159-49842-27130-29205-32160

  If the X parameter to sqlite3_realloc(X,N) is a NULL pointer then its behavior is identical to calling sqlite3_malloc(N). (source: c3ref/free.html, checked-by: src/malloc.c, th3/req1/malloc02.test, matrix: context, detail)

R-04304-33529-02265-14363-24121-34151-06311-12119

  The first parameter "n" is the total size of the buffer, including space for the zero terminator. (source: c3ref/mprintf.html, checked-by: th3/req1/malloc01.test, matrix: context, detail)

R-04382-46598-05125-45584-30241-41466-16094-28747

  The text in the sqlite_schema.sql column is a copy of the original CREATE statement text that created the object, except normalized as described above and as modified by subsequent ALTER TABLE statements. (source: fileformat2.html, matrix: context, detail)

R-04452-49349-54233-41206-52506-27116-05869-21475

  When the callback returns SQLITE_DENY, the sqlite3_prepare_v2() or equivalent call that triggered the authorizer will fail with an error message explaining that access is denied. (source: c3ref/set_authorizer.html, checked-by: tcl/auth.test, th3/cov1/auth01.test, matrix: context, detail)

R-04460-38575-52121-32050-22893-58240-13310-33499

  If the subquery is the right operand of a LEFT JOIN then the subquery may not be a join, and the FROM clause of the subquery may not contain a virtual table, and the outer query may not be an aggregate. (source: optoverview.html, matrix: context, detail)

R-04460-53386-37328-50072-27408-53032-10915-39219

  The third argument is the number of slots. (source: c3ref/c_dbconfig_defensive.html, checked-by: src/main.c, th3/req1/dbconfig01.test, matrix: context, detail)

R-04465-11976-19179-54741-15399-04029-28816-38507

  The built-in iif(x,y,z) SQL function is logically equivalent to "CASE WHEN x THEN y ELSE z END". (source: lang_expr.html, matrix: context, detail)

R-04486-07266-01902-48649-32493-31514-19208-51625

  Or, if the dataset contains zero rows, then each non-aggregate expression is evaluated against a row consisting entirely of NULL values. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-04532-11527-60293-16788-37808-59040-51319-08926

  The LIKE operator is case sensitive by default for unicode characters that are beyond the ASCII range. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-04549-59621-55549-18042-51558-13572-61866-18080

  Tables in an attached database can be referred to using the syntax schema-name.table-name. (source: lang_attach.html, checked-by: th3/req1/attach01.test, matrix: context, detail)

R-04558-24451-40018-59769-17015-19792-37809-52993

  In this case all scalar expressions are evaluated before any assignments are made. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-04591-34196-50064-55566-45109-16204-13417-11786

  If V is a NULL pointer then sqlite3_value_free(V) is a harmless no-op. (source: c3ref/value_dup.html, matrix: context, detail)

R-04670-35394-33055-58940-18775-32578-18606-16346

  The schema of the sqlite_stat4 table is as follows: CREATE TABLE sqlite_stat4(tbl,idx,nEq,nLt,nDLt,sample); (source: fileformat2.html, matrix: context, detail)

R-04682-52837-39435-38737-61247-25380-35217-59080

  The rewritten term then might go on to constrain an index using the normal rules for *IN* operators. (source: optoverview.html, matrix: context, detail)

R-04709-28430-14842-03600-36278-03324-37525-06420

  The two syntaxes yield identical results. (source: pragma.html, checked-by: th3/req1/pragma01.test, matrix: context, detail)

R-04780-55815-53305-18116-10339-17181-34629-39653

  The SQLITE_CONFIG_WIN32_HEAPSIZE option is only available if SQLite is compiled for Windows with the SQLITE_WIN32_MALLOC pre-processor macro defined. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, matrix: context, detail)

R-04813-30632-36613-23233-44977-18945-21013-25400

  Any number of levels of indirection are allowed. (source: c3ref/unlock_notify.html, matrix: context, detail)

R-04813-32302-43211-64289-53860-58512-13652-55013

  If a ROLLBACK operation occurs on the same database connection as a pending read or write, then the pending read or write may fail with an SQLITE_ABORT or SQLITE_ABORT_ROLLBACK error. (source: rescode.html, checked-by: th3/cov1/vdbe14.test, matrix: context, detail)

R-04857-57605-48133-44150-30535-05379-36560-24650

  An attempt to change the journal_mode of an in-memory database to any setting other than MEMORY or OFF is ignored. (source: pragma.html, checked-by: th3/req1/pragma23.test, matrix: context, detail)

R-04864-61029-16829-56446-03389-34714-38812-10063

  Information about the ORDER BY clause is stored in aOrderBy[]. (source: c3ref/index_info.html, matrix: context, detail)

R-04905-26881-40783-35987-17174-16580-39842-61729

  SQLite uses dynamic run-time typing. (source: c3ref/column_decltype.html, matrix: context, detail)

R-04922-24076-20312-31472-33218-43152-59920-55175

  The sqlite_compileoption_get() SQL function is a wrapper around the sqlite3_compileoption_get() C/C++ function. (source: lang_corefunc.html, checked-by: src/func.c, th3/cov1/ctime02.test, matrix: context, detail)

R-04932-55942-18064-33744-52944-17414-47744-37595

  If the NATURAL keyword is in the join-operator then an implicit USING clause is added to the join-constraints. The implicit USING clause contains each of the column names that appear in both the left and right-hand input datasets. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-04945-22784-17023-15023-27622-31516-40757-39566

  For example, if a prepared statement is created using the SQL text "SELECT $abc,:xyz" and if parameter $abc is bound to integer 2345 and parameter :xyz is unbound, then sqlite3_sql() will return the original string, "SELECT $abc,:xyz" but sqlite3_expanded_sql() will return "SELECT 2345,NULL". (source: c3ref/expanded_sql.html, checked-by: th3/req1/sql01.test, matrix: context, detail)

R-04950-25529-49153-37444-18478-06220-49910-01329

  Once removed, the trigger definition is no longer present in the sqlite_schema (or sqlite_temp_schema) table and is not fired by any subsequent INSERT, UPDATE or DELETE statements. (source: lang_droptrigger.html, checked-by: tcl/e_droptrigger.test, matrix: context, detail)

R-04965-15290-07639-47076-03173-25539-55321-39216

  If two or more COLLATE operator subexpressions appear anywhere in a comparison, the left most explicit collating function is used regardless of how deeply the COLLATE operators are nested in the expression and regardless of how the expression is parenthesized. (source: datatype3.html, checked-by: th3/req1/datatype3_09.test, matrix: context, detail)

R-04966-20924-22801-44909-48927-53251-60616-56610

  The returned string pointer is valid until either the prepared statement is destroyed by sqlite3_finalize() or until the statement is automatically reprepared by the first call to sqlite3_step() for a particular run or until the next call to sqlite3_column_name() or sqlite3_column_name16() on the same column. (source: c3ref/column_name.html, matrix: context, detail)

R-04985-23577-44603-16684-59773-10654-23647-01316

  The schema_version pragma will get or set the value of the schema-version integer at offset 40 in the database header. (source: pragma.html, checked-by: th3/req1/pragma28.test, matrix: context, detail)

R-05029-19081-65364-33409-26598-32718-22638-00652

  SQLITE_STATUS_MEMORY_USED This parameter is the current amount of memory checked out using sqlite3_malloc(), either directly or indirectly. The figure includes calls made to sqlite3_malloc() by the application and internal memory usage by the SQLite library. Auxiliary page-cache memory controlled by SQLITE_CONFIG_PAGECACHE is not included in this parameter. The amount returned is the sum of the allocation sizes as reported by the xSize method in sqlite3_mem_methods. (source: c3ref/c_status_malloc_count.html, matrix: context, detail)

R-05038-25064-50136-23943-62126-35147-57737-05371

  You can then access the ROWID using any of four different names, the original three names described above or the name given to the INTEGER PRIMARY KEY column. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-05050-19932-51228-07490-05961-18569-19924-51856

  The SQLITE_CONFIG_MUTEX option takes a single argument which is a pointer to an instance of the sqlite3_mutex_methods structure. The argument specifies alternative low-level mutex routines to be used in place the mutex routines built into SQLite. (source: c3ref/c_config_covering_index_scan.html, checked-by: th3/th3main.c, matrix: context, detail)

R-05088-64670-01812-40293-14899-41323-61587-34551

  The sqlite_sequence. (source: fileformat2.html, matrix: context, detail)

R-05098-06501-37096-20174-22596-42631-53516-57817

  In shared cache mode, attempting to attach the same database file more than once results in an error. (source: lang_detach.html, checked-by: tcl/shared7.test, th3/cov1/attach07.test, matrix: context, detail)

R-05119-02637-14414-33683-07351-22342-03629-61768

  The 4-byte big-endian integer at offset 36 stores stores the total number of pages on the freelist. (source: fileformat2.html, checked-by: src/btree.c, th3/req1/pragma21.test, matrix: context, detail)

R-05155-34454-27271-17967-48575-19068-12269-57153

  The precedence of the BETWEEN operator is the same as the precedence as operators == and != and LIKE and groups left to right. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-05192-57965-21317-62763-55347-54447-59069-43394

  Hence, the string '3.0e+5' is stored in a column with NUMERIC affinity as the integer 300000, not as the floating point value 300000.0. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-05196-58733-44887-26524-08639-58577-62968-38394

  The "temp" database (in which TEMP tables and indices are stored) and in-memory databases always uses exclusive locking mode. (source: pragma.html, checked-by: th3/req1/pragma04.test, matrix: context, detail)

R-05212-61817-14032-11419-24203-62425-34846-12664

  If an error occurs, that fact is recorded in the sqlite3_str object and can be recovered by a subsequent call to sqlite3_str_errcode(X). (source: c3ref/str_append.html, matrix: context, detail)

R-05226-30063-38393-23337-31220-10155-17682-45217

  If the application using SQLite crashes in the middle of a transaction when the MEMORY journaling mode is set, then the database file will very likely go corrupt. (source: pragma.html, checked-by: th3/req1/pragma25.test, matrix: context, detail)

R-05239-12850-29861-48267-58259-09367-64321-59571

  If no algorithm is specified anywhere, the ABORT algorithm is used. (source: lang_conflict.html, checked-by: th3/req1/conflict03.test, matrix: context, detail)

R-05254-00658-23742-34136-13538-61949-20472-35341

  So the following query could use the partial index: SELECT * FROM tab2 WHERE b=456 AND c<>0; -- uses partial index (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-05272-22592-13374-24756-51597-06491-53677-55023

  The index for named parameters can be looked up using the sqlite3_bind_parameter_index() API if desired. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-05363-17893-60997-09697-28202-47991-52787-63067

  Views are read-only in SQLite. (source: lang_createview.html, checked-by: th3/req1/view01.test, matrix: context, detail)

R-05367-01575-38544-05441-45705-50827-33382-05876

  The first argument to the sqlite3_bind_*() routines is always a pointer to the sqlite3_stmt object returned from sqlite3_prepare_v2() or its variants. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-05416-39654-33473-55228-34062-26099-18988-34297

  Any callback set by a previous call to sqlite3_commit_hook() for the same database connection is overridden. (source: c3ref/commit_hook.html, matrix: context, detail)

R-05416-57569-14245-59554-42970-16556-04782-39407

  The sqlite3_create_collation_v2() works like sqlite3_create_collation() with the addition that the xDestroy callback is invoked on pArg when the collating function is deleted. (source: c3ref/create_collation.html, checked-by: th3/req1/createcoll01.test, matrix: context, detail)

R-05452-35198-10871-20803-29102-44206-02290-23562

  The object returned by sqlite3_column_value() is an unprotected sqlite3_value object. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, matrix: context, detail)

R-05461-33397-24167-58750-38066-50926-47850-55199

  If SQLite is compiled with the SQLITE_ENABLE_STAT4 option, then additional histogram data is collected and stored in sqlite_stat4. (source: lang_analyze.html, checked-by: th3/req1/analyze01.test, matrix: context, detail)

R-05475-27562-55227-25532-19767-14622-00601-03902

  The sqlite3_backup_remaining() routine returns the number of pages still to be backed up at the conclusion of the most recent sqlite3_backup_step(). (source: c3ref/backup_finish.html, matrix: context, detail)

R-05513-33819-59240-57490-36750-56355-20133-11323

  It is not an error to create a table that has the same name as an existing trigger. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-05529-49311-19385-25088-51848-47183-58001-39726

  If the integrity_check pragma finds problems, strings are returned (as multiple rows with a single column per row) which describe the problems. (source: pragma.html, checked-by: th3/req1/integrityck01.test, matrix: context, detail)

R-05617-50091-64320-09946-64698-41149-46478-61865

  In the DELETE mode, the rollback journal is deleted at the conclusion of each transaction. (source: pragma.html, checked-by: th3/req1/pragma24.test, matrix: context, detail)

R-05644-53956-28885-25038-62165-04272-38392-10037

  A WAL always grows from beginning toward the end. (source: fileformat2.html, matrix: context, detail)

R-05646-15132-11020-10123-43884-18508-24247-46472

  When synchronous is NORMAL (1), the SQLite database engine will still sync at the most critical moments, but less often than in FULL mode. (source: pragma.html, matrix: context, detail)

R-05658-50861-03980-59142-22738-32773-09138-30302

  SQLite only understands the hexadecimal integer notation when it appears in the SQL statement text, not when it appears as part of the content of the database. (source: lang_expr.html, checked-by: th3/req1/expr01.test, matrix: context, detail)

R-05688-29289-29845-29411-51913-58756-05388-39596

  PRAGMA encoding; PRAGMA encoding = 'UTF-8'; PRAGMA encoding = 'UTF-16'; PRAGMA encoding = 'UTF-16le'; PRAGMA encoding = 'UTF-16be'; (source: pragma.html, checked-by: th3/req1/pragma16.test, matrix: context, detail)

R-05693-48487-42509-32993-20525-28591-05760-18227

  For the index above and WHERE clause like this: ... WHERE a=5 OR b IN (1,2,3) OR c NOT NULL OR d='hello' The index is not usable because the WHERE clause terms are connected by OR instead of AND. (source: optoverview.html, matrix: context, detail)

R-05702-07867-01732-07701-01060-12844-31655-42982

  The key to an index b-tree is a record composed of the columns that are being indexed followed by the key of the corresponding table row. (source: fileformat2.html, matrix: context, detail)

R-05723-45863-34375-13823-48994-32413-55048-46379

  The sqlite_stat3.sample column holds the value of the left-most field of an index identified by sqlite_stat3.idx and sqlite_stat3.tbl. (source: fileformat2.html, matrix: context, detail)

R-05731-00924-21642-36920-42396-08100-00001-17293

  The table name must be unqualified for INSERT statements that occur within CREATE TRIGGER statements. (source: lang_insert.html, checked-by: tcl/e_insert.test, matrix: context, detail)

R-05734-13629-21302-48631-57775-63447-36504-30462

  If an INSERT statement attempts to insert a blob value, or a string or real value that cannot be losslessly converted to an integer into an integer primary key or rowid column, a "datatype mismatch" error occurs and the statement is aborted. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-05791-54928-02769-08459-30778-25258-29853-24680

  Running VACUUM ensures that each table and index is largely stored contiguously within the database file. (source: lang_vacuum.html, checked-by: tcl/e_vacuum.test, matrix: context, detail)

R-05898-54598-22699-61791-29592-33550-33097-15159

  Otherwise, if the expression sorted by an ORDER BY clause is a column, then the collating sequence of the column is used to determine sort order. (source: datatype3.html, checked-by: th3/req1/datatype3_10.test, matrix: context, detail)

R-05903-08460-38037-43122-07089-54739-62474-34030

  If a deferred foreign key constraint is violated, then an error is reported when the user attempts to commit the transaction if the foreign key constraint violations still exist at that point. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys22.test, matrix: context, detail)

R-05906-34301-40279-37243-33018-07128-06632-24411

  In particular, if one wants to know all "children" of a particular purchase order "?1", the query would be: SELECT po_num FROM purchaseorder WHERE parent_po=?1; (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-05912-10167-55658-18265-62443-52976-18281-50268

  The journal_size_limit pragma may be used to limit the size of rollback-journal and WAL files left in the file-system after transactions or checkpoints. (source: pragma.html, checked-by: th3/req1/pragma26.test, matrix: context, detail)

R-05933-14338-14685-58376-15497-20309-09611-25931

  All of the examples create a WITHOUT ROWID table with two PRIMARY KEY columns, "a" and "c", in that order, followed by two data columns "b" and "d", also in that order. (source: fileformat2.html, matrix: context, detail)

R-05985-29284-11131-56196-04541-34001-38610-39560

  If the right operand of an IN or NOT IN operator is a list of values, each of those values must be scalars and the left expression must also be a scalar. (source: lang_expr.html, checked-by: th3/cov1/rowvalue06.test, matrix: context, detail)

R-06021-09373-60954-10709-09959-52253-36320-11394

  But extensions can override the match() function with more helpful logic. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-06024-54164-19422-11836-49964-56179-07103-14892

  Two or more MATCH operators are allowed in the same WHERE clause, as long as they are connected by AND operators. (source: rtree.html, checked-by: th3/cov1/rtree04.test, matrix: context, detail)

R-06028-16857-64547-18047-60085-29491-06944-27148

  Similarly, if the prefix integer is less than -9223372036854775808 then the result of the cast is exactly -9223372036854775808. (source: lang_expr.html, checked-by: tcl/cast.test, th3/cov1/cast01.test, matrix: context, detail)

R-06033-51812-54641-21311-09702-50904-10745-36536

  This pragma invokes the sqlite3_hard_heap_limit64() interface with the argument N, if N is specified and N is a positive integer that is less than the current hard heap limit. (source: pragma.html, matrix: context, detail)

R-06044-07843-41488-27430-15484-51013-09491-52143

  Each page record stores a copy of the content of a page from the database file before it was changed. (source: fileformat2.html, matrix: context, detail)

R-06085-13761-54522-48441-51146-08233-07521-56188

  Unless the table to which the trigger is attached is in the TEMP database, the table being updated by the trigger program must reside in the same database as it. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-06094-55152-33533-26668-27298-05995-61599-07184

  Unbound parameters are interpreted as NULL. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-06121-44139-52990-59264-15521-64976-48420-00452

  If X is NULL then length(X) is NULL. (source: lang_corefunc.html, checked-by: th3/cov1/func01.test, matrix: context, detail)

R-06125-22327-52915-34188-45275-42271-34098-17754

  As well as SQLITE_OK and SQLITE_DONE, a call to sqlite3_backup_step() may return SQLITE_READONLY, SQLITE_NOMEM, SQLITE_BUSY, SQLITE_LOCKED, or an SQLITE_IOERR_XXX extended error code. (source: c3ref/backup_finish.html, matrix: context, detail)

R-06154-44456-05106-65403-18746-31073-17094-53078

  The fifth argument, xCompare, is a pointer to the collating function. (source: c3ref/create_collation.html, checked-by: th3/req1/createcoll01.test, matrix: context, detail)

R-06184-64035-19129-41964-19001-40522-59120-29266

  The second pointer map page will be on page J+3 and that ptrmap page will provide back pointer information for pages J+4 through 2*J+3 inclusive. (source: fileformat2.html, matrix: context, detail)

R-06192-43187-09900-12561-05322-03139-09562-46958

  For the right-most column of an index that is used, there can be up to two inequalities that must sandwich the allowed values of the column between two extremes. (source: optoverview.html, matrix: context, detail)

R-06211-52866-60944-51344-33653-00695-35099-44728

  A single WAL file can be reused multiple times. (source: fileformat2.html, matrix: context, detail)

R-06247-40710-32264-36174-63374-18082-50900-27234

  If the busy-handler returns non-zero before the lock is available, then SQLITE_BUSY is returned to the caller. (source: c3ref/backup_finish.html, matrix: context, detail)

R-06268-22533-04308-14386-21741-11230-29946-31155

  The cache query parameter determines if the new database is opened using shared cache mode or with a private cache. (source: uri.html, matrix: context, detail)

R-06325-15315-47203-37013-07627-21557-12001-05874

  In this case, if both operands are NULL, then the IS operator evaluates to 1 (true) and the IS NOT operator evaluates to 0 (false). (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-06367-56981-61813-52742-22421-22635-19629-30966

  There is a limit, set using sqlite3_limit() and SQLITE_LIMIT_ATTACHED, to the number of databases that can be simultaneously attached to a single database connection. (source: lang_attach.html, checked-by: th3/req1/attach01.test, matrix: context, detail)

R-06396-00487-24665-04701-02670-39583-42617-54638

  The fourth parameter is an arbitrary client data pointer that is passed through into the xCreate and xConnect methods of the virtual table module when a new virtual table is be being created or reinitialized. (source: c3ref/create_module.html, matrix: context, detail)

R-06471-16287-47744-18667-43209-46484-64489-20920

  If an INSERT or UPDATE statement attempts to modify the table content so that two or more rows have identical primary key values, that is a constraint violation. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-06483-27112-61838-60600-31039-16842-06931-49767

  The xMutexEnd() interface is invoked exactly once for each call to sqlite3_shutdown(). (source: c3ref/mutex_methods.html, matrix: context, detail)

R-06497-44374-00376-59592-23814-22462-41106-13473

  The strftime() routine returns the date formatted according to the format string specified as the first argument. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-06521-54703-61418-20766-12795-30140-09114-51879

  Each entry in the ex25acde index consists of only the columns a, c, d, and e, in that order. (source: fileformat2.html, checked-by: th3/req1/fileformat04.test, matrix: context, detail)

R-06526-21822-44146-52005-29553-25229-08273-20735

  If the result is a numeric value then sqlite3_column_bytes() uses sqlite3_snprintf() to convert that value to a UTF-8 string and returns the number of bytes in that string. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, matrix: context, detail)

R-06529-47362-28298-49876-57281-01728-38007-39876

  Following the size varint are one or more additional varints, one per column. (source: fileformat2.html, checked-by: src/vdbe.c, th3/req1/fileformat02.test, matrix: context, detail)

R-06603-49335-45148-37548-51354-29602-47904-63601

  The rank of the column within the table being indexed, or -1 if the index-column is the rowid of the table being indexed and -2 if the index is on an expression. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15x.test, matrix: context, detail)

R-06617-54588-52951-29775-47412-02155-55122-34673

  Each ORDER BY expression may be optionally followed by one of the keywords ASC (smaller values are returned first) or DESC (larger values are returned first). (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-06626-12911-45896-07127-03501-58228-62690-15323

  The SQLITE_CONFIG_HEAP option is only available if SQLite is compiled with either SQLITE_ENABLE_MEMSYS3 or SQLITE_ENABLE_MEMSYS5 and returns SQLITE_ERROR if invoked otherwise. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, th3/th3oom.c, matrix: context, detail)

R-06630-59185-25894-35312-55008-29354-15372-24847

  Each modifier is a transformation that is applied to the time value to its left. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-06640-03838-35138-60782-53418-54966-60899-05980

  The sqlite3_snapshot_open() interface returns SQLITE_OK on success or an appropriate error code if it fails. (source: c3ref/snapshot_open.html, matrix: context, detail)

R-06681-36915-07445-41328-35159-18817-58464-46967

  The largest Fibonacci weight occurs on the first element of the sequence being summed. (source: fileformat2.html, matrix: context, detail)

R-06690-32088-38683-38277-10943-03715-22041-42931

  The sqlite3_value_free(V) interface frees an sqlite3_value object previously obtained from sqlite3_value_dup(). (source: c3ref/value_dup.html, matrix: context, detail)

R-06696-14078-40229-44066-29642-50805-54097-35981

  But there cannot be gaps in the columns of the index that are used. (source: optoverview.html, matrix: context, detail)

R-06710-22511-57136-17945-50070-33110-36192-14395

  When case_sensitive_like is disabled, the default LIKE behavior is expressed. (source: pragma.html, checked-by: th3/req1/pragma10.test, matrix: context, detail)

R-06718-34797-20809-29800-16443-15807-57069-06143

  If the UNIQUE keyword appears between CREATE and INDEX then duplicate index entries are not allowed. (source: lang_createindex.html, checked-by: th3/req1/createidx01.test, matrix: context, detail)

R-06726-07466-50674-60893-18596-18216-57915-63107

  A column name can be any of the names defined in the CREATE TABLE statement or one of the following special identifiers: "ROWID", "OID", or "_ROWID_". (source: lang_expr.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-06730-45014-00107-46861-15784-38161-55624-19541

  If the argument N is negative then no change is made to the heap limit. (source: c3ref/hard_heap_limit64.html, checked-by: th3/req1/softheaplimit01.test, matrix: context, detail)

R-06824-28531-04860-08794-38432-46623-19840-41642

  This option is used to change the name of the "main" database schema. (source: c3ref/c_dbconfig_defensive.html, checked-by: src/main.c, th3/cov1/maindbname01.test, matrix: context, detail)

R-06827-27714-37662-62265-13123-35942-36667-57305

  These routines provide a means to determine the database, table, and table column that is the origin of a particular result column in SELECT statement. (source: c3ref/column_database_name.html, matrix: context, detail)

R-06842-00595-27459-11943-09880-13369-18922-07215

  If the URI contains an authority, then it must be either an empty string or the string "localhost". (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-06866-39125-55055-41490-42674-60526-11809-05930

  Freeblocks are always connected in order of increasing offset. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-06868-44093-33901-50180-63066-19596-24201-39627

  The collating sequence used for expressions of the form "x IN (y, z, ...)" is the collating sequence of x. (source: datatype3.html, checked-by: th3/req1/datatype3_10.test, matrix: context, detail)

R-06920-11647-57198-53546-22558-52613-40073-20013

  If the function is registered using the sqlite3_collation_needed() API, then it is passed the names of undefined collation sequences as strings encoded in UTF-8. (source: c3ref/collation_needed.html, matrix: context, detail)

R-06962-29571-53557-56869-59611-31379-35849-49272

  The module-name must be registered with the SQLite database connection using sqlite3_create_module() or sqlite3_create_module_v2() prior to issuing the CREATE VIRTUAL TABLE statement. (source: lang_createvtab.html, matrix: context, detail)

R-07016-26442-22994-35571-41506-56753-23987-59797

  Each of the named columns of the new row is populated with the results of evaluating the corresponding VALUES expression. (source: lang_insert.html, checked-by: tcl/e_insert.test, matrix: context, detail)

R-07046-65439-53781-18565-05582-11236-16234-65526

  Any of these arguments may be NULL, in which case the corresponding element of metadata is omitted. (source: c3ref/table_column_metadata.html, checked-by: th3/cov1/metadata01.test, matrix: context, detail)

R-07051-38416-38857-52812-51917-08930-07930-15860

  If the declared type contains the string "INT" then it is assigned INTEGER affinity. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-07061-20551-45555-61970-58663-33619-01553-07889

  If the source database is modified by an external process or via a database connection other than the one being used by the backup operation, then the backup will be automatically restarted by the next call to sqlite3_backup_step(). (source: c3ref/backup_finish.html, matrix: context, detail)

R-07061-54920-02690-34802-26523-14617-41412-12725

  To overcome this problem, SQLite attempts to flatten subqueries in the FROM clause of a SELECT. (source: optoverview.html, matrix: context, detail)

R-07100-06606-15404-00202-26903-38022-07639-13720

  A single quote within the string can be encoded by putting two single quotes in a row - as in Pascal. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-07154-34181-57164-55597-27085-41955-25905-44172

  The table might look something like this: CREATE TABLE person( person_id INTEGER PRIMARY KEY, team_id INTEGER REFERENCES team, is_team_leader BOOLEAN, -- other fields elided ); (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-07161-27322-25839-32043-58017-64022-31100-22152

  The one-byte integer at offset 7 gives the number of fragmented free bytes within the cell content area. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-07178-42569-23822-25165-44123-64804-39149-01193

  The first time the database is read in EXCLUSIVE mode, a shared lock is obtained and held. (source: pragma.html, checked-by: th3/req1/pragma04.test, matrix: context, detail)

R-07218-15811-34586-61584-11375-61122-40476-23928

  The "sqlite_autoindex_TABLE_N" name is never allocated for an INTEGER PRIMARY KEY, either in rowid tables or WITHOUT ROWID tables. (source: fileformat2.html, matrix: context, detail)

R-07223-48323-28604-04641-30689-62184-47326-29698

  A nested savepoint transaction may be RELEASEd while the database is in a state that does not satisfy a deferred foreign key constraint. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys15.test, matrix: context, detail)

R-07232-03261-48010-41283-49496-35316-10713-33982

  The sqlite_schema.rootpage column stores the page number of the root b-tree page for tables and indexes. (source: fileformat2.html, matrix: context, detail)

R-07264-50488-37885-59359-19150-24539-64601-15119

  If the INTO clause is included, then the original database file is unchanged and a new database is created in the filename given by the argument to the INTO clause. (source: lang_vacuum.html, matrix: context, detail)

R-07272-22309-27541-26278-30152-44282-17867-64207

  The default behavior is for mutexes to be enabled. (source: c3ref/threadsafe.html, checked-by: src/sqliteInt.h, matrix: context, detail)

R-07280-60510-42023-64617-40990-52816-04160-12840

  Assuming the library is compiled with foreign key constraints enabled, it must still be enabled by the application at runtime, using the PRAGMA foreign_keys command. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys04.test, matrix: context, detail)

R-07284-35990-05139-00747-51073-38324-35711-49391

  If the SELECT statement is an aggregate query with a GROUP BY clause, then each of the expressions specified as part of the GROUP BY clause is evaluated for each row of the dataset. Each row is then assigned to a "group" based on the results; rows for which the results of evaluating the GROUP BY expressions are the same get assigned to the same group. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-07291-35328-43800-36980-63575-06657-13005-40237

  A value of 5 (0x05) means the page is an interior table b-tree page. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-07327-11967-60382-46381-13455-42235-00328-15671

  The expression "CAST(4.0 AS INT)" returns an integer 4, whereas "CAST(4.0 AS NUMERIC)" leaves the value as a floating-point 4.0. (source: datatype3.html, matrix: context, detail)

R-07343-35026-05102-53943-15495-27224-50604-38447

  An explicit DEFAULT clause may specify that the default value is NULL, a string constant, a blob constant, a signed-number, or any constant expression enclosed in parentheses. A default value may also be one of the special case-independent keywords CURRENT_TIME, CURRENT_DATE or CURRENT_TIMESTAMP. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-07358-23974-16513-21105-25104-49768-42018-55781

  The hard_heap_limit pragma always returns the same integer that would be returned by the sqlite3_hard_heap_limit64(-1) C-language function. (source: pragma.html, matrix: context, detail)

R-07373-26855-08191-07958-60277-35412-28383-64233

  The SQLITE_FCNTL_VFSNAME opcode can be used to obtain the names of all VFSes in the VFS stack. (source: c3ref/c_fcntl_begin_atomic_write.html, matrix: context, detail)

R-07387-29430-25270-46585-59144-29340-25578-53451

  The three special identifiers describe the unique integer key (the rowid) associated with every row of every table and so are not available on WITHOUT ROWID tables. (source: lang_expr.html, checked-by: th3/req1/expr02.test, matrix: context, detail)

R-07391-62365-50484-20583-23156-31411-22306-43291

  If the result is NULL, then sqlite3_column_bytes() returns zero. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, matrix: context, detail)

R-07434-39946-64395-56249-16923-20954-34684-05720

  The RELEASE command is like a COMMIT for a SAVEPOINT. (source: lang_savepoint.html, matrix: context, detail)

R-07443-03104-25430-52440-15603-28211-53431-58552

  Shared cache is disabled by default. (source: c3ref/enable_shared_cache.html, matrix: context, detail)

R-07444-33850-51822-16540-61383-01460-32210-48440

  Whitespace and comments that follow the final semicolon are ignored. (source: c3ref/complete.html, checked-by: th3/cov1/complete01.test, matrix: context, detail)

R-07454-30568-63832-24254-44508-63507-10248-49928

  If a schema name is given as the argument, then all tables and indices in that one database are analyzed. (source: lang_analyze.html, checked-by: th3/req1/analyze01.test, matrix: context, detail)

R-07474-04783-61557-15842-18544-20982-63471-50658

  Transaction control statements such as BEGIN, COMMIT, ROLLBACK, SAVEPOINT, and RELEASE cause sqlite3_stmt_readonly() to return true, since the statements themselves do not actually modify the database but rather they control the timing of when other statements modify the database. (source: c3ref/stmt_readonly.html, checked-by: th3/cov1/vdbeapi14.test, matrix: context, detail)

R-07490-32536-65444-08514-64358-21801-57919-13418

  If the specified view cannot be found and an IF EXISTS clause is present in the DROP VIEW statement, then the statement is a no-op. (source: lang_dropview.html, checked-by: tcl/e_dropview.test, th3/cov1/build13.test, matrix: context, detail)

R-07535-34995-01447-54565-38524-09572-39500-26944

  The result of avg() is always a floating point value as long as at there is at least one non-NULL input even if all inputs are integers. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-07548-06087-12762-53515-32578-33672-61878-36013

  These routines return the name assigned to a particular column in the result set of a SELECT statement. (source: c3ref/column_name.html, matrix: context, detail)

R-07548-13422-51816-60728-36638-61915-61462-20502

  The ORDER BY clause on a DELETE statement is used only to determine which rows fall within the LIMIT. The order in which rows are deleted is arbitrary and is not influenced by the ORDER BY clause. (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-07634-40532-31370-54179-45276-35620-20661-11259

  The cache_spill pragma enables or disables the ability of the pager to spill dirty cache pages to the database file in the middle of a transaction. (source: pragma.html, checked-by: tcl/pragma2.test, matrix: context, detail)

R-07667-49537-57124-54989-59227-41131-33160-03537

  The result of the CASE expression is the evaluation of the THEN expression that corresponds to the first WHEN expression for which the comparison is true. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-07677-41881-40135-26272-16926-18163-28954-03069

  If the largest ROWID is equal to the largest possible integer (9223372036854775807) then the database engine starts picking positive candidate ROWIDs at random until it finds one that is not previously used. (source: autoinc.html, checked-by: src/vdbe.c, th3/cov1/vdbe23.test, th3/req1/autoinc01.test, matrix: context, detail)

R-07677-44926-50918-49822-13370-30168-54851-13094

  The format for CURRENT_TIMESTAMP is "YYYY-MM-DD HH:MM:SS". (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-07686-30751-51285-58561-12727-05752-40900-44621

  Hence, the content encoding for a WITHOUT ROWID table is the same as the content encoding for an ordinary rowid table, except that the order of the columns is rearranged so that PRIMARY KEY columns come first, and the content is used as the key in an index b-tree rather than as the data in a table b-tree. (source: fileformat2.html, matrix: context, detail)

R-07727-56631-19058-51033-37798-11219-19213-34496

  Instead of cancelling the transaction, the ROLLBACK TO command restarts the transaction again at the beginning. (source: lang_savepoint.html, matrix: context, detail)

R-07734-01023-35400-33877-62605-53392-63637-26399

  The result of total() is always a floating point value. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-07782-53619-37361-40296-27943-36501-08866-63723

  To be usable by an index a term must be of one of the following forms: column = expression column IS expression column > expression column >= expression column < expression column <= expression expression = column expression > column expression >= column expression < column expression <= column column IN (expression-list) column IN (subquery) column IS NULL (source: optoverview.html, matrix: context, detail)

R-07796-55423-52523-43504-40552-37000-09933-05670

  Returns the size in bytes of the BLOB accessible via the successfully opened BLOB handle in its only argument. (source: c3ref/blob_bytes.html, checked-by: tcl/e_blobbytes.test, th3/cov1/vdbeblob01.test, matrix: context, detail)

R-07801-24468-36344-27295-15963-50909-61997-55720

  SQLITE_LIMIT_COMPOUND_SELECT The maximum number of terms in a compound SELECT statement. (source: c3ref/c_limit_attached.html, checked-by: th3/req1/limit02.test, matrix: context, detail)

R-07848-59274-08583-36446-01674-55219-01938-38331

  The requested measurement is written into a variable pointed to by the "pOut" parameter. (source: c3ref/stmt_scanstatus.html, checked-by: th3/cov1/status02.test, matrix: context, detail)

R-07865-58192-09859-42993-29277-46278-59857-06081

  The 4-byte big-endian integer at offset 92 is the value of the change counter when the version number was stored. (source: fileformat2.html, matrix: context, detail)

R-07866-07572-04759-27245-06319-59551-46387-52672

  The temp_store_directory pragma may modify this variable and cause it to point to memory obtained from sqlite3_malloc. (source: c3ref/temp_directory.html, matrix: context, detail)

R-07896-01909-17755-58747-61497-14681-53331-52466

  Mutexes created using SQLITE_MUTEX_RECURSIVE can be entered multiple times by the same thread. In such cases, the mutex must be exited an equal number of times before another thread can enter. (source: c3ref/mutex_alloc.html, matrix: context, detail)

R-07963-00293-13635-32107-53901-52250-25105-19603

  A function implementation with a non-negative nArg parameter is a better match than a function implementation with a negative nArg. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc04.test, matrix: context, detail)

R-07986-46024-43778-44003-14770-46888-01136-33565

  If an INSERT statement attempts to insert a NULL value into a rowid or integer primary key column, the system chooses an integer value to use as the rowid automatically. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-07987-54086-28782-61595-63457-13975-41237-46869

  If the result is a UTF-16 string, then sqlite3_column_bytes() converts the string to UTF-8 and then returns the number of bytes. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, matrix: context, detail)

R-08013-37737-04179-14029-08100-20980-22992-19882

  The application can also use a PRAGMA foreign_keys statement to determine if foreign keys are currently enabled. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys04.test, matrix: context, detail)

R-08023-12605-32642-43845-16740-17726-48491-51878

  The sqlite3_compileoption_get() function allows iterating over the list of options that were defined at compile time by returning the N-th compile time option string. (source: c3ref/compileoption_get.html, checked-by: th3/cov1/ctime01.test, matrix: context, detail)

R-08041-13327-32920-22476-39167-57805-60221-02084

  Any operators applied to column names, including the no-op unary "+" operator, convert the column name into an expression which always has no affinity. Hence even if X and Y.Z are column names, the expressions +X and +Y.Z are not column names and have no affinity. (source: datatype3.html, checked-by: th3/req1/datatype3_05.test, matrix: context, detail)

R-08054-15429-02256-10004-55638-18867-37025-44792

  The min/max-value pair columns are stored as 32-bit floating point values for "rtree" virtual tables or as 32-bit signed integers in "rtree_i32" virtual tables. (source: rtree.html, matrix: context, detail)

R-08114-32142-00732-64514-48561-20765-18490-60884

  SQLite takes the text result from the application from the 2nd parameter of the sqlite3_result_text* interfaces. (source: c3ref/result_blob.html, checked-by: th3/req1/result02.test, matrix: context, detail)

R-08137-02757-06056-54602-11771-11326-16926-36130

  The eTextRep argument determines the encoding of strings passed to the collating function callback, xCompare. (source: c3ref/create_collation.html, checked-by: th3/req1/createcoll01.test, matrix: context, detail)

R-08161-44559-11294-25208-33337-24402-63584-35626

  The xShutdown() method is called by sqlite3_shutdown(). (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-08181-17347-07123-49289-35480-05775-37202-24874

  The first form (without an argument) queries the current limit. (source: pragma.html, matrix: context, detail)

R-08185-34281-12728-08403-04938-30337-50100-31193

  The sqlite3_result_blob() interface sets the result from an application-defined function to be the BLOB whose content is pointed to by the second parameter and which is N bytes long where N is the third parameter. (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-08195-21952-34144-42523-58914-33404-63629-47185

  This function is used to read data from an open BLOB handle into a caller-supplied buffer. N bytes of data are copied into buffer Z from the open BLOB, starting at offset iOffset. (source: c3ref/blob_read.html, checked-by: th3/cov1/vdbeblob01.test, matrix: context, detail)

R-08198-48522-54017-24058-29188-47107-45936-39213

  The TRUNCATE journaling mode commits transactions by truncating the rollback journal to zero-length instead of deleting it. (source: pragma.html, checked-by: th3/req1/pragma24.test, matrix: context, detail)

R-08220-00712-08202-21182-26079-26258-28714-22258

  The sqlite3_malloc() routine returns a pointer to a block of memory at least N bytes in length, where N is the parameter. (source: c3ref/free.html, checked-by: th3/req1/malloc02.test, matrix: context, detail)

R-08224-30249-18275-36906-02216-43610-40508-55733

  Rows are assigned contiguously ascending rowid values, starting with 1, in the order that they are returned by the SELECT statement. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-08267-32299-63841-11105-16971-59372-17886-11855

  If Z is omitted then substr(X,Y) returns all characters through the end of the string X beginning with the Y-th. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, matrix: context, detail)

R-08308-17224-38959-45804-35149-08611-40097-56535

  The default collating function for all strings is BINARY. (source: fileformat2.html, checked-by: src/callback.c, th3/req1/fileformat05.test, matrix: context, detail)

R-08348-34672-30710-39534-43438-18204-53248-46501

  If the database is opened (and/or created) successfully, then SQLITE_OK is returned. Otherwise an error code is returned. (source: c3ref/open.html, matrix: context, detail)

R-08382-59936-33976-47324-12447-38582-10569-47799

  Writes to the BLOB that occurred before the BLOB handle expired are not rolled back by the expiration of the handle, though of course those changes might have been overwritten by the statement that expired the BLOB handle or by other independent statements. (source: c3ref/blob_write.html, checked-by: tcl/e_blobwrite.test, matrix: context, detail)

R-08469-46782-59132-04592-41153-65090-64039-23228

  PRAGMA collation_list; Return a list of the collating sequences defined for the current database connection. (source: pragma.html, checked-by: th3/req1/pragma13.test, matrix: context, detail)

R-08470-40933-39231-45429-29526-36251-38185-62772

  The ANALYZE command gathers statistics about tables and indices and stores the collected information in internal tables of the database where the query optimizer can access the information and use it to help make better query planning choices. (source: lang_analyze.html, checked-by: th3/req1/analyze01.test, matrix: context, detail)

R-08531-36543-43368-50490-58607-10151-50307-46292

  A compound SELECT created using UNION ALL operator returns all the rows from the SELECT to the left of the UNION ALL operator, and all the rows from the SELECT to the right of it. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-08551-61977-00536-43869-21824-42581-53338-42827

  A value with storage class NULL is considered less than any other value (including another value with storage class NULL). (source: datatype3.html, checked-by: th3/req1/datatype3_04.test, matrix: context, detail)

R-08570-19916-06094-14315-21140-23229-64814-49543

  However, when not in write-ahead log mode, the page_size and/or auto_vacuum properties of an existing database may be changed by using the page_size and/or pragma auto_vacuum pragmas and then immediately VACUUMing the database. (source: lang_vacuum.html, checked-by: tcl/e_vacuum.test, matrix: context, detail)

R-08600-21007-59699-24141-37945-25671-33905-23052

  If parameter Y is present then it is used as the separator between instances of X. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-08669-22397-26856-32296-22372-63471-24126-56225

  The number of columns in the rows returned by a simple SELECT statement is equal to the number of expressions in the result expression list after substitution of * and alias.* expressions. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-08680-42661-24971-27030-06181-52917-24320-47746

  The second column is the number of modified pages that have been written to the write-ahead log file. (source: pragma.html, matrix: context, detail)

R-08681-56652-45784-02729-28742-19539-49862-48727

  If any prior errors have occurred while constructing the dynamic string in sqlite3_str X, then the sqlite3_str_errcode(X) method will return an appropriate error code. (source: c3ref/str_errcode.html, matrix: context, detail)

R-08698-00464-45876-62927-50774-10665-22959-52892

  In the second form, if the database name is omitted, the limit that is set becomes the default limit for all databases that are added to the database connection by subsequent ATTACH statements. (source: pragma.html, matrix: context, detail)

R-08702-09805-37818-25319-39065-12548-64378-42477

  The sqlite3_commit_hook() interface registers a callback function to be invoked whenever a transaction is committed. (source: c3ref/commit_hook.html, matrix: context, detail)

R-08782-34587-24709-60747-46157-12897-42098-02206

  sqlite3_release_memory() returns the number of bytes actually freed, which might be more or less than the amount requested. (source: c3ref/release_memory.html, checked-by: th3/req1/releasemem01.test, matrix: context, detail)

R-08804-63175-03781-61718-64946-14312-06461-12465

  Corresponding rows in the index and table b-trees share the same rowid or primary key values and contain the same value for all indexed columns. (source: fileformat2.html, matrix: context, detail)

R-08861-34280-62866-63452-63262-62491-16025-47018

  If the simple SELECT is a SELECT ALL, then the entire set of result rows are returned by the SELECT. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-08903-51590-18062-24037-51123-18798-32019-19886

  The sqlite3_backup_pagecount() routine returns the total number of pages in the source database at the conclusion of the most recent sqlite3_backup_step(). (source: c3ref/backup_finish.html, matrix: context, detail)

R-08904-24719-11346-47287-22123-01310-57737-05262

  Sum() will throw an "integer overflow" exception if all inputs are integers or NULL and an integer overflow occurs at any point during the computation. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-08908-23439-37383-27763-09062-14229-58252-49666

  A CREATE TABLE command operates the same whether or not foreign key constraints are enabled. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys21.test, matrix: context, detail)

R-08916-58393-39719-51162-04738-33368-03102-45258

  This interface disables all automatic extensions previously registered using sqlite3_auto_extension(). (source: c3ref/reset_auto_extension.html, checked-by: th3/req1/autoext01.test, matrix: context, detail)

R-08940-21305-30374-23280-00035-42277-55348-10248

  Unless it returns SQLITE_MISUSE, this function sets the database connection error code and message accessible via sqlite3_errcode() and sqlite3_errmsg() and related functions. (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, matrix: context, detail)

R-08951-19801-08417-23581-55505-30558-59834-07757

  When searching database schemas for a named object, objects of types that cannot be used in the context of the reference are always ignored. (source: lang_naming.html, checked-by: tcl/e_resolve.test, matrix: context, detail)

R-08966-11138-53751-32192-40537-45377-40964-32570

  The SQLITE_CONFIG_HEAP option specifies a static memory buffer that SQLite will use for all of its dynamic memory allocation needs beyond those provided for by SQLITE_CONFIG_PAGECACHE. (source: c3ref/c_config_covering_index_scan.html, checked-by: th3/th3main.c, matrix: context, detail)

R-08980-53124-31180-17843-61277-57445-45439-15186

  The CAST operator understands decimal integers only — conversion of hexadecimal integers stops at the "x" in the "0x" prefix of the hexadecimal integer string and thus result of the CAST is always zero. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-09005-28791-60027-45340-35703-17892-19441-18649

  Replacing the phrase above with any of the following creates an immediate foreign key constraint. NOT DEFERRABLE INITIALLY DEFERRED -- An immediate foreign key constraint NOT DEFERRABLE INITIALLY IMMEDIATE -- An immediate foreign key constraint NOT DEFERRABLE -- An immediate foreign key constraint DEFERRABLE INITIALLY IMMEDIATE -- An immediate foreign key constraint DEFERRABLE -- An immediate foreign key constraint (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys12.test, matrix: context, detail)

R-09033-01493-08484-25490-18731-61378-37357-02599

  As of SQLite version 3.6.19, the default setting for foreign key enforcement is OFF. (source: pragma.html, checked-by: th3/req1/pragma18.test, th3/req1/pragma19.test, matrix: context, detail)

R-09068-40660-27195-07118-53993-03715-03215-45426

  A return of SQLITE_BUSY or SQLITE_LOCKED from sqlite3_backup_step() is not a permanent error and does not affect the return value of sqlite3_backup_finish(). (source: c3ref/backup_finish.html, matrix: context, detail)

R-09155-31313-04558-40761-11557-49623-19488-24497

  TRUNCATE This mode works the same way as RESTART with the addition that the WAL file is truncated to zero bytes upon successful completion. (source: pragma.html, checked-by: th3/req1/checkpoint01.test, matrix: context, detail)

R-09205-13964-09517-20139-64262-42567-60907-13459

  That is to say, it always returns the value of the hard heap limit that is set after any changes imposed by this PRAGMA. (source: pragma.html, matrix: context, detail)

R-09224-24423-49994-35052-44782-07327-29162-57753

  Call the sqlite3_enable_load_extension() routine with onoff==1 to turn extension loading on and call it with onoff==0 to turn it back off again. (source: c3ref/enable_load_extension.html, matrix: context, detail)

R-09247-46544-65339-05337-14094-58644-44779-17885

  The immutable parameter is a boolean query parameter that indicates that the database file is stored on read-only media. (source: c3ref/open.html, checked-by: th3/cov1/nolock01.test, matrix: context, detail)

R-09261-46339-25709-54309-20729-08593-14367-03558

  If Y is omitted then the default entry point name is used. (source: lang_corefunc.html, checked-by: th3/cov1/func03.test, matrix: context, detail)

R-09310-54000-20676-45974-44442-40354-59533-62372

  For the GLOB operator, the column must be indexed using the built-in BINARY collating sequence. (source: optoverview.html, matrix: context, detail)

R-09323-30470-62004-36090-30809-61331-17692-32313

  If a statement modifies the contents of the database so that an immediate foreign key constraint is in violation at the conclusion the statement, an exception is thrown and the effects of the statement are reverted. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys12.test, matrix: context, detail)

R-09328-38790-35467-08457-46231-05327-56817-51584

  SQLite keeps track of the largest ROWID using an internal table named "sqlite_sequence". (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-09347-53396-09377-17353-50136-41410-13881-29341

  The MATCH operator of a custom R*Tree query function must be a top-level AND-connected term of the WHERE clause, or else it will not be usable by the R*Tree query optimizer and the query will not be runnable. (source: rtree.html, checked-by: th3/cov1/rtree04.test, matrix: context, detail)

R-09385-24237-02595-13081-61892-09820-41014-64589

  Finally, the database is flushed to persistent storage using another xSync method call. (source: fileformat2.html, matrix: context, detail)

R-09398-26102-26496-59828-02242-35200-16935-00376

  Otherwise, if the ORDER BY expression is an alias to an expression that has been assigned a collation sequence using the postfix COLLATE operator, then the collation sequence assigned to the aliased expression is used. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-09479-17959-18929-07004-59700-09241-00688-08802

  Indirect deadlock is also detected, so the system is also considered to be deadlocked if connection B has registered for an unlock-notify callback on the conclusion of connection C's transaction, where connection C is waiting on connection A. (source: c3ref/unlock_notify.html, matrix: context, detail)

R-09543-06473-23021-32220-32793-21583-15245-47596

  A NULL pointer can be used in place of "main" to refer to the main database file. (source: c3ref/file_control.html, matrix: context, detail)

R-09560-44343-01686-39358-51071-41020-34735-39538

  For the purposes of this pragma, the VACUUM command is considered a schema change, since VACUUM will usual alter the "rootpage" values for entries in the sqlite_schema table. (source: pragma.html, checked-by: th3/req1/pragma28.test, matrix: context, detail)

R-09564-22170-27375-05763-54488-45369-57253-27733

  Whenever a row in the parent table of a foreign key constraint is deleted, or when the values stored in the parent key column or columns are modified, the logical sequence of events is: Execute applicable BEFORE trigger programs, Check local (non foreign key) constraints, Update or delete the row in the parent table, Perform any required foreign key actions, Execute applicable AFTER trigger programs. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys19.test, matrix: context, detail)

R-09593-03321-24060-42412-44512-07305-25128-61318

  BLOB literals are string literals containing hexadecimal data and preceded by a single "x" or "X" character. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-09669-59284-18904-57253-21475-23488-47064-03765

  Text values (odd serial types 13 and larger) sort after numeric values in the order determined by the columns collating function. (source: fileformat2.html, checked-by: th3/req1/fileformat05.test, matrix: context, detail)

R-09681-58560-10305-15727-00297-35868-05335-61175

  The table-name specified as part of a DELETE statement within a trigger body must be unqualified. (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-09702-18252-10292-02056-28728-37972-55531-64507

  Thus INSERT OR FAIL, INSERT OR IGNORE, INSERT OR ROLLBACK, and INSERT OR ABORT make no changes to the return value of this routine when their insertion fails. (source: c3ref/last_insert_rowid.html, matrix: context, detail)

R-09704-29281-62509-09033-18405-10464-02206-26533

  The sqlite3_exec() interface runs zero or more UTF-8 encoded, semicolon-separate SQL statements passed into its 2nd argument, in the context of the database connection passed in as its 1st argument. (source: c3ref/exec.html, checked-by: th3/req1/exec01.test, matrix: context, detail)

R-09708-05727-57247-34421-62723-03461-49404-45269

  PRAGMA schema.table_info(table-name); This pragma returns one row for each column in the named table. (source: pragma.html, checked-by: th3/req1/pragma15.test, matrix: context, detail)

R-09711-30533-26237-33578-24208-22217-47498-41477

  PRAGMA module_list; This pragma returns a list of virtual table modules registered with the database connection. (source: pragma.html, matrix: context, detail)

R-09748-03241-62835-60245-32173-07711-55769-04429

  This flag determines whether or not the F_FULLFSYNC syncing method is used on systems that support it. (source: pragma.html, checked-by: th3/req1/pragma11b.test, matrix: context, detail)

R-09773-34266-19272-64425-39680-64969-31410-22959

  The name of the column being indexed. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15.test, matrix: context, detail)

R-09773-40602-32968-36782-04559-37578-19507-63398

  Or if no collating sequence is otherwise defined, the built-in BINARY collating sequence is used. (source: lang_createindex.html, checked-by: th3/req1/createidx01.test, matrix: context, detail)

R-09782-32948-24767-08594-36498-62288-40921-54378

  If the discard parameter is zero, then the page may be discarded or retained at the discretion of page cache implementation. (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-09783-65036-25423-48067-42538-45414-00279-46435

  If the sub-query is a compound select, then all terms of the ORDER by clause of the parent must be simple references to columns of the sub-query. (source: optoverview.html, matrix: context, detail)

R-09798-06276-54780-63214-14309-15802-32530-00850

  As long as the buffer size is greater than zero, sqlite3_snprintf() guarantees that the buffer is always zero-terminated. (source: c3ref/mprintf.html, checked-by: th3/req1/malloc01.test, matrix: context, detail)

R-09808-17554-50654-05359-25920-63839-21736-07612

  SQLITE_LIMIT_SQL_LENGTH The maximum length of an SQL statement, in bytes. (source: c3ref/c_limit_attached.html, checked-by: tcl/sqllimits1.test, th3/req1/limit02.test, matrix: context, detail)

R-09813-17279-59166-04895-48075-17845-31813-35638

  Also, GLOB is case sensitive, unlike LIKE. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-09813-48563-02406-35251-52837-06025-02382-52921

  The value returned by sqlite3_changes() immediately after an INSERT, UPDATE or DELETE statement run on a view is always zero. (source: c3ref/changes.html, checked-by: tcl/e_changes.test, matrix: context, detail)

R-09849-00220-60139-37223-30218-05088-34235-14106

  A negative value for the zeroblob results in a zero-length BLOB. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-09866-00585-18081-22279-50210-42819-02133-03966

  sqlite> EXPLAIN QUERY PLAN SELECT t1.*, t2.* FROM t2, t1 WHERE t1.a=1 AND t1.b>2; QUERY PLAN |--SEARCH TABLE t1 USING INDEX i2 (a=? AND b>?) `--SCAN TABLE t2 (source: eqp.html, matrix: context, detail)

R-09904-19077-60402-31152-09250-23294-22236-64637

  The aParam[] array (size nParam) contains the parameter values passed to the SQL function on the right-hand side of the MATCH operator. (source: rtree.html, matrix: context, detail)

R-09933-20910-17434-57069-20423-40847-01443-50853

  SQLite will invoke the destructor D with a single argument of P when it is finished using P. (source: c3ref/bind_blob.html, checked-by: th3/cov1/bindptr01.test, matrix: context, detail)

R-09943-43999-40050-60099-27352-31262-44628-15476

  An attempt to ATTACH a database with a different text encoding from the "main" database will fail. (source: pragma.html, checked-by: th3/req1/pragma16.test, matrix: context, detail)

R-10014-60729-41170-51262-01387-53486-13666-35080

  If X is the name of a rollback or WAL-mode journal file that is passed into the xOpen method of sqlite3_vfs, then sqlite3_database_file_object(X) returns a pointer to the sqlite3_file object that represents the main database file. (source: c3ref/database_file_object.html, matrix: context, detail)

R-10042-17899-51824-29189-33430-37310-31146-42510

  If one operand has INTEGER, REAL or NUMERIC affinity and the other operand has TEXT or BLOB or no affinity then NUMERIC affinity is applied to other operand. (source: datatype3.html, checked-by: th3/cov1/affinity01.test, th3/req1/datatype3_05.test, matrix: context, detail)

R-10099-10064-58361-57180-39744-05216-32972-43593

  The histogram data is only useful if the right-hand side of the constraint is a simple compile-time constant or parameter and not an expression. (source: optoverview.html, matrix: context, detail)

R-10109-20452-53276-41872-63667-11760-57644-25670

  If SQLITE_OMIT_TRIGGER is defined but SQLITE_OMIT_FOREIGN_KEY is not, then SQLite behaves as it did prior to version 3.6.19 (2009-10-14) - foreign key definitions are parsed and may be queried using PRAGMA foreign_key_list, but foreign key constraints are not enforced. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys05.test, matrix: context, detail)

R-10119-21526-34528-05557-36941-47440-26835-18777

  Following a successful SQLITE_FCNTL_BEGIN_ATOMIC_WRITE and prior to the closing SQLITE_FCNTL_COMMIT_ATOMIC_WRITE or SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE, SQLite will make no VFS interface calls on the same sqlite3_file file descriptor except for calls to the xWrite method and the xFileControl method with SQLITE_FCNTL_SIZE_HINT. (source: c3ref/c_fcntl_begin_atomic_write.html, matrix: context, detail)

R-10190-16965-26709-52634-48294-10827-43315-62793

  The sqlite_stat3.nDLt column holds the approximate number of distinct left-most entries in the index that are less than the sample. (source: fileformat2.html, matrix: context, detail)

R-10203-42688-05745-20246-57567-01031-33670-42087

  The callback registered by this function replaces any existing callback registered using sqlite3_wal_hook(). (source: c3ref/wal_autocheckpoint.html, checked-by: tcl/e_walauto.test, matrix: context, detail)

R-10260-62465-16896-41827-00033-64414-58979-23233

  PRAGMA reverse_unordered_selects; PRAGMA reverse_unordered_selects = boolean; (source: pragma.html, checked-by: th3/req1/pragma27.test, matrix: context, detail)

R-10284-11658-30925-56941-44506-24940-01613-45379

  The depth of recursion for triggers has a hard upper limit set by the SQLITE_MAX_TRIGGER_DEPTH compile-time option and a run-time limit set by sqlite3_limit(db,SQLITE_LIMIT_TRIGGER_DEPTH,...). (source: pragma.html, matrix: context, detail)

R-10346-40046-35521-21776-43630-65428-20399-28702

  The CREATE TRIGGER statement is used to add triggers to the database schema. (source: lang_createtrigger.html, matrix: context, detail)

R-10379-15557-17362-29530-27887-61401-49779-43037

  For the static mutex types, the same mutex is returned on every call that has the same type number. (source: c3ref/mutex_alloc.html, matrix: context, detail)

R-10382-19306-57880-35714-22073-14679-32627-12019

  The fourth parameter may optionally be ORed with SQLITE_DETERMINISTIC to signal that the function will always return the same result given the same inputs within a single SQL statement. (source: c3ref/create_function.html, checked-by: th3/cov1/func11.test, matrix: context, detail)

R-10393-27560-44275-02566-07675-36741-21342-01930

  Affinity is applied to operands of a comparison operator prior to the comparison according to the following rules in the order shown: (source: datatype3.html, checked-by: th3/req1/datatype3_05.test, matrix: context, detail)

R-10396-30188-46343-25997-25410-36538-31299-06809

  Aggregate min() returns NULL if and only if there are no non-NULL values in the group. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-10421-19736-31829-13989-20506-40409-64205-24100

  If any other process is running a checkpoint operation at the same time, the lock cannot be obtained and SQLITE_BUSY is returned. (source: c3ref/wal_checkpoint_v2.html, checked-by: src/wal.c, tcl/e_walckpt.test, matrix: context, detail)

R-10466-53920-46827-22051-27556-17000-33700-37865

  Calling sqlite3_wal_hook() replaces any previously registered write-ahead log callback. (source: c3ref/wal_hook.html, checked-by: tcl/e_walhook.test, matrix: context, detail)

R-10470-30318-56877-28142-06718-49670-04430-59485

  The usual rules for selecting a collation sequence with which to compare text values apply when evaluating expressions in a GROUP BY clause. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-10477-59572-35916-33197-44074-53826-19513-26308

  Note that unlike that plain ROLLBACK command (without the TO keyword) the ROLLBACK TO command does not cancel the transaction. (source: lang_savepoint.html, matrix: context, detail)

R-10484-47921-51855-29245-64644-01052-63397-23881

  Views are removed with the DROP VIEW command. (source: lang_createview.html, checked-by: th3/req1/view01.test, matrix: context, detail)

R-10514-25250-42695-33540-35883-31325-38548-55570

  If pnCkpt is not NULL,then *pnCkpt is set to the total number of checkpointed frames in the log file (including any that were already checkpointed before the function was called) or to -1 if the checkpoint could not run due to an error or because the database is not in WAL mode. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, matrix: context, detail)

R-10543-26736-58011-26768-22566-64168-18081-13550

  This API makes sure a global version of a function with a particular name and number of parameters exists. If no such function exists before this API is called, a new function is created. (source: c3ref/overload_function.html, matrix: context, detail)

R-10546-57588-48216-07313-35751-26470-62407-13922

  When RAISE(IGNORE) is called, the remainder of the current trigger program, the statement that caused the trigger program to execute and any subsequent trigger programs that would have been executed are abandoned. (source: lang_createtrigger.html, matrix: context, detail)

R-10565-09557-60911-42161-01648-20022-48231-49571

  The declared type of a column is used to determine the affinity of the column only. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-10596-27541-11253-59899-09809-63621-63871-56727

  The highwater mark associated with SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0. (source: c3ref/c_dbstatus_options.html, matrix: context, detail)

R-10606-56585-07684-37439-38314-01521-03990-40264

  If the sub-query is a compound SELECT, then all compound operators must be UNION ALL, and no terms with the subquery compound may be aggregate or DISTINCT, and every term within the subquery must have a FROM clause, and the outer query may not be an aggregate, DISTINCT query, or join. (source: optoverview.html, matrix: context, detail)

R-10645-12439-29307-46302-11314-15082-25631-53469

  In particular, rows containing NULL values are not handled any differently from rows without NULL values. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-10703-10791-45515-33019-47657-62064-49123-04083

  PRAGMA writable_schema = boolean; When this pragma is on, and the SQLITE_DBCONFIG_DEFENSIVE flag is off, then the sqlite_schema table can be changed using ordinary UPDATE, INSERT, and DELETE statements. (source: pragma.html, checked-by: th3/req1/pragma30.test, matrix: context, detail)

R-10715-11594-42361-64533-62693-34754-22491-52002

  The round(X,Y) function returns a floating-point value X rounded to Y digits to the right of the decimal point. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, matrix: context, detail)

R-10722-45310-03105-41587-65268-38930-36590-56175

  All intervening SAVEPOINTs are canceled, however. (source: lang_savepoint.html, matrix: context, detail)

R-10734-24248-12820-36089-32208-53594-64364-42192

  In other words, if many of the queries run against the FTS4 table use "ORDER BY docid DESC", then it may improve performance to add the "order=desc" option to the CREATE VIRTUAL TABLE statement. (source: fts3.html, matrix: context, detail)

R-10777-25114-28148-35067-60781-11341-59885-20930

  Both the first and second forms of the pragma listed above return a single result row containing a single integer column - the value of the journal size limit in bytes. (source: pragma.html, checked-by: th3/req1/pragma26.test, matrix: context, detail)

R-10815-21922-06260-57655-10656-49970-23058-15520

  When faced with the choice of using an index to satisfy WHERE clause constraints or satisfying an ORDER BY clause, SQLite does the same cost analysis described above and chooses the index that it believes will result in the fastest answer. (source: optoverview.html, matrix: context, detail)

R-10827-60271-29957-56948-24015-30184-30486-05573

  If the journal mode could not be changed, the original journal mode is returned. (source: pragma.html, checked-by: th3/req1/pragma23.test, matrix: context, detail)

R-10836-27632-25173-23493-20321-61178-46712-15199

  The sqlite3_value_dup(V) interface makes a copy of the sqlite3_value object D and returns a pointer to that copy. (source: c3ref/value_dup.html, matrix: context, detail)

R-10872-35808-62525-46404-48063-22154-06728-34056

  Transactions involving multiple attached databases are atomic, assuming that the main database is not ":memory:" and the journal_mode is not WAL. (source: lang_attach.html, checked-by: th3/req1/attach02.test, th3/stress/crash002.test, th3/stress/crash003.test, matrix: context, detail)

R-10883-17697-39247-15529-29929-13310-12082-24783

  For the purposes of sorting rows, values are compared in the same way as for comparison expressions. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-10886-33090-42835-40467-38387-59487-39282-25653

  When a connection (known as the blocked connection) fails to obtain a shared-cache lock and SQLITE_LOCKED is returned to the caller, the identity of the database connection (the blocking connection) that has locked the required resource is stored internally. (source: c3ref/unlock_notify.html, matrix: context, detail)

R-10893-13770-29008-51080-40727-44407-18243-57719

  On success, sqlite3_blob_read() returns SQLITE_OK. Otherwise, an error code or an extended error code is returned. (source: c3ref/blob_read.html, checked-by: th3/cov1/vdbeblob01.test, matrix: context, detail)

R-10900-57544-37938-07934-32518-44927-61812-27434

  The rollback journal file can be deleted (source: fileformat2.html, matrix: context, detail)

R-10927-26133-64625-21951-56674-25631-48081-51767

  The ORDER BY clause on an UPDATE statement is used only to determine which rows fall within the LIMIT. The order in which rows are modified is arbitrary and is not influenced by the ORDER BY clause. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-10933-37470-14937-54231-03343-64899-21190-46936

  The index for "?NNN" parameters is the value of NNN. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-10948-48115-30420-45129-26938-33308-29061-07454

  The ADD COLUMN syntax is used to add a new column to an existing table. (source: lang_altertable.html, checked-by: th3/req1/altertable01.test, matrix: context, detail)

R-10964-23144-03179-07180-41128-15464-48410-22347

  If the source database is modified by the using the same database connection as is used by the backup operation, then the backup database is automatically updated at the same time. (source: c3ref/backup_finish.html, matrix: context, detail)

R-10993-11647-55800-55293-06436-13332-42842-10882

  It is only when the shared-memory wal-index is omitted, when the locking mode is EXCLUSIVE prior to the first WAL-mode database access, that the locking mode is stuck in EXCLUSIVE. (source: wal.html, checked-by: tcl/e_wal.test, th3/req1/pragma05.test, matrix: context, detail)

R-11041-58701-63446-54854-64444-07239-52476-54830

  In a database that uses ptrmap pages, all pages at locations identified by the computation in the previous paragraph must be ptrmap page and no other page may be a ptrmap page. Except, if the byte-lock page happens to fall on the same page number as a ptrmap page, then the ptrmap is moved to the following page for that one case. (source: fileformat2.html, matrix: context, detail)

R-11061-58747-31587-59612-39335-16677-23352-15397

  If N is less than 1 then a 1-byte random blob is returned. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-11062-21931-47759-21146-52801-65238-28754-37817

  szPage will always a power of two. (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-11071-28411-04078-07805-64978-64675-45980-20570

  The specific value of a WHERE-clause parameter might influence the choice of query plan if the parameter is the left-hand side of a LIKE or GLOB operator or if the parameter is compared to an indexed column and the SQLITE_ENABLE_STAT4 compile-time option is enabled. (source: c3ref/prepare.html, checked-by: th3/req1/prepare04.test, matrix: context, detail)

R-11078-03945-63030-33506-24033-34573-31697-17195

  The implicit DELETE does not cause any SQL triggers to fire, but may invoke foreign key actions or constraint violations. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys16.test, th3/req1/foreignkeys22.test, matrix: context, detail)

R-11127-09633-57185-22901-21397-40062-06184-59885

  If there is an error, *ppStmt is set to NULL. (source: c3ref/prepare.html, checked-by: th3/req1/prepare01.test, matrix: context, detail)

R-11129-23371-40000-09444-50753-04787-03077-31414

  END TRANSACTION is an alias for COMMIT. (source: lang_transaction.html, matrix: context, detail)

R-11135-63542-29250-48049-02589-36558-61016-54500

  Expressions in an index may not reference other tables and may not use subqueries nor functions whose result might change (ex: random() or sqlite_version()). (source: lang_createindex.html, matrix: context, detail)

R-11148-40995-48554-02818-10393-13608-40990-18433

  The memory returned by sqlite3_malloc(), sqlite3_realloc(), sqlite3_malloc64(), and sqlite3_realloc64() is always aligned to at least an 8 byte boundary, or to a 4 byte boundary if the SQLITE_4_BYTE_ALIGNED_MALLOC compile-time option is used. (source: c3ref/free.html, checked-by: src/malloc.c, th3/req1/malloc02.test, matrix: context, detail)

R-11152-23456-02631-23120-19562-51052-54000-26119

  The unlikely(X) function returns the argument X unchanged. (source: lang_corefunc.html, checked-by: tcl/func3.test, matrix: context, detail)

R-11162-32742-04957-49790-62717-44478-27100-43420

  Datatype conversions in comparisons of the form "x IN (SELECT y ...)" are handled is if the comparison were really "x=y". (source: datatype3.html, checked-by: th3/req1/datatype3_05.test, matrix: context, detail)

R-11180-04229-25067-24122-45632-49442-37161-45101

  Internally, the BEGIN DEFERRED statement merely sets a flag on the database connection that turns off the automatic commit that would normally occur when the last statement finishes. (source: lang_transaction.html, matrix: context, detail)

R-11203-26095-47421-44988-44413-41576-06585-21050

  The sqlite3_result_error() and sqlite3_result_error16() routines make a private copy of the error message text before they return. (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-11211-21323-44589-16843-54908-31937-00970-23693

  PRAGMA schema.freelist_count; Return the number of unused pages in the database file. (source: pragma.html, checked-by: tcl/pragma2.test, th3/req1/pragma21.test, matrix: context, detail)

R-11255-19907-56460-39957-30226-19999-22429-23256

  The following command-line session demonstrates this: sqlite> PRAGMA foreign_keys; 0 sqlite> PRAGMA foreign_keys = ON; sqlite> PRAGMA foreign_keys; 1 sqlite> PRAGMA foreign_keys = OFF; sqlite> PRAGMA foreign_keys; 0 (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys04.test, matrix: context, detail)

R-11278-45262-58259-06316-15595-38030-39158-45213

  The P argument is a pointer to the database connection object and the X argument is unused. (source: c3ref/c_trace.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-11295-04657-09653-04480-53801-04231-56338-07604

  The operand to the right of the LIKE operator contains the pattern and the left hand operand contains the string to match against the pattern. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-11295-25445-59994-09653-28177-15735-56007-21495

  If the S argument to sqlite3_txn_state(D,S) is not the name of a valid schema, then -1 is returned. (source: c3ref/txn_state.html, matrix: context, detail)

R-11315-64212-00710-49784-05093-45690-30554-02549

  The default busy callback is NULL. (source: c3ref/busy_handler.html, checked-by: th3/req1/busy01.test, matrix: context, detail)

R-11321-47427-17901-35193-41209-48737-39207-23278

  Any leading spaces in the TEXT value are ignored when converging from TEXT to REAL. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-11345-24891-48483-09798-42153-35485-11277-64815

  The 4-byte big-endian integer at offset 28 into the header stores the size of the database file in pages. (source: fileformat2.html, matrix: context, detail)

R-11367-28935-40520-63725-29251-53752-16809-23090

  The sqlite3_snapshot_get(D,S,P) interface attempts to make a new sqlite3_snapshot object that records the current state of schema S in database connection D. (source: c3ref/snapshot_get.html, matrix: context, detail)

R-11370-04520-26477-32393-15829-52644-05616-39032

  Named parameters are also numbered. The number assigned is one greater than the largest parameter number already assigned. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-11423-52711-44857-10860-28486-08502-59467-30884

  If either operand is a column, then the collating function of that column is used with precedence to the left operand. (source: datatype3.html, checked-by: th3/req1/datatype3_09.test, matrix: context, detail)

R-11464-18362-31752-52659-04390-24092-43500-36484

  This ensures that the next writer will restart the log file from the beginning. (source: c3ref/wal_checkpoint_v2.html, matrix: context, detail)

R-11479-62774-14648-38644-49524-53539-14021-51295

  When comparing a base expression against a WHEN expression, the same collating sequence, affinity, and NULL-handling rules apply as if the base expression and WHEN expression are respectively the left- and right-hand operands of an = operator. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-11498-58022-52113-15294-58649-22171-38649-39142

  In a well-formed b-tree page, the total number of bytes in fragments may not exceed 60. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-11549-19921-03928-49162-57832-06313-31858-02375

  With synchronous=FULL in WAL mode, an additional sync operation of the WAL file happens after each transaction commit. (source: pragma.html, matrix: context, detail)

R-11553-06434-51801-18684-33273-42427-03932-31278

  FULL This mode blocks (invokes the busy-handler callback) until there is no database writer and all readers are reading from the most recent database snapshot. It then checkpoints all frames in the log file and syncs the database file. (source: pragma.html, checked-by: th3/req1/checkpoint01.test, matrix: context, detail)

R-11564-19849-41478-44833-06358-20754-48496-53228

  It is an error to specify both a schema-name and the TEMP keyword on a VIEW, unless the schema-name is "temp". (source: lang_createview.html, matrix: context, detail)

R-11566-63657-14865-04704-35153-27057-50201-14742

  The 4-byte big-endian integer at offset 56 determines the encoding used for all text strings stored in the database. (source: fileformat2.html, checked-by: th3/req1/fileformat03.test, matrix: context, detail)

R-11576-11990-36701-63648-24289-51988-09315-26987

  An attempt to invoke the BEGIN command within a transaction will fail with an error, regardless of whether the transaction was started by SAVEPOINT or a prior BEGIN. (source: lang_transaction.html, matrix: context, detail)

R-11620-22743-59737-64939-21707-40674-29550-48097

  A colon followed by an identifier name holds a spot for a named parameter with the name :AAAA. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-11628-62147-05445-61752-17620-56103-14750-56419

  No attempt is made to convert NULL or BLOB values. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-11643-51568-63953-16021-50557-65139-53423-53670

  The sqlite3_preupdate_count(D) interface returns the number of columns in the row that is being inserted, updated, or deleted. (source: c3ref/preupdate_count.html, matrix: context, detail)

R-11683-62380-30736-32552-21398-51660-49111-11348

  The specified column of row iRow contains a value that is not a TEXT or BLOB value (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, matrix: context, detail)

R-11684-02844-26168-40557-28007-15193-14492-18686

  The explicit COMMIT command runs immediately, even if there are pending SELECT statements. (source: lang_transaction.html, matrix: context, detail)

R-11730-53816-33732-41455-13175-02323-60121-55502

  The compound SELECT operators UNION, INTERSECT and EXCEPT perform implicit comparisons between values. (source: datatype3.html, checked-by: th3/req1/datatype3_07.test, matrix: context, detail)

R-11740-30529-09837-33143-12061-13377-09078-25577

  The sqlite3_db_status() routine returns SQLITE_OK on success and a non-zero error code on failure. (source: c3ref/db_status.html, checked-by: th3/req1/dbstatus01.test, matrix: context, detail)

R-11802-27774-09561-41384-21841-59026-14543-36401

  There can be an arbitrary number of sqlite_stat4 entries per index. (source: fileformat2.html, matrix: context, detail)

R-11847-09179-40053-04599-51829-21779-50650-56945

  1 if the index-column is sorted in reverse (DESC) order by the index and 0 otherwise. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15x.test, matrix: context, detail)

R-11856-19836-24274-28109-29706-17487-59516-28752

  For example: -- Database schema CREATE TABLE artist( artistid INTEGER PRIMARY KEY, artistname TEXT ); CREATE TABLE track( trackid INTEGER, trackname TEXT, trackartist INTEGER DEFAULT 0 REFERENCES artist(artistid) ON DELETE SET DEFAULT ); sqlite> SELECT * FROM artist; artistid artistname -------- ----------------- 3 Sammy Davis Jr. sqlite> SELECT * FROM track; trackid trackname trackartist ------- ----------------- ----------- 14 Mr. Bojangles 3 sqlite> -- Deleting the row from the parent table causes the child key sqlite> -- value of the dependent row to be set to integer value 0. However, this sqlite> -- value does not correspond to any row in the parent table. Therefore sqlite> -- the foreign key constraint is violated and an is exception thrown. sqlite> DELETE FROM artist WHERE artistname = 'Sammy Davis Jr.'; SQL error: foreign key constraint failed sqlite> -- This time, the value 0 does correspond to a parent table row. And sqlite> -- so the DELETE statement does not violate the foreign key constraint sqlite> -- and no exception is thrown. sqlite> INSERT INTO artist VALUES(0, 'Unknown Artist'); sqlite> DELETE FROM artist WHERE artistname = 'Sammy Davis Jr.'; sqlite> SELECT * FROM artist; artistid artistname -------- ----------------- 0 Unknown Artist sqlite> SELECT * FROM track; trackid trackname trackartist ------- ----------------- ----------- 14 Mr. Bojangles 0 (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys18.test, matrix: context, detail)

R-11896-08162-39829-09724-10165-05972-28450-60411

  The "none" setting means that auto-vacuum is disabled. (source: pragma.html, checked-by: th3/req1/pragma07.test, matrix: context, detail)

R-11920-30904-34388-20276-30838-60938-49360-56760

  If the result is NULL, then sqlite3_column_bytes16() returns zero. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, matrix: context, detail)

R-11967-56545-48759-50416-31335-06796-11719-37759

  The highwater mark is always 0. (source: c3ref/c_dbstatus_options.html, checked-by: src/status.c, matrix: context, detail)

R-11975-28707-46522-06276-23691-04065-63160-37521

  The third and fourth parameters to this routine are passed directly through to the second and third parameters of the xFileControl method. (source: c3ref/file_control.html, matrix: context, detail)

R-11976-23534-61150-43568-11270-52721-42271-48852

  If page B is a ptrmap page then back-link information about page B+1 is provided by the first entry on the pointer map. Information about page B+2 is provided by the second entry. And so forth. (source: fileformat2.html, matrix: context, detail)

R-12026-28971-38060-63152-02914-42384-21788-39705

  The "double" variable pointed to by the V parameter will be set to the query planner's estimate for the average number of rows output from each iteration of the X-th loop. (source: c3ref/c_scanstat_est.html, checked-by: th3/cov1/status02.test, matrix: context, detail)

R-12079-51392-32585-64897-55283-05837-03077-12925

  When text data is inserted into a NUMERIC column, the storage class of the text is converted to INTEGER or REAL (in order of preference) if the text is a well-formed integer or real literal, respectively. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-12104-35971-65257-58163-03125-32650-03522-02366

  If no ROWID is specified on the insert, or if the specified ROWID has a value of NULL, then an appropriate ROWID is created automatically. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-12123-54095-45651-21328-13666-03690-37485-08653

  The table-name specified as part of an UPDATE statement within a trigger body must be unqualified. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-12168-36613-28272-64664-28588-05948-62910-42845

  Freelist leaf pages bear no information that would need to be restored on a rollback and so they are not written to the journal prior to modification, in order to reduce disk I/O. (source: fileformat2.html, matrix: context, detail)

R-12183-43719-06718-33366-17178-17275-22858-03286

  Table columns that do not appear in the column list are populated with the default column value (specified as part of the CREATE TABLE statement), or with NULL if no default value is specified. (source: lang_insert.html, checked-by: tcl/e_insert.test, matrix: context, detail)

R-12196-28473-08182-34058-05586-50846-36474-32114

  Note that calling sqlite3_busy_timeout() or evaluating PRAGMA busy_timeout=N will change the busy handler and thus clear any previously set busy handler. (source: c3ref/busy_handler.html, checked-by: th3/req1/busy01.test, matrix: context, detail)

R-12218-18073-29146-37627-08161-54063-61072-19112

  A VACUUM will fail if there is an open transaction on the database connection that is attempting to run the VACUUM. (source: lang_vacuum.html, checked-by: src/vacuum.c, tcl/e_vacuum.test, matrix: context, detail)

R-12238-55120-28128-47311-07751-08633-28104-35625

  Whenever a PRAGMA statement is parsed, an SQLITE_FCNTL_PRAGMA file control is sent to the open sqlite3_file object corresponding to the database file to which the pragma statement refers. (source: c3ref/c_fcntl_begin_atomic_write.html, checked-by: src/pragma.c, tcl/multiplex4.test, matrix: context, detail)

R-12259-19638-21315-58129-32389-49540-45137-32104

  A VALUES clause cannot be followed by LIMIT. (source: lang_select.html, checked-by: th3/req1/select02.test, matrix: context, detail)

R-12275-20298-47772-56757-15778-39462-64033-34126

  In other words, the schema-name. prefix on the table name is not allowed within triggers. (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-12314-13901-08300-54236-37161-34051-04965-51279

  Division by zero gives a result of NULL. (source: datatype3.html, checked-by: th3/req1/datatype3_06.test, matrix: context, detail)

R-12374-37755-19006-43319-29109-21110-40176-02153

  The locking-mode is either NORMAL or EXCLUSIVE. (source: pragma.html, checked-by: th3/req1/pragma04.test, matrix: context, detail)

R-12385-29357-06321-01436-47924-30729-53833-26197

  If any of the sqlite3_bind_*() routines are called with a NULL pointer for the prepared statement or with a prepared statement for which sqlite3_step() has been called more recently than sqlite3_reset(), then the call will return SQLITE_MISUSE. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-12410-31217-15113-45152-04874-52421-25880-35478

  This mode works the same way as SQLITE_CHECKPOINT_FULL with the addition that after checkpointing the log file it blocks (calls the busy-handler callback) until all readers are reading from the database file only. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, th3/req1/checkpoint01.test, matrix: context, detail)

R-12452-54941-39354-45567-09766-62540-46508-43420

  Note that case insensitivity only applies to latin1 characters - basically the upper and lower case letters of English in the lower 127 byte codes of ASCII. (source: optoverview.html, checked-by: th3/cov1/pragma02.test, matrix: context, detail)

R-12472-60312-38710-03800-42859-05191-18747-22009

  Regardless of the compile-time configuration, any identifier that is not on the following 145 element list is not a keyword to the SQL parser in SQLite: ABORT ACTION ADD AFTER ALL ALTER ALWAYS ANALYZE AND AS ASC ATTACH AUTOINCREMENT BEFORE BEGIN BETWEEN BY CASCADE CASE CAST CHECK COLLATE COLUMN COMMIT CONFLICT CONSTRAINT CREATE CROSS CURRENT CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP DATABASE DEFAULT DEFERRABLE DEFERRED DELETE DESC DETACH DISTINCT DO DROP EACH ELSE END ESCAPE EXCEPT EXCLUDE EXCLUSIVE EXISTS EXPLAIN FAIL FILTER FIRST FOLLOWING FOR FOREIGN FROM FULL GENERATED GLOB GROUP GROUPS HAVING IF IGNORE IMMEDIATE IN INDEX INDEXED INITIALLY INNER INSERT INSTEAD INTERSECT INTO IS ISNULL JOIN KEY LAST LEFT LIKE LIMIT MATCH NATURAL NO NOT NOTHING NOTNULL NULL NULLS OF OFFSET ON OR ORDER OTHERS OUTER OVER PARTITION PLAN PRAGMA PRECEDING PRIMARY QUERY RAISE RANGE RECURSIVE REFERENCES REGEXP REINDEX RELEASE RENAME REPLACE RESTRICT RIGHT ROLLBACK ROW ROWS SAVEPOINT SELECT SET TABLE TEMP TEMPORARY THEN TIES TO TRANSACTION TRIGGER UNBOUNDED UNION UNIQUE UPDATE USING VACUUM VALUES VIEW VIRTUAL WHEN WHERE WINDOW WITH WITHOUT (source: lang_keywords.html, checked-by: th3/req1/keyword01.test, matrix: context, detail)

R-12482-18070-30469-35511-31025-38188-23401-30246

  Extension loading must be enabled using sqlite3_enable_load_extension() or sqlite3_db_config(db,SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION,1,NULL) prior to calling this API, otherwise an error will be returned. (source: c3ref/load_extension.html, matrix: context, detail)

R-12507-28763-48132-30913-24133-27495-38799-45736

  PRAGMA foreign_key_list(table-name); This pragma returns one row for each foreign key constraint created by a REFERENCES clause in the CREATE TABLE statement of table "table-name". (source: pragma.html, checked-by: th3/req1/pragma17.test, matrix: context, detail)

R-12525-60165-32842-37850-04403-38425-48242-20323

  In every case the first argument is a pointer to the prepared statement that is being evaluated (the sqlite3_stmt* that was returned from sqlite3_prepare_v2() or one of its variants) and the second argument is the index of the column for which information should be returned. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, th3/req1/column02.test, th3/req1/column03.test, matrix: context, detail)

R-12526-56546-27211-20254-24569-61288-04911-18504

  When auto-vacuum is disabled and data is deleted data from a database, the database file remains the same size. (source: pragma.html, checked-by: th3/req1/pragma07.test, matrix: context, detail)

R-12527-00403-29905-17103-05546-05821-61371-29057

  If a NOT NULL constraint violation occurs, the REPLACE conflict resolution replaces the NULL value with the default value for that column, or if the column has no default value, then the ABORT algorithm is used. (source: lang_conflict.html, checked-by: th3/req1/conflict02.test, matrix: context, detail)

R-12556-35327-19465-37938-14363-50325-55527-10605

  The rollback hook is invoked on a rollback that results from a commit hook returning non-zero, just as it would be with any other rollback. (source: c3ref/commit_hook.html, matrix: context, detail)

R-12572-62501-53672-53219-61722-28742-24509-13424

  If the default value of the column is a constant NULL, text, blob or signed-number value, then that value is used directly in the new row. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-12576-53774-15482-62453-08322-32739-63345-41890

  The byte-order specified by the BOM at the beginning of the text overrides the byte-order specified by the interface procedure. (source: c3ref/result_blob.html, matrix: context, detail)

R-12597-09253-01914-52695-40165-57043-34342-03657

  If no WHEN clause is supplied, the SQL statements are executed every time the trigger fires. (source: lang_createtrigger.html, matrix: context, detail)

R-12598-40983-37822-03408-00608-51890-59841-03948

  The values returned by sqlite3_column_bytes() and sqlite3_column_bytes16() do not include the zero terminators at the end of the string. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, matrix: context, detail)

R-12600-09115-43578-46772-34145-03685-53603-16884

  This option is used to enable or disable views. (source: c3ref/c_dbconfig_defensive.html, matrix: context, detail)

R-12600-63516-31676-50915-37777-55444-55354-15121

  The cache sharing mode set by this interface effects all subsequent calls to sqlite3_open(), sqlite3_open_v2(), and sqlite3_open16(). Existing database connections continue to use the sharing mode that was in effect at the time they were opened. (source: c3ref/enable_shared_cache.html, matrix: context, detail)

R-12621-54688-01749-38007-62215-41521-15622-18085

  The order of the entries indicates the nesting order. (source: eqp.html, matrix: context, detail)

R-12628-51384-03932-15263-35503-59702-54474-35956

  For example, 0x1234 means the same as 4660 and 0x8000000000000000 means the same as -9223372036854775808. (source: lang_expr.html, checked-by: th3/req1/expr01.test, matrix: context, detail)

R-12643-30541-59599-14693-16305-56231-57085-12905

  The incremental blob I/O mechanism does not work for WITHOUT ROWID tables. (source: withoutrowid.html, checked-by: tcl/without_rowid5.test, th3/cov1/vdbeblob01.test, matrix: context, detail)

R-12645-39772-05350-58220-21808-12776-02132-01190

  Or, if a constraint definition does not include a conflict-clause or it is a CHECK constraint, the default conflict resolution algorithm is ABORT. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-12670-39947-34778-58945-43914-57818-35055-57037

  Again, in this case the call to sqlite3_backup_step() can be retried later on. (source: c3ref/backup_finish.html, matrix: context, detail)

R-12693-31159-47760-14933-14712-45041-12329-60921

  Each SCAN or SEARCH record includes the following information: The name of the table data is read from. Whether or not an index or automatic index is used. Whether or not the covering index optimization applies. Which terms of the WHERE clause are used for indexing. (source: eqp.html, matrix: context, detail)

R-12720-41494-41537-21978-20786-40223-25082-25767

  Mathematical operators (+, -, *, /, %, <<, >>, &, and |) interpret both operands as if they were numbers. STRING or BLOB operands automatically convert into REAL or INTEGER values. (source: datatype3.html, checked-by: th3/req1/datatype3_06.test, matrix: context, detail)

R-12722-60883-17939-30379-04776-48495-16635-34994

  The P argument is a pointer to the prepared statement and the X argument points to a 64-bit integer which is the estimated of the number of nanosecond that the prepared statement took to run. (source: c3ref/c_trace.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-12723-08526-08318-37597-13416-02611-20506-59607

  SQLITE_LIMIT_EXPR_DEPTH The maximum depth of the parse tree on any expression. (source: c3ref/c_limit_attached.html, checked-by: tcl/sqllimits1.test, th3/req1/limit02.test, matrix: context, detail)

R-12747-43999-37880-44715-10819-05870-41962-30541

  A VALUES clause cannot be followed by ORDER BY. (source: lang_select.html, checked-by: th3/req1/select02.test, matrix: context, detail)

R-12782-61841-54063-57500-26369-54791-20214-34360

  To mark a foreign key constraint as deferred, its declaration must include the following clause: DEFERRABLE INITIALLY DEFERRED -- A deferred foreign key constraint (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys12.test, matrix: context, detail)

R-12786-00766-63482-41386-10445-23868-47532-37384

  The full amount of memory used by the schemas is reported, even if the schema memory is shared with other database connections due to shared cache mode being enabled. (source: c3ref/c_dbstatus_options.html, checked-by: th3/req1/dbstatus02.test, matrix: context, detail)

R-12793-43283-00395-32420-06808-58269-41877-63577

  Every value in SQLite has one of five fundamental datatypes: 64-bit signed integer 64-bit IEEE floating point number string BLOB NULL (source: c3ref/c_blob.html, checked-by: src/vdbeapi.c, tcl/capi3.test, th3/req1/column01.test, matrix: context, detail)

R-12804-26213-16166-58523-53387-54270-64862-30854

  The highest recorded value is returned in *pHighwater. (source: c3ref/status.html, matrix: context, detail)

R-12830-59321-61911-43156-38228-08390-44545-62549

  The RELEASE command starts with the most recent addition to the transaction stack and releases savepoints backwards in time until it releases a savepoint with a matching savepoint-name. (source: lang_savepoint.html, matrix: context, detail)

R-12831-20703-43607-22542-46423-65070-13678-01417

  The query string consists of text following the first "?" character but excluding the optional fragment that begins with "#". (source: uri.html, matrix: context, detail)

R-12881-55998-05997-62769-52407-41437-37652-18188

  When query results are sorted by an ORDER BY clause, values with storage class NULL come first, followed by INTEGER and REAL values interspersed in numeric order, followed by TEXT values in collating sequence order, and finally BLOB values in memcmp() order. (source: datatype3.html, checked-by: th3/req1/datatype3_04.test, matrix: context, detail)

R-12895-64156-28673-05493-20672-24033-21713-05965

  Inner joins to the left and right of the outer join might be reordered if the optimizer thinks that is advantageous but the outer joins are always evaluated in the order in which they occur. (source: optoverview.html, matrix: context, detail)

R-12940-37052-20666-01661-57871-26003-21807-26945

  SQLITE_LIMIT_LIKE_PATTERN_LENGTH The maximum length of the pattern argument to the LIKE or GLOB operators. (source: c3ref/c_limit_attached.html, checked-by: tcl/sqllimits1.test, th3/req1/limit02.test, matrix: context, detail)

R-12976-22893-11163-42545-13145-11346-20238-07010

  Value is the integer 0. (source: fileformat2.html, checked-by: src/vdbeaux.c, th3/req1/fileformat02.test, matrix: context, detail)

R-12993-07777-64601-19102-35955-36137-03402-56962

  When multiple implementations of the same function are available, SQLite will pick the one that involves the least amount of data conversion. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc04.test, matrix: context, detail)

R-13024-05443-37707-54511-29409-48512-10836-53316

  Unrecognized arguments are silently ignored. (source: fileformat2.html, matrix: context, detail)

R-13053-11096-22952-42489-44628-35475-18449-44243

  The maximum value is the value that would be returned last in an ORDER BY on the same column. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-13057-33448-09671-56974-58075-51862-56508-46386

  The number of columns in an index is limited to the value set by sqlite3_limit(SQLITE_LIMIT_COLUMN,...). (source: lang_createindex.html, checked-by: th3/req1/createidx03.test, matrix: context, detail)

R-13091-00020-15519-35390-14824-01225-60609-32585

  Note that the authorizer callback is invoked only during sqlite3_prepare() or its variants. (source: c3ref/set_authorizer.html, matrix: context, detail)

R-13160-27901-08319-02808-35967-30729-30833-45529

  A function where the encoding difference is between UTF16le and UTF16be is a closer match than a function where the encoding difference is between UTF8 and UTF16. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc04.test, matrix: context, detail)

R-13161-58512-18507-02027-33184-52817-40400-65254

  The subquery and the outer query do not both have ORDER BY clauses. (source: optoverview.html, matrix: context, detail)

R-13164-16564-32961-63761-40355-01269-15862-60679

  Otherwise, if no error occurs, sqlite3_db_cacheflush() returns SQLITE_OK. (source: c3ref/db_cacheflush.html, matrix: context, detail)

R-13183-30817-63475-03286-24149-37029-58658-28178

  Parameters of the form "?" without a following integer have no name and are referred to as "nameless" or "anonymous parameters". (source: c3ref/bind_parameter_name.html, checked-by: th3/req1/bind04.test, matrix: context, detail)

R-13199-64588-45721-29417-06985-29231-64898-26576

  No error is returned for uniqueness, NOT NULL, and UNIQUE constraint errors when the IGNORE conflict resolution algorithm is used. (source: lang_conflict.html, checked-by: th3/req1/conflict01.test, matrix: context, detail)

R-13210-09522-30167-47682-54328-15503-65010-64185

  Each entry in the table b-tree corresponds to a row of the SQL table. (source: fileformat2.html, matrix: context, detail)

R-13213-41488-02030-47502-00091-07142-55228-59045

  The string returned by sqlite_source_id() is the date and time that the source code was checked in followed by the SHA1 hash for that check-in. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-13245-13613-20612-29669-51853-01593-36495-38547

  SQLITE_BUSY means that the database engine was unable to acquire the database locks it needs to do its job. (source: c3ref/step.html, matrix: context, detail)

R-13279-06508-34532-04763-41016-09422-12015-14257

  This interface returns a pointer to the next prepared statement after pStmt associated with the database connection pDb. (source: c3ref/next_stmt.html, checked-by: th3/cov1/vdbeapi04.test, matrix: context, detail)

R-13307-42286-48132-20191-27230-43917-16761-31093

  The sqlite3_memory_used() routine returns the number of bytes of memory currently outstanding (malloced but not freed). (source: c3ref/memory_highwater.html, matrix: context, detail)

R-13324-20915-18608-14135-49913-18477-24470-37665

  When two BLOB values are compared, the result is determined using memcmp(). (source: datatype3.html, checked-by: th3/req1/datatype3_04.test, matrix: context, detail)

R-13337-13961-14137-09012-22007-31627-17736-61931

  If Z is negative then the abs(Z) characters preceding the Y-th character are returned. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, matrix: context, detail)

R-13345-31830-42625-35192-25815-10226-10074-63536

  The escape character followed by a percent symbol (%), underscore (_), or a second instance of the escape character itself matches a literal percent symbol, underscore, or a single escape character, respectively. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-13381-51663-43618-16606-57611-35526-29566-64189

  PRAGMA pragma_list; This pragma returns a list of PRAGMA commands known to the database connection. (source: pragma.html, matrix: context, detail)

R-13435-26311-61176-01189-39199-58705-21930-17615

  Usually, the parent key of a foreign key constraint is the primary key of the parent table. If they are not the primary key, then the parent key columns must be collectively subject to a UNIQUE constraint or have a UNIQUE index. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys07.test, matrix: context, detail)

R-13439-14752-32196-09382-64767-42844-00603-31803

  The CREATE VIEW command assigns a name to a pre-packaged SELECT statement. (source: lang_createview.html, checked-by: th3/req1/view01.test, matrix: context, detail)

R-13480-46087-00976-25355-37821-19976-64055-41594

  The sqlite3_data_count(P) will return non-zero if previous call to sqlite3_step(P) returned SQLITE_ROW, except in the case of the PRAGMA incremental_vacuum where it always returns zero since each step of that multi-step pragma returns 0 columns of data. (source: c3ref/data_count.html, checked-by: th3/req1/datacnt01.test, matrix: context, detail)

R-13512-64012-34604-11605-36367-14798-29892-18682

  In a compound SELECT, only the last or right-most simple SELECT may contain a LIMIT clause. (source: lang_select.html, checked-by: tcl/limit.test, th3/req1/select02.test, matrix: context, detail)

R-13523-04394-10297-34543-39920-38715-25686-62539

  The second integer on a freelist trunk page is the number of leaf page pointers to follow. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-13543-33261-54186-53828-50711-48001-20973-48866

  A new R*Tree index is created as follows: CREATE VIRTUAL TABLE USING rtree(); The is the name your application chooses for the R*Tree index and is a comma separated list of between 3 and 11 columns. The virtual table creates three shadow tables to actually store its content. The names of these shadow tables are: _node _rowid _parent The shadow tables are ordinary SQLite data tables. You can query them directly if you like, though this unlikely to reveal anything particularly useful. And you can UPDATE, DELETE, INSERT or even DROP the shadow tables, though doing so will corrupt your R*Tree index. So it is best to simply ignore the shadow tables. Recognize that they hold your R*Tree index information and let it go as that. As an example, consider creating a two-dimensional R*Tree index for use in spatial queries: CREATE VIRTUAL TABLE demo_index USING rtree( id, -- Integer primary key minX, maxX, -- Minimum and maximum X coordinate minY, maxY -- Minimum and maximum Y coordinate ); 3.1.1. Column naming details In the argments to "rtree" in the CREATE VIRTUAL TABLE statement, the names of the columns are taken from the first token of each argument. All subsequent tokens within each argument are silently ignored. (source: rtree.html, matrix: context, detail)

R-13547-45635-56676-46930-62295-21423-36076-50678

  The default isolation level for SQLite is SERIALIZABLE. (source: pragma.html, matrix: context, detail)

R-13549-01731-45628-33361-33638-05320-24749-58227

  When immutable is set, SQLite assumes that the database file cannot be changed, even by a process with higher privilege, and so the database is opened read-only and all locking and change detection is disabled. (source: c3ref/open.html, checked-by: th3/cov1/nolock01.test, matrix: context, detail)

R-13561-46814-58902-48141-34775-52925-09120-28270

  The sqlite3_result_text(), sqlite3_result_text16(), sqlite3_result_text16le(), and sqlite3_result_text16be() interfaces set the return value of the application-defined function to be a text string which is represented as UTF-8, UTF-16 native byte order, UTF-16 little endian, or UTF-16 big endian, respectively. (source: c3ref/result_blob.html, checked-by: th3/req1/result02.test, matrix: context, detail)

R-13591-51789-59523-18205-42201-39107-10748-36836

  Newer versions of SQLite use the in-header database size if it is available but fall back to the actual file size if the in-header database size is not valid. (source: fileformat2.html, matrix: context, detail)

R-13595-45863-41975-17982-37007-43143-15451-31635

  Note that SQLite allows the parenthesized list of scalar values on the right-hand side of an IN or NOT IN operator to be an empty list but most other SQL database database engines and the SQL92 standard require the list to contain at least one element. (source: lang_expr.html, checked-by: tcl/tkt-80e031a00f.test, matrix: context, detail)

R-13615-19528-18270-26667-29979-02127-30381-22829

  A 3-dimensional R*Tree has 7 columns. (source: rtree.html, matrix: context, detail)

R-13635-51078-58575-05686-24588-25758-48639-24635

  Missing values at the end of the record are filled in using the default value for the corresponding columns defined in the table schema. (source: fileformat2.html, matrix: context, detail)

R-13680-39071-55665-32597-06847-40698-32535-24028

  The file change counter is a 4-byte big-endian integer at offset 24 that is incremented whenever the database file is unlocked after having been modified. (source: fileformat2.html, matrix: context, detail)

R-13748-40725-63284-41855-27070-22763-27401-30101

  The current value of the requested counter is returned. (source: c3ref/stmt_status.html, matrix: context, detail)

R-13776-21310-53568-57098-48778-28371-47670-31301

  The count(*) function (with no arguments) returns the total number of rows in the group. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-13779-07711-12405-44335-29719-17285-28240-52263

  As long as exactly one connection is using a shared-memory wal-index, the locking mode can be changed freely between NORMAL and EXCLUSIVE. (source: wal.html, checked-by: tcl/e_wal.test, th3/req1/pragma05.test, matrix: context, detail)

R-13793-11620-18643-36656-33877-44501-53404-27731

  For clarity: the values returned by sqlite3_column_bytes() and sqlite3_column_bytes16() are the number of bytes in the string, not the number of characters. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, matrix: context, detail)

R-13829-63101-23800-05196-00308-40723-07917-23521

  The sqlite_schema.sql column stores SQL text that describes the object. This SQL text is a CREATE TABLE, CREATE VIRTUAL TABLE, CREATE INDEX, CREATE VIEW, or CREATE TRIGGER statement that if evaluated against the database file when it is the main database of a database connection would recreate the object. (source: fileformat2.html, matrix: context, detail)

R-13846-35797-43647-43739-38644-55287-36020-16236

  The random() function returns a pseudo-random integer between -9223372036854775808 and +9223372036854775807. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-13861-56665-11866-23865-35263-00368-63176-40609

  PRAGMA schema.cache_size; PRAGMA schema.cache_size = pages; PRAGMA schema.cache_size = -kibibytes; Query or change the suggested maximum number of database disk pages that SQLite will hold in memory at once per open database file. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma09.test, matrix: context, detail)

R-13870-45783-04772-14716-53904-46370-14954-15973

  The sqlite3_load_extension() interface attempts to load an SQLite extension library contained in the file zFile. (source: c3ref/load_extension.html, matrix: context, detail)

R-13876-13274-06329-28290-52708-34927-05709-26395

  If foreign key constraints are enabled and a column with a REFERENCES clause is added, the column must have a default value of NULL. (source: lang_altertable.html, checked-by: th3/req1/altertable01.test, matrix: context, detail)

R-13877-64542-39833-15687-62784-10394-38782-49019

  For an "ON UPDATE CASCADE" action, it means that the values stored in each dependent child key are modified to match the new parent key values. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys16.test, matrix: context, detail)

R-13903-46567-21188-22822-60227-64496-63410-06513

  This means that when VACUUMing a database, as much as twice the size of the original database file is required in free disk space. (source: lang_vacuum.html, matrix: context, detail)

R-13943-13592-05756-02149-18071-59821-47409-19193

  A NULL result is considered untrue when evaluating WHEN terms. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-13958-53419-49614-06664-47934-29028-23296-04281

  Supported unary prefix operators are these: - + ~ NOT (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-13981-28768-38524-42691-40554-58455-18349-16495

  And a 5-dimensional R*Tree has 11 columns. (source: rtree.html, matrix: context, detail)

R-13991-38016-24642-53092-34129-28214-25020-08984

  A SELECT statement will always have a positive sqlite3_column_count() but depending on the WHERE clause constraints and the table content, it might return no rows. (source: c3ref/column_count.html, matrix: context, detail)

R-14014-59687-26564-37068-45971-48448-09846-38995

  No affinity is applied to comparison operands for the implicit comparisons associated with UNION, INTERSECT, or EXCEPT - the values are compared as is. (source: datatype3.html, checked-by: th3/req1/datatype3_07.test, matrix: context, detail)

R-14034-00929-27099-16044-59671-40921-25544-35067

  If an error code is returned, that error will propagate back up through the SQLite code base to cause the statement that provoked the callback to report an error, though the commit will have still occurred. (source: c3ref/wal_hook.html, checked-by: tcl/e_walhook.test, matrix: context, detail)

R-14054-28168-18904-50700-49610-53857-56121-06395

  The special encoding rules for columns with REAL affinity apply to WITHOUT ROWID tables the same as they do with rowid tables. (source: fileformat2.html, matrix: context, detail)

R-14068-49671-08903-14280-45288-40590-58798-59213

  Parameters that are not assigned values using sqlite3_bind() are treated as NULL. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-14099-28081-41654-53120-44875-00301-46355-06140

  If the commit hook returns non-zero, then the COMMIT is converted into a ROLLBACK. (source: c3ref/commit_hook.html, matrix: context, detail)

R-14168-07579-40145-07578-27946-11279-56601-46509

  If there is no ELSE expression and none of the WHEN expressions are true, then the overall result is NULL. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-14174-63475-36300-18663-27828-32664-44187-42924

  If any other error occurs while flushing dirty pages to disk (for example an IO error or out-of-memory condition), then processing is abandoned and an SQLite error code is returned to the caller immediately. (source: c3ref/db_cacheflush.html, matrix: context, detail)

R-14184-13732-63564-17158-02009-26231-20937-39061

  The SQLITE_FCNTL_FILE_POINTER value for the op parameter causes a pointer to the underlying sqlite3_file object to be written into the space pointed to by the 4th parameter. (source: c3ref/file_control.html, matrix: context, detail)

R-14195-12074-64677-06793-17072-43123-33020-17925

  PRAGMA recursive_triggers; PRAGMA recursive_triggers = boolean; Query, set, or clear the recursive trigger capability. (source: pragma.html, matrix: context, detail)

R-14208-23986-02817-62350-58798-64603-05852-18001

  If foreign key constraints are enabled when it is prepared, the DROP TABLE command performs an implicit DELETE to remove all rows from the table before dropping it. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys16.test, th3/req1/foreignkeys22.test, matrix: context, detail)

R-14213-41276-38760-54552-34093-20752-64281-40652

  If the function pointer is NULL, the sqlite3_log() interface becomes a no-op. (source: c3ref/c_config_covering_index_scan.html, checked-by: th3/cov1/log01.test, matrix: context, detail)

R-14222-20715-36794-58646-49579-04398-47433-20385

  Any attempt to create a function with a longer name will result in SQLITE_MISUSE being returned. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc01.test, matrix: context, detail)

R-14302-38934-55936-51388-09326-06316-22131-13547

  The new column may take any of the forms permissible in a CREATE TABLE statement, with the following restrictions: (source: lang_altertable.html, checked-by: th3/req1/altertable01.test, matrix: context, detail)

R-14303-42483-31616-40850-13979-44263-42291-56182

  If database zDb is the name of an attached database that is not in WAL mode, SQLITE_OK is returned and both *pnLog and *pnCkpt set to -1. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, matrix: context, detail)

R-14310-64553-52878-24653-31344-14066-48757-18483

  1 if the index-column is a key column and 0 if the index-column is an auxiliary column. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15x.test, matrix: context, detail)

R-14349-34154-22313-18444-03285-54966-26711-64366

  Note that the order of the rules for determining column affinity is important. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-14350-06824-15886-23716-53356-08607-64991-22845

  If write-ahead log mode is disabled, this pragma is a harmless no-op. (source: pragma.html, checked-by: th3/req1/pragma29.test, matrix: context, detail)

R-14350-55458-23472-59439-25847-10170-60896-21467

  If no successful INSERTs into rowid tables have ever occurred on the database connection D, then sqlite3_last_insert_rowid(D) returns zero. (source: c3ref/last_insert_rowid.html, checked-by: th3/cov1/withoutrowid01.test, matrix: context, detail)

R-14374-42468-63596-09513-53214-31321-61248-26314

  This option sets the threading mode to Multi-thread. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, matrix: context, detail)

R-14413-31567-12478-15952-22976-18615-46799-38246

  The schema of the sqlite_stat1 table is as follows: CREATE TABLE sqlite_stat1(tbl,idx,stat); (source: fileformat2.html, matrix: context, detail)

R-14428-50133-01194-47236-05116-05687-25228-52456

  The sqlite3_reset(S) interface resets the prepared statement S back to the beginning of its program. (source: c3ref/reset.html, checked-by: th3/req1/reset01.test, matrix: context, detail)

R-14442-41305-19421-12764-11199-11923-26443-20423

  If the simple SELECT is a SELECT DISTINCT, then duplicate rows are removed from the set of result rows before it is returned. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-14450-37597-62750-52193-20411-23547-30776-32199

  If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then the entire mutexing subsystem is omitted from the build and hence calls to sqlite3_config() with the SQLITE_CONFIG_GETMUTEX configuration option will return SQLITE_ERROR. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, th3/th3main.c, matrix: context, detail)

R-14451-19951-27480-60238-09584-48372-64711-58964

  If N is zero then memory mapped I/O is disabled. (source: pragma.html, matrix: context, detail)

R-14505-63184-58138-52966-27681-02252-30754-64236

  An INTEGER or REAL value is less than any TEXT or BLOB value. (source: datatype3.html, checked-by: th3/req1/datatype3_04.test, matrix: context, detail)

R-14522-26183-36808-38782-13052-12335-19619-11308

  The sqlite3_uint64 and sqlite_uint64 types can store integer values between 0 and +18446744073709551615 inclusive. (source: c3ref/int64.html, checked-by: th3/req1/int64_01.test, matrix: context, detail)

R-14553-34013-61751-37329-34569-35054-62588-04416

  the complete database schema for efficient implementation of the foreign key constraint might be: CREATE TABLE artist( artistid INTEGER PRIMARY KEY, artistname TEXT ); CREATE TABLE track( trackid INTEGER, trackname TEXT, trackartist INTEGER REFERENCES artist ); CREATE INDEX trackindex ON track(trackartist); (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys09.test, matrix: context, detail)

R-14560-62209-22846-15269-26800-65188-24586-57276

  The sqlite3_blob_bytes() interface returns the size of the BLOB in bytes. (source: c3ref/blob.html, checked-by: th3/cov1/vdbeblob01.test, matrix: context, detail)

R-14606-31564-30448-03385-20591-46329-55460-01385

  Value is a BLOB that is (N-12)/2 bytes in length. (source: fileformat2.html, checked-by: src/vdbeaux.c, th3/req1/fileformat02.test, matrix: context, detail)

R-14672-19530-25387-57734-27624-49837-27929-41109

  This is the number of rows inserted into transient indices that were created automatically in order to help joins run faster. (source: c3ref/c_stmtstatus_counter.html, matrix: context, detail)

R-14696-55973-19769-03431-09296-22447-01636-28484

  PRAGMA schema.table_xinfo(table-name); This pragma returns one row for each column in the named table, including hidden columns in virtual tables. (source: pragma.html, matrix: context, detail)

R-14708-27487-63029-62326-38556-29353-26608-43462

  If either X or Y are NULL in instr(X,Y) then the result is NULL. (source: lang_corefunc.html, checked-by: tcl/instr.test, matrix: context, detail)

R-14744-61161-64598-20723-40374-11950-32585-46634

  Bindings are not cleared by the sqlite3_reset() routine. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-14755-58619-21710-46731-49779-58295-52088-49443

  If a schema name is specified, then only that one schema is searched for the named object. (source: lang_naming.html, checked-by: tcl/e_resolve.test, matrix: context, detail)

R-14786-64066-57173-54332-48842-61932-26767-55226

  The fourth parameter to the preupdate callback is the name of the database within the database connection that is being modified. This will be "main" for the main database or "temp" for TEMP tables or the name given after the AS keyword in the ATTACH statement for attached databases. (source: c3ref/preupdate_count.html, matrix: context, detail)

R-14809-12532-29849-37931-55866-36288-34668-62105

  Every column of every table has an associated collating function. (source: datatype3.html, checked-by: th3/req1/datatype3_09.test, matrix: context, detail)

R-14816-14138-45914-00386-55030-19688-47427-16370

  The sqlite3_mutex_enter() and sqlite3_mutex_try() routines attempt to enter a mutex. (source: c3ref/mutex_alloc.html, matrix: context, detail)

R-14854-58090-42318-16758-11511-55845-43125-55221

  The xShutdown method is only called from sqlite3_shutdown() so it does not need to be threadsafe either. (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-14875-52970-09502-55318-65489-30403-63848-22858

  The last_insert_rowid() function returns the ROWID of the last row insert from the database connection which invoked the function. (source: lang_corefunc.html, checked-by: th3/req1/func01.test, matrix: context, detail)

R-14902-14650-01699-08626-33973-09336-38963-61808

  Generated columns can have a datatype. (source: gencol.html, matrix: context, detail)

R-14926-50129-46614-17358-58969-23562-31943-57141

  For the purposes of grouping rows, NULL values are considered equal. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-14928-00869-49295-06828-40495-44673-44350-58207

  The soft heap limit is automatically enabled whenever the hard heap limit is enabled. (source: c3ref/hard_heap_limit64.html, matrix: context, detail)

R-14939-58295-46667-49876-44919-10267-12133-09440

  For indexes on WITHOUT ROWID tables, N will be the number of columns indexed plus the number of columns in the primary key. (source: fileformat2.html, matrix: context, detail)

R-14970-42377-34844-46496-15895-42662-06341-12505

  If this flag is set, then the F_FULLFSYNC syncing method is used during checkpoint operations on systems that support F_FULLFSYNC. (source: pragma.html, checked-by: th3/req1/pragma11.test, matrix: context, detail)

R-15060-13876-27196-24328-29262-37207-52735-33647

  A 1-dimensional R*Tree thus has 3 columns. (source: rtree.html, matrix: context, detail)

R-15063-51342-39351-23162-57397-34240-32875-44138

  A zero is returned if no matching parameter is found. (source: c3ref/bind_parameter_index.html, checked-by: th3/req1/bind03.test, matrix: context, detail)

R-15067-52851-39310-09608-48928-40262-32010-41531

  The registration remains valid until it is replaced by a different module or until the database connection closes. (source: c3ref/module.html, matrix: context, detail)

R-15078-25200-47597-45134-52626-09709-11803-57181

  However, if an insert fails due to (for example) a uniqueness constraint, the ROWID of the failed insertion attempt might not be reused on subsequent inserts, resulting in gaps in the ROWID sequence. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-15107-48632-28569-47708-49546-63224-06623-07526

  The authorizer callback is invoked as SQL statements are being compiled by sqlite3_prepare() or its variants sqlite3_prepare_v2(), sqlite3_prepare_v3(), sqlite3_prepare16(), sqlite3_prepare16_v2(), and sqlite3_prepare16_v3(). (source: c3ref/set_authorizer.html, matrix: context, detail)

R-15111-17896-62926-21896-36187-36992-24278-56286

  Numeric values (serial types 1 through 9) sort after NULLs and in numeric order. (source: fileformat2.html, checked-by: th3/req1/fileformat05.test, matrix: context, detail)

R-15162-34851-63939-05950-21084-00823-32030-36120

  If the 5th parameter to sqlite3_exec() is not NULL then any error message is written into memory obtained from sqlite3_malloc() and passed back through the 5th parameter. (source: c3ref/exec.html, checked-by: th3/req1/exec01.test, matrix: context, detail)

R-15172-56782-14433-51557-38019-58913-08243-11771

  The returned value is one of SQLITE_INTEGER, SQLITE_FLOAT, SQLITE_TEXT, SQLITE_BLOB, or SQLITE_NULL. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, matrix: context, detail)

R-15179-00775-17006-23705-43111-64529-05716-35122

  The N-th integer (for N>1) is the estimated average number of rows in the index which have the same value for the first N-1 columns. (source: fileformat2.html, matrix: context, detail)

R-15250-32031-29902-43107-55645-15949-41885-09210

  The solution to enforcing one leader per team is to create a unique index on team_id but restricted to those entries for which is_team_leader is true: CREATE UNIQUE INDEX team_leader ON person(team_id) WHERE is_team_leader; (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-15264-45364-33795-29086-26475-46082-16234-09444

  For the purposes of this routine, an INSERT is considered to be successful even if it is subsequently rolled back. (source: c3ref/last_insert_rowid.html, matrix: context, detail)

R-15279-42727-36622-43533-51632-55419-55302-44871

  Virtual tables methods can set an error message by assigning a string obtained from sqlite3_mprintf() to zErrMsg. (source: c3ref/vtab.html, checked-by: th3/req1/vtab01.test, matrix: context, detail)

R-15283-49521-12983-52199-46141-26319-45151-22196

  If the table has never before contained any data, then a ROWID of 1 is used. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-15313-19540-00987-59181-43377-13803-46289-24513

  The name for the collating sequence used to compare values in the index-column. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15x.test, matrix: context, detail)

R-15326-32258-55998-27349-46389-10665-40357-65139

  When multiple database connections share the same cache, changing the secure-delete flag on one database connection changes it for them all. (source: pragma.html, checked-by: th3/cov1/pragma21.test, matrix: context, detail)

R-15331-08345-58118-19144-46490-41902-30698-42442

  The second parameter to the logger function is a copy of the first parameter to the corresponding sqlite3_log() call and is intended to be a result code or an extended result code. (source: c3ref/c_config_covering_index_scan.html, checked-by: th3/cov1/log01.test, matrix: context, detail)

R-15334-58407-28961-30248-32119-35017-40136-56612

  A column that uses INTEGER affinity behaves the same as a column with NUMERIC affinity. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-15356-65223-28934-39981-61264-10821-14188-49484

  SQLite does not use the lock-byte page. (source: fileformat2.html, matrix: context, detail)

R-15363-55230-31292-18565-56039-36923-37219-31589

  If the default value of a column is CURRENT_TIME, CURRENT_DATE or CURRENT_TIMESTAMP, then the value used in the new row is a text representation of the current UTC date and/or time. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-15400-09401-11917-03904-29330-15741-54444-34897

  A keyword enclosed in square brackets is an identifier. (source: lang_keywords.html, checked-by: th3/req1/keyword01.test, matrix: context, detail)

R-15402-03103-21390-36962-23389-49198-06887-52060

  PRAGMA schema.foreign_key_check; PRAGMA schema.foreign_key_check(table-name); (source: pragma.html, checked-by: tcl/fkey5.test, th3/cov1/fkey23.test, matrix: context, detail)

R-15417-28014-30557-42534-17582-00197-65121-60035

  Indices are not required for child key columns (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys07.test, matrix: context, detail)

R-15442-09728-53714-13219-50103-51559-23392-54573

  Furthermore, the data_store_directory pragma always assumes that any string that this variable points to is held in memory obtained from sqlite3_malloc and the pragma may attempt to free that memory using sqlite3_free. (source: c3ref/data_directory.html, matrix: context, detail)

R-15462-52806-17600-54979-17711-21725-52659-40805

  An SQLITE_TRACE_STMT callback is invoked when a prepared statement first begins running and possibly at other times during the execution of the prepared statement, such as at the start of each trigger subprogram. (source: c3ref/c_trace.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-15465-20813-03488-35934-00721-06683-61343-58043

  The maximum and minimum embedded payload fractions and the leaf payload fraction values must be 64, 32, and 32. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-15506-57666-56346-10655-27907-33619-59147-37222

  The second callback argument is one of SQLITE_INSERT, SQLITE_DELETE, or SQLITE_UPDATE, depending on the operation that caused the callback to be invoked. (source: c3ref/update_hook.html, checked-by: tcl/hook.test, th3/cov1/main15.test, matrix: context, detail)

R-15514-65163-22430-27593-57969-12482-41561-35461

  SQLite understands the following binary operators, in order from highest to lowest precedence: || * / % + - << >> & | < <= > >= = == != <> IS IS NOT IN LIKE GLOB MATCH REGEXP AND OR (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-15522-56042-47189-16162-53355-39499-48752-21999

  For all of these errors, SQLite attempts to undo just the one statement it was working on and leave changes from prior statements within the same transaction intact and continue with the transaction. (source: lang_transaction.html, matrix: context, detail)

R-15548-18334-64551-32138-25458-60589-38835-29955

  If the largest root b-tree page value is zero, then the database must not contain ptrmap pages. (source: fileformat2.html, matrix: context, detail)

R-15572-63310-25640-21443-38928-49206-01158-44169

  So just because a column is declared to contain a particular type does not mean that the data stored in that column is of the declared type. (source: c3ref/column_decltype.html, matrix: context, detail)

R-15607-52988-55821-17631-36260-55856-06121-21546

  The added rows contain NULL values in the columns that would normally contain values copied from the right-hand input dataset. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-15610-35227-39836-10138-16838-61419-33727-13478

  Unfinalized SQL statements typically hold a read transaction open, so the VACUUM might fail if there are unfinalized SQL statements on the same connection. (source: lang_vacuum.html, checked-by: src/vacuum.c, matrix: context, detail)

R-15618-12639-40629-36536-35814-47765-39575-62705

  If it is NULL, then all attached databases are searched for the table using the same algorithm used by the database engine to resolve unqualified table references. (source: c3ref/table_column_metadata.html, checked-by: th3/cov1/metadata01.test, matrix: context, detail)

R-15620-41309-18590-43642-05731-59843-28363-36322

  In this case the call to sqlite3_backup_step() can be retried later. (source: c3ref/backup_finish.html, matrix: context, detail)

R-15629-60483-22088-30931-50587-36197-35177-56236

  If the locking mode is EXCLUSIVE when first entering WAL journal mode, then the locking mode cannot be changed to NORMAL until after exiting WAL journal mode. (source: pragma.html, checked-by: th3/req1/pragma05.test, matrix: context, detail)

R-15672-33611-05081-27963-61291-19773-24542-63496

  PRAGMA schema.page_count; Return the total number of pages in the database file. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma12.test, matrix: context, detail)

R-15704-22093-19659-04811-31747-18777-12777-21799

  If it is set to "ASC" (the default), then the data structures are optimized for returning results in ascending order by docid. (source: fts3.html, matrix: context, detail)

R-15707-53749-16663-50259-17040-65136-59107-02793

  The LIKE optimization will only be attempted if the right-hand side of the GLOB or LIKE operator is either literal string or a parameter that has been bound to a string literal. (source: optoverview.html, matrix: context, detail)

R-15737-42560-39966-60421-02348-13704-23907-48839

  Keyword arguments can optionally appear in quotes. (source: pragma.html, checked-by: th3/req1/pragma01.test, matrix: context, detail)

R-15741-50893-04622-59701-05174-07929-61978-12539

  The child key index does not have to be (and usually will not be) a UNIQUE index. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys09.test, matrix: context, detail)

R-15796-47513-29721-16055-11683-21050-32207-60873

  When comparing text values, the collating sequence associated with the parent key column is always used. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys03.test, matrix: context, detail)

R-15800-25719-02234-49112-58438-56406-07161-16214

  If index-name does not exist or cannot be used for the query, then the preparation of the SQL statement fails. (source: lang_indexedby.html, checked-by: tcl/indexedby.test, matrix: context, detail)

R-15807-22461-03820-63759-43480-30184-16184-55723

  The SQLITE_TRANSIENT value means that the content will likely change in the near future and that SQLite should make its own private copy of the content before returning. (source: c3ref/c_static.html, checked-by: th3/req1/clearbind01.test, th3/req1/static01.test, matrix: context, detail)

R-15810-56691-30500-50989-63977-00699-03712-43349

  The IN and NOT IN operators take an expression on the left and a list of values or a subquery on the right. (source: lang_expr.html, checked-by: th3/cov1/in01.test, matrix: context, detail)

R-15818-17128-00123-39161-32371-64598-56479-09338

  The first parameter is a prepared statement. If this statement is a SELECT statement and the Nth column of the returned result set of that SELECT is a table column (not an expression or subquery) then the declared type of the table column is returned. (source: c3ref/column_decltype.html, matrix: context, detail)

R-15825-58263-40535-43132-40682-17971-55847-38484

  The psow query parameter overrides the powersafe overwrite property of the database file being opened. (source: uri.html, matrix: context, detail)

R-15842-53296-08003-60856-35696-17823-54223-09480

  The WHERE clause on a query is broken up into "terms" where each term is separated from the others by an AND operator. (source: optoverview.html, matrix: context, detail)

R-15867-30493-08974-44645-42836-18647-48672-50550

  The "." character is always used as the decimal point even if the locale setting specifies "," for this role - the use of "," for the decimal point would result in syntactic ambiguity. (source: lang_expr.html, checked-by: th3/req1/expr01.test, matrix: context, detail)

R-15888-36326-49147-46840-54698-34618-50911-39482

  Similarly, the "DEFAULT VALUES" form of the INSERT statement is supported for top-level INSERT statements only and not for INSERT statements within triggers. (source: lang_insert.html, checked-by: tcl/e_insert.test, matrix: context, detail)

R-15909-61171-23810-45611-13574-21954-09176-43834

  In incremental mode, the separate incremental_vacuum pragma must be invoked to cause the auto-vacuum to occur. (source: pragma.html, checked-by: th3/req1/pragma07.test, matrix: context, detail)

R-15958-50233-58629-08203-04879-28676-03150-11250

  As you would expect, it is not possible to manipulate the database to a state that violates the foreign key constraint by deleting or updating rows in the artist table either: sqlite> -- Attempting to delete the artist record for "Frank Sinatra" fails, since sqlite> -- the track table contains a row that refer to it. sqlite> DELETE FROM artist WHERE artistname = 'Frank Sinatra'; SQL error: foreign key constraint failed sqlite> -- Delete all the records from the track table that refer to the artist sqlite> -- "Frank Sinatra". Only then is it possible to delete the artist. sqlite> DELETE FROM track WHERE trackname = 'My Way'; sqlite> DELETE FROM artist WHERE artistname = 'Frank Sinatra'; sqlite> -- Try to update the artistid of a row in the artist table while there sqlite> -- exists records in the track table that refer to it. sqlite> UPDATE artist SET artistid=4 WHERE artistname = 'Dean Martin'; SQL error: foreign key constraint failed sqlite> -- Once all the records that refer to a row in the artist table have sqlite> -- been deleted, it is possible to modify the artistid of the row. sqlite> DELETE FROM track WHERE trackname IN('That''s Amore', 'Christmas Blues'); sqlite> UPDATE artist SET artistid=4 WHERE artistname = 'Dean Martin'; (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys01.test, matrix: context, detail)

R-15968-48708-39759-44208-63382-65413-21684-48201

  The other allowed parameters to sqlite3_mutex_alloc() (anything other than SQLITE_MUTEX_FAST and SQLITE_MUTEX_RECURSIVE) each return a pointer to a static preexisting mutex. (source: c3ref/mutex_alloc.html, matrix: context, detail)

R-15996-49369-09216-34166-12668-33958-11442-01163

  This function returns the number of rows modified, inserted or deleted by the most recently completed INSERT, UPDATE or DELETE statement on the database connection specified by the only parameter. (source: c3ref/changes.html, checked-by: tcl/e_changes.test, matrix: context, detail)

R-15997-27576-09912-47070-23601-24983-46411-48984

  PRAGMA read_uncommitted; PRAGMA read_uncommitted = boolean; Query, set, or clear READ UNCOMMITTED isolation. (source: pragma.html, matrix: context, detail)

R-16028-39081-19377-46684-10718-53381-04734-64750

  The min() aggregate function returns the minimum non-NULL value of all values in the group. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-16046-57096-05363-52910-04894-60844-28556-45944

  If the "unordered" argument is present, then the query planner assumes that the index is unordered and will not use the index for a range query or for sorting. (source: fileformat2.html, checked-by: th3/cov1/unordered01.test, matrix: context, detail)

R-16057-55834-34183-27727-54013-42481-60412-05224

  The extension can add new functions or collating sequences, but cannot modify or delete existing functions or collating sequences because those functions and/or collating sequences might be used elsewhere in the currently running SQL statement. (source: lang_corefunc.html, checked-by: th3/cov1/func03.test, matrix: context, detail)

R-16074-54196-43824-25031-17914-10655-20694-13926

  If the FROM clause is omitted from a simple SELECT statement, then the input data is implicitly a single row zero columns wide (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-16085-53730-63732-38499-15956-61706-03515-37986

  If the optional IF NOT EXISTS clause is present and another index with the same name already exists, then this command becomes a no-op. (source: lang_createindex.html, checked-by: th3/req1/createidx01.test, matrix: context, detail)

R-16127-35442-25332-57824-03233-02546-37060-55461

  The following SQLite command-line session illustrates the effect of the foreign key constraint added to the track table: sqlite> SELECT * FROM artist; artistid artistname -------- ----------------- 1 Dean Martin 2 Frank Sinatra sqlite> SELECT * FROM track; trackid trackname trackartist ------- ----------------- ----------- 11 That's Amore 1 12 Christmas Blues 1 13 My Way 2 sqlite> -- This fails because the value inserted into the trackartist column (3) sqlite> -- does not correspond to row in the artist table. sqlite> INSERT INTO track VALUES(14, 'Mr. Bojangles', 3); SQL error: foreign key constraint failed sqlite> -- This succeeds because a NULL is inserted into trackartist. A sqlite> -- corresponding row in the artist table is not required in this case. sqlite> INSERT INTO track VALUES(14, 'Mr. Bojangles', NULL); sqlite> -- Trying to modify the trackartist field of the record after it has sqlite> -- been inserted does not work either, since the new value of trackartist (3) sqlite> -- Still does not correspond to any row in the artist table. sqlite> UPDATE track SET trackartist = 3 WHERE trackname = 'Mr. Bojangles'; SQL error: foreign key constraint failed sqlite> -- Insert the required row into the artist table. It is then possible to sqlite> -- update the inserted row to set trackartist to 3 (since a corresponding sqlite> -- row in the artist table now exists). sqlite> INSERT INTO artist VALUES(3, 'Sammy Davis Jr.'); sqlite> UPDATE track SET trackartist = 3 WHERE trackname = 'Mr. Bojangles'; sqlite> -- Now that "Sammy Davis Jr." (artistid = 3) has been added to the database, sqlite> -- it is possible to INSERT new tracks using this artist without violating sqlite> -- the foreign key constraint: sqlite> INSERT INTO track VALUES(15, 'Boogie Woogie', 3); (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys01.test, matrix: context, detail)

R-16179-57541-27339-65229-35614-47877-55057-18753

  After the error message is delivered up to the client application, the string will be automatically freed by sqlite3_free() and the zErrMsg field will be zeroed. (source: c3ref/vtab.html, checked-by: th3/req1/vtab01.test, matrix: context, detail)

R-16185-00071-09955-21762-46377-47789-41533-03861

  SQLite uses a cost-based query planner that estimates the CPU and disk I/O costs of various competing query plans and chooses the plan that it thinks will be the fastest. (source: optoverview.html, matrix: context, detail)

R-16185-13185-15947-28676-15535-40253-42456-41343

  The sqlite3_str_finish(X) interface will also return a NULL pointer if the string in sqlite3_str object X is zero bytes long. (source: c3ref/str_finish.html, matrix: context, detail)

R-16230-40037-23249-35634-11042-62086-60136-18681

  The LIKE and GLOB optimizations consist of adding two virtual terms like this: column >= x AND column < y (source: optoverview.html, matrix: context, detail)

R-16262-20798-18081-17023-40907-44361-41056-32016

  If X is a string then characters indices refer to actual UTF-8 characters. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, matrix: context, detail)

R-16263-09274-39662-25002-11330-48229-57034-52902

  Whenever the xFilename parameter is NULL it will also be the case that the flags parameter will include SQLITE_OPEN_DELETEONCLOSE. (source: c3ref/vfs.html, checked-by: th3/th3testvfs.c, matrix: context, detail)

R-16315-56881-31877-40762-35289-40185-03417-40758

  SQLite uses the string pointed to by the 2nd parameter of sqlite3_result_error() or sqlite3_result_error16() as the text of an error message. (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-16333-64433-39289-13667-32304-47493-49006-13545

  Checkpoint as many frames as possible without waiting for any database readers or writers to finish, then sync the database file if all frames in the log were checkpointed. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, th3/req1/checkpoint01.test, matrix: context, detail)

R-16335-41477-51529-00085-31320-00976-56017-05968

  The implementation of the new function always causes an exception to be thrown. (source: c3ref/overload_function.html, matrix: context, detail)

R-16338-21766-30824-60129-14672-05861-18786-65530

  The sqlite_schema.sql is NULL for the internal indexes that are automatically created by UNIQUE or PRIMARY KEY constraints. (source: fileformat2.html, matrix: context, detail)

R-16368-45976-00872-58854-24152-50721-64128-13057

  If the specified column is "rowid", "oid" or "_rowid_" and the table is not a WITHOUT ROWID table and an INTEGER PRIMARY KEY column has been explicitly declared, then the output parameters are set for the explicitly declared column. (source: c3ref/table_column_metadata.html, checked-by: th3/cov1/metadata01.test, matrix: context, detail)

R-16414-44626-57508-12770-26365-35758-32257-17918

  strftime(format, timestring, modifier, modifier, ...) (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-16423-47210-04827-18220-00892-21798-11379-58569

  SQLITE_CONFIG_LOOKASIDE sets the default lookaside size. The SQLITE_DBCONFIG_LOOKASIDE option to sqlite3_db_config() can be used to change the lookaside configuration on individual connections. (source: c3ref/c_config_covering_index_scan.html, matrix: context, detail)

R-16465-40078-63621-42444-05703-20205-45309-57719

  An error is still returned if the table cannot be created because of an existing index, even if the "IF NOT EXISTS" clause is specified. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-16469-27921-09165-55692-23366-54628-53596-65397

  Let X be ((U-12)*64/255)-23. If the payload size P is less than or equal to X then the entire payload is stored on the b-tree page. (source: fileformat2.html, matrix: context, detail)

R-16560-34565-42127-15402-21393-00583-21014-04940

  When memory allocation statistics are disabled, the following SQLite interfaces become non-operational: sqlite3_hard_heap_limit64() sqlite3_memory_used() sqlite3_memory_highwater() sqlite3_soft_heap_limit64() sqlite3_status64() (source: c3ref/c_config_covering_index_scan.html, matrix: context, detail)

R-16566-16123-02807-20883-30772-24192-15588-47043

  If the fourth parameter to sqlite3_bind_text() or sqlite3_bind_text16() is negative, then the length of the string is the number of bytes up to the first zero terminator. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-16584-60189-60940-01835-35282-37415-55139-16536

  The LIKE operator does a pattern matching comparison. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-16618-15294-40098-25515-23421-58217-44729-28455

  The xDestroy callback is not called if the sqlite3_create_collation_v2() function fails. (source: c3ref/create_collation.html, checked-by: th3/req1/createcoll01.test, matrix: context, detail)

R-16625-30785-18660-34070-49109-22249-51329-26220

  CREATE TABLE t1( t TEXT, -- text affinity by rule 2 nu NUMERIC, -- numeric affinity by rule 5 i INTEGER, -- integer affinity by rule 1 r REAL, -- real affinity by rule 4 no BLOB -- no affinity by rule 3 ); -- Values stored as TEXT, INTEGER, INTEGER, REAL, TEXT. INSERT INTO t1 VALUES('500.0', '500.0', '500.0', '500.0', '500.0'); SELECT typeof(t), typeof(nu), typeof(i), typeof(r), typeof(no) FROM t1; text|integer|integer|real|text -- Values stored as TEXT, INTEGER, INTEGER, REAL, REAL. DELETE FROM t1; INSERT INTO t1 VALUES(500.0, 500.0, 500.0, 500.0, 500.0); SELECT typeof(t), typeof(nu), typeof(i), typeof(r), typeof(no) FROM t1; text|integer|integer|real|real -- Values stored as TEXT, INTEGER, INTEGER, REAL, INTEGER. DELETE FROM t1; INSERT INTO t1 VALUES(500, 500, 500, 500, 500); SELECT typeof(t), typeof(nu), typeof(i), typeof(r), typeof(no) FROM t1; text|integer|integer|real|integer -- BLOBs are always stored as BLOBs regardless of column affinity. DELETE FROM t1; INSERT INTO t1 VALUES(x'0500', x'0500', x'0500', x'0500', x'0500'); SELECT typeof(t), typeof(nu), typeof(i), typeof(r), typeof(no) FROM t1; blob|blob|blob|blob|blob -- NULLs are also unaffected by affinity DELETE FROM t1; INSERT INTO t1 VALUES(NULL,NULL,NULL,NULL,NULL); SELECT typeof(t), typeof(nu), typeof(i), typeof(r), typeof(no) FROM t1; null|null|null|null|null (source: datatype3.html, checked-by: th3/req1/datatype3_03.test, matrix: context, detail)

R-16642-42503-02054-10937-29863-20492-60012-48807

  If pnLog is not NULL, then *pnLog is set to the total number of frames in the log file or to -1 if the checkpoint could not run because of an error or because the database is not in WAL mode. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, matrix: context, detail)

R-16646-21584-46697-05681-31663-32907-36469-00200

  Assuming that customer records are stored in the "customers" table, and that order records are stored in the "orders" table, the following UPDATE trigger ensures that all associated orders are redirected when a customer changes his or her address: CREATE TRIGGER update_customer_address UPDATE OF address ON customers BEGIN UPDATE orders SET address = new.address WHERE customer_name = old.name; END; With this trigger installed, executing the statement: UPDATE customers SET address = '1 Main St.' WHERE name = 'Jack Jones'; causes the following to be automatically executed: UPDATE orders SET address = '1 Main St.' WHERE customer_name = 'Jack Jones'; (source: lang_createtrigger.html, matrix: context, detail)

R-16667-09772-49719-31383-20699-54843-21151-14987

  A table created using CREATE TABLE AS has no PRIMARY KEY and no constraints of any kind. The default value of each column is NULL. The default collation sequence for each column of the new table is BINARY. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-16677-54172-01660-13905-64102-51935-20932-64314

  All spaces following the first two keywords are converted into a single space. (source: fileformat2.html, matrix: context, detail)

R-16711-29980-24951-32335-36937-22599-07259-26262

  The filename in the INTO clause can be an arbitrary SQL expression that evaluates to a string. (source: lang_vacuum.html, checked-by: th3/cov1/vacuum10.test, matrix: context, detail)

R-16717-50504-54717-12200-54209-43488-56382-57633

  Each R*Tree index is a virtual table with an odd number of columns between 3 and 11. (source: rtree.html, matrix: context, detail)

R-16727-13091-18593-02936-45365-35968-45386-40640

  The column may not be GENERATED ALWAYS . (source: lang_altertable.html, matrix: context, detail)

R-16735-29088-33516-22402-46874-28284-28835-57919

  When two TEXT values are compared an appropriate collating sequence is used to determine the result. (source: datatype3.html, checked-by: th3/req1/datatype3_04.test, matrix: context, detail)

R-16748-44311-29408-30496-47489-38562-34902-17551

  If the specified table is actually a view, an error code is returned. (source: c3ref/table_column_metadata.html, checked-by: th3/cov1/metadata01.test, matrix: context, detail)

R-16775-34716-48016-59856-43563-01952-64923-08515

  You cannot DELETE, INSERT, or UPDATE a view. (source: lang_createview.html, checked-by: th3/req1/view01.test, matrix: context, detail)

R-16776-49985-46642-51355-02020-16796-53995-22275

  The integer return value from the callback is currently ignored, though this may change in future releases. (source: c3ref/trace_v2.html, matrix: context, detail)

R-16824-07538-50218-17384-27705-17061-18390-01878

  Support for the diagnostic functions sqlite3_compileoption_used() and sqlite3_compileoption_get() may be omitted by specifying the SQLITE_OMIT_COMPILEOPTION_DIAGS option at compile time. (source: c3ref/compileoption_get.html, checked-by: src/ctime.c, matrix: context, detail)

R-16876-26469-56495-43773-04643-04870-06914-01150

  However, in many cases you can use an INSTEAD OF trigger on the view to accomplish the same thing. (source: lang_createview.html, matrix: context, detail)

R-16907-50223-28692-47460-07440-02664-00215-50680

  The SQL syntax for custom queries is the same regardless of which interface, sqlite3_rtree_geometry_callback() or sqlite3_rtree_query_callback(), is used to register the SQL function. (source: rtree.html, matrix: context, detail)

R-16960-46772-37295-51769-03234-47143-37776-03273

  The xSetSystemCall(), xGetSystemCall(), and xNestSystemCall() interfaces are not used by the SQLite core. (source: c3ref/vfs.html, matrix: context, detail)

R-17002-27534-60658-04301-02636-10331-43886-13324

  The %z format is interchangeable with %s. (source: lang_corefunc.html, checked-by: tcl/printf2.test, th3/cov1/printf08.test, matrix: context, detail)

R-17004-26469-33978-15550-51185-63234-25288-10208

  Multiple collating functions can be registered using the same name but with different eTextRep parameters and SQLite will use whichever function requires the least amount of data transformation. (source: c3ref/create_collation.html, checked-by: th3/req1/createcoll01.test, matrix: context, detail)

R-17039-33674-48721-19365-01161-03583-42602-47199

  If this global variable is made to point to a string which is the name of a folder (a.k.a. directory), then all database files specified with a relative pathname and created or accessed by SQLite when using a built-in windows VFS will be assumed to be relative to that directory. (source: c3ref/data_directory.html, matrix: context, detail)

R-17066-08509-20793-46689-03241-48208-02822-18117

  The multi-argument min() function searches its arguments from left to right for an argument that defines a collating function and uses that collating function for all string comparisons. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-17069-05052-11760-32212-31983-21465-64929-00475

  Regardless of whether or not it is successful, this file control takes the file descriptor out of batch write mode so that all subsequent write operations are independent. (source: c3ref/c_fcntl_begin_atomic_write.html, matrix: context, detail)

R-17100-46000-36927-33778-08378-49986-19867-19918

  The sqlite3_column_name() interface returns a pointer to a zero-terminated UTF-8 string and sqlite3_column_name16() returns a pointer to a zero-terminated UTF-16 string. (source: c3ref/column_name.html, matrix: context, detail)

R-17129-39366-12879-37953-16940-52651-36509-01278

  The SQLITE_ENABLE_STAT3 and SQLITE_ENABLE_STAT4 options causes the ANALYZE command to collect a histogram of column content in the sqlite_stat3 or sqlite_stat4 tables and to use this histogram to make a better guess at the best query to use for range constraints such as the above. (source: optoverview.html, matrix: context, detail)

R-17146-37073-08858-03066-53488-24451-10311-22699

  Within a trigger program each INSERT, UPDATE and DELETE statement sets the value returned by sqlite3_changes() upon completion as normal. Of course, this value will not include any changes performed by sub-triggers, as the sqlite3_changes() value will be saved and restored after each sub-trigger has run. (source: c3ref/changes.html, checked-by: tcl/e_changes.test, matrix: context, detail)

R-17151-07205-10894-28299-62821-16887-02117-62221

  The sort order may or may not be ignored depending on the database file format, and in particular the schema format number. (source: lang_createindex.html, checked-by: th3/req1/createidx02.test, matrix: context, detail)

R-17186-50053-08160-14434-65470-31031-28806-57680

  The busy-handler callback is never invoked in this mode. (source: pragma.html, checked-by: th3/req1/checkpoint01.test, matrix: context, detail)

R-17203-10061-39568-47821-02948-38975-34395-48032

  Calling sqlite3_free() with a pointer previously returned by sqlite3_malloc() or sqlite3_realloc() releases that memory so that it might be reused. (source: c3ref/free.html, checked-by: th3/req1/malloc02.test, matrix: context, detail)

R-17228-37124-21945-03605-09770-36410-30558-62639

  If the action code is SQLITE_DELETE and the callback returns SQLITE_IGNORE then the DELETE operation proceeds but the truncate optimization is disabled and all rows are deleted individually. (source: c3ref/set_authorizer.html, checked-by: src/delete.c, th3/cov1/delete05.test, matrix: context, detail)

R-17269-58859-62979-20789-28373-02283-01402-32903

  The pArg argument is passed through to the callback. (source: c3ref/commit_hook.html, matrix: context, detail)

R-17287-50357-43174-57829-08409-00389-08180-30252

  sqlite> EXPLAIN QUERY PLAN SELECT * FROM (SELECT * FROM t2 WHERE c=1), t1; QUERY PLAN |--SEARCH TABLE t2 USING INDEX i4 (c=?) `--SCAN TABLE t1 (source: eqp.html, matrix: context, detail)

R-17287-60737-33985-12645-22938-14534-06595-16406

  Immediately following the wal-header are zero or more frames. (source: fileformat2.html, matrix: context, detail)

R-17313-07189-19129-06928-03198-35699-51824-58751

  The S and M arguments passed to sqlite3_backup_init(D,N,S,M) identify the database connection and database name of the source database, respectively. (source: c3ref/backup_finish.html, checked-by: th3/req1/backup02.test, matrix: context, detail)

R-17329-35644-14084-44573-27599-05498-14002-35742

  If both arguments X and Y to instr(X,Y) are non-NULL and are not BLOBs then both are interpreted as strings. (source: lang_corefunc.html, checked-by: tcl/instr.test, matrix: context, detail)

R-17341-41375-54397-54408-61756-02302-26643-35471

  This is the number of times that SQLite has stepped forward in a table as part of a full table scan. (source: c3ref/c_stmtstatus_counter.html, matrix: context, detail)

R-17379-32951-58399-57501-33498-60036-41846-10214

  Any attempt to insert a duplicate entry will result in an error. (source: lang_createindex.html, checked-by: th3/req1/createidx01.test, matrix: context, detail)

R-17403-41821-06964-23183-41391-40881-28445-64765

  This value is not actually a counter, and so the resetFlg parameter to sqlite3_stmt_status() is ignored when the opcode is SQLITE_STMTSTATUS_MEMUSED. (source: c3ref/c_stmtstatus_counter.html, matrix: context, detail)

R-17446-42210-34693-14358-63736-15125-50788-14623

  Like other SQL identifiers, schema names are case-insensitive. (source: lang_naming.html, checked-by: tcl/e_resolve.test, matrix: context, detail)

R-17458-15700-03472-60284-42134-49579-06923-34319

  The sqlite3_stmt_busy(S) interface returns false if S is a NULL pointer. (source: c3ref/stmt_busy.html, checked-by: th3/cov1/vdbeapi03.test, matrix: context, detail)

R-17482-00398-10630-63000-62255-53684-56492-08333

  If the authority is not an empty string or "localhost", an error is returned to the caller. (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-17495-17419-60080-02439-41171-12294-54829-31710

  The VACUUM command may change the ROWIDs of entries in any tables that do not have an explicit INTEGER PRIMARY KEY. (source: lang_vacuum.html, checked-by: tcl/e_vacuum.test, th3/cov1/vacuum01.test, matrix: context, detail)

R-17497-43474-02755-40707-55508-06941-43855-44277

  Likewise, registering a callback using sqlite3_wal_hook() disables the automatic checkpoint mechanism configured by this function. (source: c3ref/wal_autocheckpoint.html, checked-by: tcl/e_walauto.test, matrix: context, detail)

R-17503-25110-05842-17616-27745-25701-57748-55330

  If the WAL contains no copies of page P that are valid and which are a commit frame or are followed by a commit frame, then page P is read from the database file. (source: fileformat2.html, matrix: context, detail)

R-17503-44008-12544-16508-15108-35473-45615-30294

  The default implementation stores all statistics in a single table named "sqlite_stat1". (source: lang_analyze.html, checked-by: th3/req1/analyze01.test, matrix: context, detail)

R-17527-22739-13874-05126-20619-29164-21106-56855

  Parameter OutputType Description 5th const char* Data type 6th const char* Name of default collation sequence 7th int True if column has a NOT NULL constraint 8th int True if column is part of the PRIMARY KEY 9th int True if column is AUTOINCREMENT (source: c3ref/table_column_metadata.html, checked-by: th3/cov1/metadata01.test, matrix: context, detail)

R-17535-15185-26123-07430-36338-10169-10447-08966

  If foreign key constraints are enabled, a DROP TABLE command performs an implicit DELETE FROM command before removing the table from the database schema. (source: lang_droptable.html, checked-by: th3/req1/droptable01.test, matrix: context, detail)

R-17537-00183-53931-12298-10408-12793-18687-03447

  A similar effect occurs when the original date is February 29 of a leapyear and the modifier is ±N years where N is not a multiple of four. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-17564-54218-01993-46231-42657-60991-50837-12624

  If the resetFlag is true, then the highest record value is reset after *pHighwater is written. (source: c3ref/status.html, matrix: context, detail)

R-17579-15688-44175-34852-39551-28405-28214-64262

  These interfaces are only available if SQLite is compiled using the SQLITE_ENABLE_PREUPDATE_HOOK compile-time option. (source: c3ref/preupdate_count.html, matrix: context, detail)

R-17591-50446-37876-17822-10375-27592-36497-28987

  Boolean values are stored as integers 0 (false) and 1 (true). (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-17596-52174-25214-41225-30917-27450-40075-28590

  A particular database will use either a rollback journal or a WAL, but not both at the same time. (source: fileformat2.html, matrix: context, detail)

R-17615-49737-42602-31197-05538-64484-08202-17390

  A negative number implies no limit. (source: pragma.html, checked-by: th3/req1/pragma26.test, matrix: context, detail)

R-17628-54414-54605-31939-57279-20393-13350-52356

  The next time SQLite attempts to open the database file, the presence of the rollback journal file will be detected and the journal will be automatically played back to restore the database to its state at the start of the incomplete transaction. (source: fileformat2.html, matrix: context, detail)

R-17644-02150-10619-56225-58542-30426-53377-14747

  The sqlite3_create_module_v2() interface has a fifth parameter which is a pointer to a destructor for the pClientData. (source: c3ref/create_module.html, matrix: context, detail)

R-17644-24322-63248-40281-26514-10793-04355-46693

  Notice that all other date and time functions can be expressed in terms of strftime(): FunctionEquivalent strftime() date(...) strftime('%Y-%m-%d', ...) time(...) strftime('%H:%M:%S', ...) datetime(...) strftime('%Y-%m-%d %H:%M:%S', ...) julianday(...) strftime('%J', ...) (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-17683-59594-13579-14757-04762-40863-05270-49270

  At various points during the compilation process, as logic is being created to perform various actions, the authorizer callback is invoked to see if those actions are allowed. (source: c3ref/set_authorizer.html, matrix: context, detail)

R-17684-03275-18018-08876-61159-17187-00685-37913

  Only ROWID values from previous transactions that were committed are considered. ROWID values that were rolled back are ignored and can be reused. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-17719-44813-04835-03337-09891-18871-23593-16128

  An aggregate SQL function requires an implementation of xStep and xFinal and NULL pointer must be passed for xFunc. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc03.test, matrix: context, detail)

R-17719-64233-56665-24727-28694-41697-48581-47600

  Each frame consists of a 24-byte frame-header followed by a page-size bytes of page data. (source: fileformat2.html, matrix: context, detail)

R-17746-39108-25168-47884-07203-13722-37711-19749

  Pointers to the right of X refer to pages where all keys are greater than X. (source: fileformat2.html, matrix: context, detail)

R-17759-10613-53810-53402-33339-35108-00085-57750

  Most R*Tree queries use a depth-first search. This is accomplished by setting the rScore equal to iLevel. (source: rtree.html, matrix: context, detail)

R-17768-43126-25682-30166-03658-34000-04918-35023

  The name of a result column is the value of the "AS" clause for that column, if there is an AS clause. (source: c3ref/column_name.html, matrix: context, detail)

R-17784-08205-07510-46755-33017-49924-02897-50961

  The sqlite3_snapshot_open(D,S,P) interface either starts a new read transaction or upgrades an existing one for schema S of database connection D such that the read transaction refers to historical snapshot P, rather than the most recent change to the database. (source: c3ref/snapshot_open.html, matrix: context, detail)

R-17805-37710-17139-40895-40838-31681-06316-29590

  However, SQLite will nest the loops in a different order if doing so will help it to select better indices. (source: optoverview.html, matrix: context, detail)

R-17817-00630-38271-37218-33911-49615-48775-23865

  If the largest possible ROWID has previously been inserted, then new INSERTs are not allowed and any attempt to insert a new row will fail with an SQLITE_FULL error. (source: autoinc.html, checked-by: src/vdbe.c, th3/req1/autoinc01.test, matrix: context, detail)

R-17817-46062-61072-05424-12542-62157-01447-33721

  If an error occurs within sqlite3_backup_init(D,N,S,M), then NULL is returned and an error code and error message are stored in the destination database connection D. (source: c3ref/backup_finish.html, checked-by: th3/req1/backup02.test, matrix: context, detail)

R-17840-50075-33076-39937-50165-09009-15721-26614

  In ordinary indexes, there is exactly one entry in the index for every row in the table. (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-17847-41579-08261-19893-13376-57099-17968-14055

  The third parameter (nArg) is the number of arguments that the SQL function or aggregate takes. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc02.test, matrix: context, detail)

R-17874-21123-26215-56857-37279-50732-34133-47276

  The first column of an SQLite R*Tree is similar to an integer primary key column of a normal SQLite table. (source: rtree.html, matrix: context, detail)

R-17899-04554-16139-08865-17180-48146-22421-25181

  Table names that begin with "sqlite_" are reserved for internal use. It is an error to attempt to create a table with a name that starts with "sqlite_". (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-17926-09424-52325-52888-31926-01436-23382-42237

  The statistics gathered by this scan are stored in special database tables names shows names all begin with "sqlite_stat". (source: optoverview.html, matrix: context, detail)

R-17939-38828-17695-42161-08728-29310-38414-12197

  The fifth parameter is an arbitrary pointer. The implementation of the function can gain access to this pointer using sqlite3_user_data(). (source: c3ref/create_function.html, checked-by: th3/req1/userdata01.test, matrix: context, detail)

R-17957-41878-23952-00530-42808-37166-56745-23900

  In the following query, the optimizer is free to reorder the tables of FROM clause anyway it sees fit: SELECT * FROM node AS n1, edge AS e, node AS n2 WHERE n1.name = 'alice' AND n2.name = 'bob' AND e.orig = n1.id AND e.dest = n2.id; (source: optoverview.html, matrix: context, detail)

R-18023-38297-26646-57171-09733-60965-00209-38549

  EXTRA synchronous is like FULL with the addition that the directory containing a rollback journal is synced after that journal is unlinked to commit a transaction in DELETE mode. (source: pragma.html, matrix: context, detail)

R-18031-23188-38756-14350-07582-34544-63211-44348

  If there is no metadata associated with the function argument, the sqlite3_get_auxdata(C,N) interface returns a NULL pointer. (source: c3ref/get_auxdata.html, matrix: context, detail)

R-18043-40700-22598-52813-64197-51522-53393-10304

  The psow query parameter works with the default windows and unix VFSes but might be a no-op for other proprietary or non-standard VFSes. (source: uri.html, matrix: context, detail)

R-18085-46797-38544-57069-39269-06542-00638-19188

  numeric arguments in parentheses that following the type name (ex: "VARCHAR(255)") are ignored (source: datatype3.html, checked-by: th3/req1/datatype3_02.test, matrix: context, detail)

R-18088-57186-13089-35997-22868-17352-00310-65503

  For example, let the index be CREATE INDEX ex1 ON tab1(a,b) WHERE a=5 OR b=6; And let the query be: SELECT * FROM tab1 WHERE b=6 AND a=7; -- uses partial index Then the index is usable by the query because the "b=6" term appears in both the index definition and in the query. (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-18130-23470-26620-07261-16274-17871-22790-47651

  This interface enables or disables both the C-API sqlite3_load_extension() and the SQL function load_extension(). (source: c3ref/enable_load_extension.html, matrix: context, detail)

R-18143-12121-25249-36193-24562-40889-39176-48672

  Value is the integer 1. (source: fileformat2.html, checked-by: src/vdbeaux.c, th3/req1/fileformat02.test, matrix: context, detail)

R-18160-43138-45730-29033-18368-13452-34551-31953

  PRAGMA foreign_keys; PRAGMA foreign_keys = boolean; Query, set, or clear the enforcement of foreign key constraints. (source: pragma.html, checked-by: th3/req1/pragma18.test, matrix: context, detail)

R-18160-48734-12487-09997-11031-61003-43897-08278

  SQLITE_STATUS_MALLOC_SIZE This parameter records the largest memory allocation request handed to sqlite3_malloc() or sqlite3_realloc() (or their internal equivalents). Only the value returned in the *pHighwater parameter to sqlite3_status() is of interest. The value written into the *pCurrent parameter is undefined. (source: c3ref/c_status_malloc_count.html, matrix: context, detail)

R-18190-43830-34676-47582-56241-44977-21337-20567

  If an error occurs and pzErrMsg is not 0, then the sqlite3_load_extension() interface shall attempt to fill *pzErrMsg with error message text stored in memory obtained from sqlite3_malloc(). (source: c3ref/load_extension.html, matrix: context, detail)

R-18219-48316-63080-50419-00617-04513-48558-33147

  In other words, the values to the right of the IN operator (the "x", "y", and "z" values in this example) are considered to have no affinity, even if they happen to be column values or CAST expressions. (source: datatype3.html, checked-by: th3/req1/datatype3_05.test, matrix: context, detail)

R-18232-39104-31806-20551-06401-15021-42756-14177

  The TEMP or TEMPORARY keyword is removed if it occurs after the initial CREATE keyword. (source: fileformat2.html, matrix: context, detail)

R-18318-14995-07554-10565-41972-64784-37540-10382

  The value of a subquery expression is the first row of the result from the enclosed SELECT statement. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-18321-05872-40763-16666-14015-36142-16508-50881

  The flags parameter to sqlite3_open_v2() must include, at a minimum, one of the following three flag combinations: (source: c3ref/open.html, checked-by: src/main.c, matrix: context, detail)

R-18347-31070-03027-11066-56518-02178-55511-27886

  NULL values (serial type 0) sort first. (source: fileformat2.html, checked-by: th3/req1/fileformat05.test, matrix: context, detail)

R-18364-25640-43471-65335-34300-00271-36361-11229

  Some mathematical operators (%, <<, >>, &, and |) expect INTEGER operands. For those operators, REAL operands are converted into INTEGER in the same way as a CAST to INTEGER. (source: datatype3.html, checked-by: th3/req1/datatype3_06.test, matrix: context, detail)

R-18369-35089-02774-53882-33695-33553-03042-04730

  In each such row, the sqlite_stat.stat column will be a string consisting of a list of integers followed by zero or more arguments. (source: fileformat2.html, matrix: context, detail)

R-18401-29434-64954-06986-64183-65174-36377-46247

  The ROLLBACK TO command reverts the state of the database back to what it was just after the corresponding SAVEPOINT. (source: lang_savepoint.html, matrix: context, detail)

R-18404-60208-00331-08583-24532-43133-17599-55121

  For the purposes of this paragraph, hexadecimal integer literals are not considered well-formed and are stored as TEXT. (This is done for historical compatibility with versions of SQLite prior to version 3.8.6 2014-08-15 where hexadecimal integer literals were first introduced into SQLite.) (source: datatype3.html, matrix: context, detail)

R-18439-38548-20374-55698-53430-21042-59445-48532

  In other words, if the left-hand dataset consists of Nleft rows of Mleft columns, and the right-hand dataset of Nright rows of Mright columns, then the cartesian product is a dataset of Nleft×Nright rows, each containing Mleft+Mright columns. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-18444-13968-40811-25945-54439-20224-30854-05072

  If the progress callback returns non-zero, the operation is interrupted. (source: c3ref/progress_handler.html, checked-by: th3/req1/progress01.test, matrix: context, detail)

R-18448-33677-24948-48953-25784-65474-15600-00219

  If a schema-name is specified, it must be either "main", "temp", or the name of an attached database. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-18465-63076-46355-46123-39901-27541-22994-57422

  The sqlite3_data_count(P) routine also returns 0 if P is a NULL pointer. (source: c3ref/data_count.html, checked-by: th3/req1/datacnt01.test, matrix: context, detail)

R-18500-08619-10931-07451-20568-56201-09385-55546

  When the auto-vacuum mode is 1 or "full", the freelist pages are moved to the end of the database file and the database file is truncated to remove the freelist pages at every transaction commit. (source: pragma.html, checked-by: th3/req1/pragma07.test, matrix: context, detail)

R-18509-21923-06285-21395-08287-44781-54571-62637

  In a well-formed sqlite_stat4 table, the samples for any single index must appear in the same order that they occur in the index. In other words, if entry S1 is earlier in the index b-tree than entry S2, then in the sqlite_stat4 table, sample S1 must have a smaller rowid than sample S2. (source: fileformat2.html, matrix: context, detail)

R-18547-52845-30240-29713-43116-28155-35660-14807

  The nul terminator is not stored. (source: fileformat2.html, checked-by: th3/req1/fileformat02.test, matrix: context, detail)

R-18567-63872-28950-34991-21095-45728-61145-64681

  The 4th argument to sqlite3_exec() is relayed through to the 1st argument of each callback invocation. (source: c3ref/exec.html, checked-by: th3/req1/exec01.test, matrix: context, detail)

R-18628-11938-58280-60424-32964-58816-64179-48454

  If the LIMIT expression evaluates to non-negative value N and the UPDATE statement has an ORDER BY clause, then all rows that would be updated in the absence of the LIMIT clause are sorted according to the ORDER BY and the first N updated. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-18658-48735-17951-17191-40214-20850-63941-45114

  The third parameter passed to the logger is log message after formatting via sqlite3_snprintf(). (source: c3ref/c_config_covering_index_scan.html, checked-by: th3/cov1/log01.test, matrix: context, detail)

R-18665-26680-08407-38690-15882-41528-44716-07525

  The in-header database size is only considered to be valid if it is non-zero and if the 4-byte change counter at offset 24 exactly matches the 4-byte version-valid-for number at offset 92. (source: fileformat2.html, matrix: context, detail)

R-18669-12610-19021-20460-56494-30622-24671-33359

  A successful call to sqlite3_backup_init() returns a pointer to an sqlite3_backup object. (source: c3ref/backup_finish.html, checked-by: th3/req1/backup02.test, matrix: context, detail)

R-18673-21346-54823-18159-41507-63066-50898-24427

  The view to drop is identified by the view-name and optional schema-name specified as part of the DROP VIEW statement. This reference is resolved using the standard procedure for object resolution. (source: lang_dropview.html, checked-by: th3/cov1/build13.test, matrix: context, detail)

R-18684-41029-50457-11697-46944-61670-11271-59779

  When no rows match an aggregate query, the xStep() callback of the aggregate function implementation is never called and xFinal() is called exactly once. In those cases, sqlite3_aggregate_context() might be called for the first time from within xFinal(). (source: c3ref/aggregate_context.html, checked-by: th3/req1/aggcntx01.test, matrix: context, detail)

R-18692-17694-63404-11739-00590-02418-57066-37741

  If the table being renamed has triggers or indices, then these remain attached to the table after it has been renamed. (source: lang_altertable.html, checked-by: th3/req1/altertable01.test, matrix: context, detail)

R-18701-28385-27325-47261-28842-16656-24212-49294

  If sqlite3_realloc(X,N) returns NULL and N is positive, then the prior allocation is not freed. (source: c3ref/free.html, checked-by: th3/req1/malloc02.test, matrix: context, detail)

R-18705-33393-57819-41139-38249-59845-61429-28312

  If neither ASC or DESC are specified, rows are sorted in ascending (smaller values first) order by default. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-18711-35549-27220-03897-01638-65186-51204-23198

  The ROLLBACK command without a TO clause rolls backs all transactions and leaves the transaction stack empty. (source: lang_savepoint.html, matrix: context, detail)

R-18721-11322-01126-64339-40438-59164-27470-15171

  If the SQLITE_FCNTL_PRAGMA file control returns any result code other than SQLITE_OK or SQLITE_NOTFOUND, that means that the VFS encountered an error while handling the PRAGMA and the compilation of the PRAGMA fails with an error. (source: c3ref/c_fcntl_begin_atomic_write.html, checked-by: th3/cov1/pragma24.test, matrix: context, detail)

R-18741-16139-46901-23037-06510-07608-27753-13735

  If the third parameter to sqlite3_result_error() or sqlite3_result_error16() is negative then SQLite takes as the error message all text up through the first zero character. (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-18761-36601-52477-41858-50422-48259-26249-60600

  There are three arguments to SQLITE_CONFIG_PAGECACHE: A pointer to 8-byte aligned memory (pMem), the size of each page cache line (sz), and the number of cache lines (N). (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, th3/cov1/main42.test, matrix: context, detail)

R-18773-06579-40569-18123-18199-49078-54792-42080

  SQLITE_RANGE is returned if the parameter index is out of range. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-18814-23501-09117-45657-61449-22992-54979-37312

  Each time a row is inserted into the table by an INSERT statement that does not provide explicit values for all table columns the values stored in the new row are determined by their default values (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-18818-06259-05609-26467-03914-52420-50425-49000

  A SAVEPOINT can be started either within or outside of a BEGIN...COMMIT. (source: lang_savepoint.html, matrix: context, detail)

R-18846-05946-40974-48701-32199-53032-10077-35779

  With synchronous OFF (0), SQLite continues without syncing as soon as it has handed data off to the operating system. (source: pragma.html, matrix: context, detail)

R-18856-64447-32517-13318-33579-07767-23814-56336

  For example, the following CREATE TABLE statements all specify the same table, which will have the exact same representation on disk: CREATE TABLE t1(a,b,c,d,PRIMARY KEY(a,c)) WITHOUT ROWID); CREATE TABLE t1(a,b,c,d,PRIMARY KEY(a,c,a,c)) WITHOUT ROWID); CREATE TABLE t1(a,b,c,d,PRIMARY KEY(a,A,a,C)) WITHOUT ROWID); CREATE TABLE t1(a,b,c,d,PRIMARY KEY(a,a,a,a,c)) WITHOUT ROWID); (source: fileformat2.html, matrix: context, detail)

R-18879-47479-26487-44670-60127-29624-08821-22011

  If it is set to "DESC", then FTS4 stores its data in such a way as to optimize returning results in descending order by docid. (source: fts3.html, matrix: context, detail)

R-18885-42713-55126-22349-03815-15805-20030-42091

  A column with REAL affinity behaves like a column with NUMERIC affinity except that it forces integer values into floating point representation. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-18895-27365-20289-12607-60428-18477-59440-44133

  If the "TEMP" or "TEMPORARY" keyword occurs between the "CREATE" and "TABLE" then the new table is created in the temp database. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-18913-19355-04042-04396-26693-02137-35105-64598

  The fourth parameter is the number of pages currently in the write-ahead log file, including those that were just committed. (source: c3ref/wal_hook.html, checked-by: tcl/e_walhook.test, matrix: context, detail)

R-18927-01951-35709-41382-23039-58065-29475-65248

  Each column of the new row is populated with its default value, or with a NULL if no default value is specified as part of the column definition in the CREATE TABLE statement. (source: lang_insert.html, checked-by: tcl/e_insert.test, matrix: context, detail)

R-18962-08090-15768-27249-44223-08875-09432-04987

  Hence, a cache created with bPurgeable false will never contain any unpinned pages. (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-18964-51531-38235-16261-57269-07859-04237-25462

  This function causes any pending database operation to abort and return at its earliest opportunity. (source: c3ref/interrupt.html, matrix: context, detail)

R-18968-56672-08189-06837-25504-50513-21713-31862

  The ROWID chosen for the new row is at least one larger than the largest ROWID that has ever before existed in that same table. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-18977-48537-51631-02692-14706-00961-61427-62208

  The sqlite3_txn_state(D,S) interface returns one of these constants in order to describe the transaction state of schema S in database connection D. (source: c3ref/c_txn_none.html, matrix: context, detail)

R-18978-08031-62088-38924-17278-52934-19628-35993

  The memory pointed to by the character pointers returned for the declaration type and collation sequence is valid until the next call to any SQLite API function. (source: c3ref/table_column_metadata.html, checked-by: th3/cov1/metadata01.test, matrix: context, detail)

R-18981-16292-44177-39464-49712-02547-36593-34843

  When the defer_foreign_keys PRAGMA is on, enforcement of all foreign key constraints is delayed until the outermost transaction is committed. (source: pragma.html, checked-by: tcl/fkey6.test, th3/cov1/fkey24.test, matrix: context, detail)

R-18981-44563-59556-01794-47708-02337-53296-37760

  The OFF journaling mode disables the rollback journal completely. (source: pragma.html, checked-by: th3/req1/pragma25.test, matrix: context, detail)

R-18996-06026-12732-36881-04380-02078-38106-17370

  However, the IGNORE conflict resolution algorithm works like ABORT for foreign key constraint errors. (source: lang_conflict.html, matrix: context, detail)

R-19003-27813-57127-49100-22413-58501-27554-18699

  The SAVEPOINT with the matching name remains on the transaction stack, but all database changes that occurred after that SAVEPOINT was created are rolled back. (source: lang_savepoint.html, matrix: context, detail)

R-19069-01001-21275-64198-08959-57544-11845-18751

  These routines are used to register a new virtual table module name. (source: c3ref/create_module.html, matrix: context, detail)

R-19114-56113-41752-64271-30879-46460-35912-30160

  Different constraints within the same table may have different default conflict resolution algorithms. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-19120-50787-31629-64944-20395-18225-62762-09460

  The sqlite3_preupdate_old(D,N,P) interface writes into P a pointer to a protected sqlite3_value that contains the value of the Nth column of the table row before it is updated. (source: c3ref/preupdate_count.html, matrix: context, detail)

R-19139-12267-31476-22597-30278-48901-50934-33461

  If sqlite3_unlock_notify() is called with a NULL pointer as its second argument, then any existing unlock-notify callback is canceled. (source: c3ref/unlock_notify.html, matrix: context, detail)

R-19162-55388-28844-29887-54254-48882-22034-22486

  The sqlite3_bind_zeroblob() routine binds a BLOB of length N that is filled with zeroes. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-19178-27645-63083-26050-05481-47319-52943-38968

  Otherwise, no affinity is applied and both operands are compared as is. (source: datatype3.html, checked-by: th3/cov1/affinity01.test, th3/req1/datatype3_05.test, matrix: context, detail)

R-19186-55658-49729-13397-54658-17694-41016-19836

  The sqlite3_result_value() interface makes a copy of the sqlite3_value so that the sqlite3_value specified in the parameter may change or be deallocated after sqlite3_result_value() returns without harm. (source: c3ref/result_blob.html, checked-by: th3/req1/result03.test, matrix: context, detail)

R-19194-50107-23350-24777-39179-56094-65469-19806

  If this in-header datasize size is not valid (see the next paragraph), then the database size is computed by looking at the actual size of the database file. (source: fileformat2.html, matrix: context, detail)

R-19218-01018-34190-29408-05030-57766-08679-20332

  If the column-name list after table-name is omitted then the number of values inserted into each row must be the same as the number of columns in the table. (source: lang_insert.html, checked-by: tcl/e_insert.test, matrix: context, detail)

R-19222-28861-33123-00573-15800-37173-53846-06929

  Otherwise, sqlite3_value_pointer(V,Y) returns a NULL. (source: c3ref/value_blob.html, checked-by: th3/cov1/carray01.test, matrix: context, detail)

R-19244-03478-32061-23000-56536-05403-47491-06826

  The leaves have a level of 0. (source: rtree.html, matrix: context, detail)

R-19245-12964-15266-21259-12378-18812-33916-24209

  The DELETE journaling mode is the normal behavior. (source: pragma.html, checked-by: th3/req1/pragma23.test, matrix: context, detail)

R-19249-32353-33767-36599-40313-00705-24761-59859

  SQLITE_LIMIT_WORKER_THREADS The maximum number of auxiliary worker threads that a single prepared statement may start. (source: c3ref/c_limit_attached.html, checked-by: tcl/sort4.test, matrix: context, detail)

R-19259-42385-45456-07469-03560-15190-02204-12412

  SQLITE_STATUS_PAGECACHE_SIZE This parameter records the largest memory allocation request handed to the pagecache memory allocator. Only the value returned in the *pHighwater parameter to sqlite3_status() is of interest. The value written into the *pCurrent parameter is undefined. (source: c3ref/c_status_malloc_count.html, matrix: context, detail)

R-19326-44825-19062-24470-23880-46223-50935-31383

  The "PRAGMA data_version" value is a local property of each database connection and so values returned by two concurrent invocations of "PRAGMA data_version" on separate database connections are often different even though the underlying database is identical. (source: pragma.html, checked-by: tcl/pragma3.test, th3/cov1/pragma26.test, matrix: context, detail)

R-19334-12811-52965-43642-11320-54818-13590-65507

  Each group of input dataset rows contributes a single row to the set of result rows. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-19353-19546-22807-46023-33784-34102-06986-46730

  A 2-dimensional R*Tree has 5 columns. (source: rtree.html, matrix: context, detail)

R-19353-43643-11289-35798-30332-46906-60350-15505

  The last bullet above is illustrated by the following: CREATE TABLE parent2(a, b, PRIMARY KEY(a,b)); CREATE TABLE child8(x, y, FOREIGN KEY(x,y) REFERENCES parent2); -- Ok CREATE TABLE child9(x REFERENCES parent2); -- Error! CREATE TABLE child10(x,y,z, FOREIGN KEY(x,y,z) REFERENCES parent2); -- Error! (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys07.test, matrix: context, detail)

R-19393-22085-63206-61334-35392-55321-46849-03619

  For a string value X, the length(X) function returns the number of characters (not bytes) in X prior to the first NUL character. (source: lang_corefunc.html, checked-by: th3/cov1/func01.test, matrix: context, detail)

R-19404-45868-36670-49387-53766-10214-08555-10559

  When the argument X to sqlite_compileoption_used(X) is a string which is the name of a compile-time option, this routine returns true (1) or false (0) depending on whether or not that option was used during the build. (source: lang_corefunc.html, checked-by: th3/cov1/ctime02.test, matrix: context, detail)

R-19406-19221-39828-63725-16599-34636-45225-33176

  The destructor will also be invoked if the call to sqlite3_create_module_v2() fails. (source: c3ref/create_module.html, matrix: context, detail)

R-19445-36510-42868-48881-64287-13454-25209-36891

  time(timestring, modifier, modifier, ...) (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-19454-21689-24466-55871-29604-18048-60005-14723

  The sqlite3_memory_highwater() routine returns the maximum value of sqlite3_memory_used() since the high-water mark was last reset. (source: c3ref/memory_highwater.html, matrix: context, detail)

R-19480-30968-40912-48323-17771-07927-20882-34034

  It can be applied to strings, numbers, blobs or NULL and it always returns a result with the same value as the operand. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-19486-35828-58507-08873-52072-46615-25523-07720

  If the UPDATE statement has no ORDER BY clause, then all rows that would be updated in the absence of the LIMIT clause are assembled in an arbitrary order before applying the LIMIT and OFFSET clauses to determine which are actually updated. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-19509-40356-60366-52142-26522-07330-31595-37095

  Instead of a separate OFFSET clause, the LIMIT clause may specify two scalar expressions separated by a comma. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-19515-61262-57142-56165-47391-12804-63366-22975

  If there is no match, a NULL pointer is returned. (source: c3ref/vfs_find.html, checked-by: th3/req1/vfs01.test, matrix: context, detail)

R-19553-64528-24132-56992-22388-20387-05422-50188

  Total() never throws an integer overflow. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-19570-53558-20410-64757-41149-53677-54257-63723

  It is an error to specify a compress function without also specifying an uncompress function. (source: fts3.html, matrix: context, detail)

R-19604-19849-22831-12858-52721-48914-18931-47249

  The sqlite3_str_reset(X) method resets the string under construction inside sqlite3_str object X back to zero bytes in length. (source: c3ref/str_append.html, matrix: context, detail)

R-19619-42762-44736-08897-02902-26192-57996-46412

  The INDEXED BY and NOT INDEXED clauses are not allowed on UPDATE statements within triggers. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-19619-54598-52217-51985-41765-58210-14890-62978

  The first argument to the busy handler is a copy of the void* pointer which is the third argument to sqlite3_busy_handler(). (source: c3ref/busy_handler.html, checked-by: th3/req1/busy01.test, matrix: context, detail)

R-19628-13587-38733-35705-07447-40697-34819-47467

  SQLite holds a write transaction open on the destination database file for the duration of the backup operation. (source: c3ref/backup_finish.html, checked-by: th3/req1/backup01.test, matrix: context, detail)

R-19648-30943-40070-65065-35301-05411-03146-42916

  This option takes three additional arguments that determine the lookaside memory allocator configuration for the database connection. (source: c3ref/c_dbconfig_defensive.html, checked-by: th3/req1/dbconfig01.test, matrix: context, detail)

R-19660-56479-36342-33235-14845-36400-09046-33188

  The result of sum() is an integer value if all non-NULL inputs are integers. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-19672-38383-43870-63614-05691-24053-06228-32918

  The BEGIN command only works if the transaction stack is empty, or in other words if there are no pending transactions. (source: lang_savepoint.html, matrix: context, detail)

R-19673-40972-58319-61162-14300-46572-05681-35590

  If executing the SELECT would return no rows at all, then the EXISTS operator evaluates to 0. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-19696-22724-31246-18328-34316-54250-32558-13544

  If logging is enabled, the zFormat string and subsequent arguments are used with sqlite3_snprintf() to generate the final output string. (source: c3ref/log.html, checked-by: th3/cov1/log01.test, matrix: context, detail)

R-19757-35036-22658-29796-35090-49616-44864-00036

  The current value of the parameter is returned into *pCurrent. (source: c3ref/status.html, matrix: context, detail)

R-19785-02834-31233-04888-56980-35561-24739-27802

  This pragma is a wrapper around the sqlite3_wal_autocheckpoint() C interface. (source: pragma.html, matrix: context, detail)

R-19803-45884-64369-17915-53923-43638-05068-02663

  If an action is not explicitly specified, it defaults to "NO ACTION". (source: foreignkeys.html, checked-by: src/parse.y, tcl/e_fkey.test, th3/req1/foreignkeys16.test, matrix: context, detail)

R-19808-29370-64330-18475-42910-48751-21092-02221

  The xDestroy() method is used to delete a cache allocated by xCreate(). (source: c3ref/pcache_methods2.html, checked-by: th3/th3pcache.c, matrix: context, detail)

R-19812-36779-26037-25587-55568-01966-51571-26935

  If one operand is NULL and the other is not, then the IS operator evaluates to 0 (false) and the IS NOT operator is 1 (true). (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-19827-62289-58446-52993-02249-28252-12913-58361

  If both virtual terms end up being used as constraints on an index, then the original BETWEEN term is omitted and the corresponding test is not performed on input rows. (source: optoverview.html, matrix: context, detail)

R-19836-11244-52903-63249-46309-23850-25183-00208

  Example: X'53514C697465' (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-19846-48503-04889-44735-07429-55750-55258-63586

  The value returned by sqlite3_msize(X) might be larger than the number of bytes requested when X was allocated. (source: c3ref/free.html, checked-by: th3/req1/malloc02.test, matrix: context, detail)

R-19854-42126-27972-10302-08269-22410-63996-33681

  There are three arguments to SQLITE_CONFIG_HEAP: An 8-byte aligned pointer to the memory, the number of bytes in the memory buffer, and the minimum allocation size. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, th3/th3main.c, matrix: context, detail)

R-19878-23484-53576-16359-03133-43197-12770-47752

  Let M be ((U-12)*32/255)-23 and let K be M+((P-M)%(U-4)). If P is greater than X then the number of bytes stored on the table b-tree leaf page is K if K is less or equal to X or M otherwise. (source: fileformat2.html, matrix: context, detail)

R-19879-20948-53153-63685-13139-09400-29655-64256

  VACUUM (but not VACUUM INTO) is a write operation and so if another database connection is holding a lock that prevents writes, then the VACUUM will fail. (source: lang_vacuum.html, matrix: context, detail)

R-19884-42355-59719-29955-34222-13016-47876-51670

  The sqlite3_preupdate_new(D,N,P) interface writes into P a pointer to a protected sqlite3_value that contains the value of the Nth column of the table row after it is updated. (source: c3ref/preupdate_count.html, matrix: context, detail)

R-19885-09448-58561-44146-11128-00310-35686-58085

  The names of internal schema objects always begin with "sqlite_" and any table, index, view, or trigger whose name begins with "sqlite_" is an internal schema object. (source: fileformat2.html, matrix: context, detail)

R-19920-11576-34548-21403-56992-25102-09000-41133

  However, newer versions of SQLite still avoid using the last six entries in the freelist trunk page array in order that database files created by newer versions of SQLite can be read by older versions of SQLite. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-19971-54976-54556-37696-16686-39038-59563-20085

  Configuring "NO ACTION" means just that: when a parent key is modified or deleted from the database, no special action is taken. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys16.test, matrix: context, detail)

R-19982-00724-51550-61529-52295-40817-37605-44623

  If pStmt is NULL then this interface returns a pointer to the first prepared statement associated with the database connection pDb. (source: c3ref/next_stmt.html, checked-by: th3/cov1/vdbeapi04.test, matrix: context, detail)

R-20022-00570-36475-01777-57661-23786-03560-20337

  The byte-order of UTF16 input text is determined by the byte-order mark (BOM, U+FEFF) found in first character, which is removed, or in the absence of a BOM the byte order is the native byte order of the host machine for sqlite3_bind_text16() or the byte order specified in the 6th parameter for sqlite3_bind_text64(). (source: c3ref/bind_blob.html, matrix: context, detail)

R-20051-05832-30877-26776-57299-30715-57449-61816

  On windows, the first component of an absolute path is a drive specification (e.g. "C:"). (source: c3ref/open.html, matrix: context, detail)

R-20053-18593-57587-13858-53773-26981-59084-43132

  The X argument is a pointer to a string which is the unexpanded SQL text of the prepared statement or an SQL comment that indicates the invocation of a trigger. (source: c3ref/c_trace.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-20111-12873-06694-53393-06638-09093-12890-49161

  In order to succeed, the database connection must not be in autocommit mode when sqlite3_snapshot_open(D,S,P) is called. (source: c3ref/snapshot_open.html, matrix: context, detail)

R-20124-57769-12967-06011-36499-08186-14693-61176

  If a schema-name is specified, then the view is created in the specified database. (source: lang_createview.html, checked-by: th3/req1/view01.test, matrix: context, detail)

R-20149-25884-15163-16334-64710-02284-04877-02507

  the following declaration does not result in "x" being an alias for the rowid: CREATE TABLE t(x INTEGER PRIMARY KEY DESC, y, z); (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-20205-17349-17235-26223-03175-26249-31726-44344

  If the WHERE clause is not present, all records in the table are deleted. (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-20210-23164-18665-04349-57984-05045-09964-53374

  Unregister a VFS with the sqlite3_vfs_unregister() interface. (source: c3ref/vfs_find.html, checked-by: th3/req1/vfs01.test, matrix: context, detail)

R-20235-14821-33939-37352-02301-46502-25259-56810

  If the subquery uses LIMIT then the outer query may not have a WHERE clause. (source: optoverview.html, matrix: context, detail)

R-20244-07722-17778-50950-32360-26781-61977-13264

  The list of integers in the stat column can optionally be followed by arguments, each of which is a sequence of non-space characters. (source: fileformat2.html, matrix: context, detail)

R-20262-06249-08007-38401-43127-56610-34465-06889

  No rollback journal is ever created and hence there is never a rollback journal to delete. (source: pragma.html, checked-by: th3/req1/pragma25.test, matrix: context, detail)

R-20264-55497-15889-55738-11694-39322-19970-05132

  However, just because this routine returns a positive number does not mean that one or more rows of data will be returned. (source: c3ref/column_count.html, matrix: context, detail)

R-20267-50493-31934-10574-07291-44580-14087-45571

  Note that column must be the same column in every OR-connected subterm, although the column can occur on either the left or the right side of the *=* operator. (source: optoverview.html, matrix: context, detail)

R-20329-32738-12759-61115-22142-04858-16734-05939

  The initial columns of the index must be used with the *=* or *IN* or *IS* operators. (source: optoverview.html, matrix: context, detail)

R-20339-64003-24275-14776-38996-63966-02497-20063

  Format 4 causes SQLite to respect the DESC keyword on index declarations. (source: fileformat2.html, checked-by: th3/req1/fileformat01.test, matrix: context, detail)

R-20409-33051-08329-62436-45384-49643-45094-34288

  The avg() function returns the average value of all non-NULL X within a group. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-20413-39093-25878-54576-60732-55561-33363-27302

  The first four bytes of each overflow page are a big-endian integer which is the page number of the next page in the chain, or zero for the final page in the chain. (source: fileformat2.html, matrix: context, detail)

R-20467-43422-30485-36826-60194-40272-32740-00331

  If an expression has an OFFSET clause, then the first M rows are omitted from the result set returned by the SELECT statement and the next N rows are returned, where M and N are the values that the OFFSET and LIMIT clauses evaluate to, respectively. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-20474-44465-10719-25363-46434-31101-34097-17120

  Normally, the database page_size and whether or not the database supports auto_vacuum must be configured before the database file is actually created. (source: lang_vacuum.html, checked-by: tcl/e_vacuum.test, matrix: context, detail)

R-20486-33667-53440-39666-65031-09323-37959-22013

  The content of the sqlite_sequence table can be modified using ordinary UPDATE, INSERT, and DELETE statements. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-20520-54086-20387-28345-20691-46445-65238-30953

  If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then it is not possible to set the Multi-thread threading mode and sqlite3_config() will return SQLITE_ERROR if called with the SQLITE_CONFIG_MULTITHREAD configuration option. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, matrix: context, detail)

R-20556-35657-32764-17566-55966-02395-47898-45086

  If the 4th parameter to the sqlite3_result_text* interfaces or sqlite3_result_blob is the special constant SQLITE_TRANSIENT then SQLite makes a copy of the result into space obtained from sqlite3_malloc() before it returns. (source: c3ref/result_blob.html, checked-by: th3/req1/result02.test, matrix: context, detail)

R-20560-39162-53987-29912-13699-13892-53398-21192

  The UNION operator works the same way as UNION ALL, except that duplicate rows are removed from the final result set. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-20568-61871-33672-25407-24732-44471-23157-56477

  . (source: whynotgit.html, matrix: context, detail)

R-20589-01955-18800-07127-42802-30893-02013-32671

  SQLITE_OPEN_URI The filename can be interpreted as a URI if this flag is set. (source: c3ref/open.html, matrix: context, detail)

R-20590-08726-45565-50300-40304-23510-62801-34037

  It is an error to specify a value for the mode parameter that is less restrictive than that specified by the flags passed in the third parameter to sqlite3_open_v2(). (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-20609-23860-31620-63775-42539-11534-17004-18607

  The rollback journal file is always located in the same directory as the database file and has the same name as the database file but with the string "-journal" appended. (source: fileformat2.html, matrix: context, detail)

R-20637-43463-07167-46903-44256-61988-15144-63319

  A simple SELECT statement is an aggregate query if it contains either a GROUP BY clause or one or more aggregate functions in the result-set. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-20643-25656-58463-39709-46255-05856-32679-34239

  The sqlite3_data_count(P) interface returns the number of columns in the current row of the result set of prepared statement P. (source: c3ref/data_count.html, checked-by: th3/th3util.c, matrix: context, detail)

R-20665-17792-14135-29123-51100-08894-37624-05824

  The result of any binary operator is either a numeric value or NULL, except for the || concatenation operator which always evaluates to either NULL or a text value. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-20690-50594-54745-63542-12245-05150-52761-00851

  The second field of the b-tree page header is the offset of the first freeblock, or zero if there are no freeblocks on the page. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-20728-12013-63789-14843-17871-12981-47663-15474

  Parentheses around the column name are ignored. Hence if X and Y.Z are column names, then (X) and (Y.Z) are also considered column names and have the affinity of the corresponding columns. (source: datatype3.html, matrix: context, detail)

R-20762-60389-11004-15746-05973-23268-57265-62679

  The sqlite_schema table contains one row for each table, index, view, and trigger (collectively "objects") in the database schema, except there is no entry for the sqlite_schema table itself. (source: fileformat2.html, matrix: context, detail)

R-20784-11852-57325-61888-34040-48421-29147-36386

  Metadata is returned by writing to the memory locations passed as the 5th and subsequent parameters to this function. (source: c3ref/table_column_metadata.html, checked-by: th3/cov1/metadata01.test, matrix: context, detail)

R-20790-14025-05441-59886-17616-40247-63857-04714

  The sqlite3_threadsafe() function returns zero if and only if SQLite was compiled with mutexing code omitted due to the SQLITE_THREADSAFE compile-time option being set to 0. (source: c3ref/threadsafe.html, checked-by: src/main.c, matrix: context, detail)

R-20796-14963-19630-14669-08622-46367-39917-03067

  This function causes all database schemas to be read from disk and parsed, if that has not already been done, and returns an error if any errors are encountered while loading the schema. (source: c3ref/table_column_metadata.html, checked-by: th3/cov1/metadata01.test, matrix: context, detail)

R-20854-17109-31337-20710-58230-10583-22919-16758

  A CAST conversion is similar to the conversion that takes place when a column affinity is applied to a value except that with the CAST operator the conversion always takes place even if the conversion lossy and irreversible, whereas column affinity only changes the data type of a value if the change is lossless and reversible. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-20857-32692-20795-02101-46664-36777-53557-28223

  The sqlite3_int64 and sqlite_int64 types can store integer values between -9223372036854775808 and +9223372036854775807 inclusive. (source: c3ref/int64.html, checked-by: th3/req1/int64_01.test, matrix: context, detail)

R-20915-35810-14572-42507-50726-14071-51730-17527

  The second form of the pragma listed above is used to set a new limit in bytes for the specified database. (source: pragma.html, checked-by: th3/req1/pragma26.test, matrix: context, detail)

R-20958-54138-45241-50664-65336-36333-30654-63832

  An attempt to write to an expired BLOB handle fails with an error code of SQLITE_ABORT. (source: c3ref/blob_write.html, checked-by: tcl/e_blobwrite.test, matrix: context, detail)

R-20974-45876-55609-02198-26922-65375-59673-02037

  Some systems (for example, Windows 95) do not support the operation implemented by sqlite3_mutex_try(). On those systems, sqlite3_mutex_try() will always return SQLITE_BUSY. The SQLite core only ever uses sqlite3_mutex_try() as an optimization so this is acceptable behavior. (source: c3ref/mutex_alloc.html, checked-by: th3/th3mutex.c, matrix: context, detail)

R-20983-25183-16317-48719-00472-39133-57551-19276

  If sqlite3_config() is called after sqlite3_initialize() and before sqlite3_shutdown() then it will return SQLITE_MISUSE. (source: c3ref/config.html, matrix: context, detail)

R-21003-54221-59589-12513-12600-39825-11085-16301

  The rowid is always available as an undeclared column named ROWID, OID, or _ROWID_ as long as those names are not also used by explicitly declared columns. (source: c3ref/last_insert_rowid.html, checked-by: th3/cov1/withoutrowid01.test, matrix: context, detail)

R-21024-07855-27912-21826-13192-43444-47677-34434

  The primary key columns appear in the order they they were declared in the PRIMARY KEY clause and the remaining columns appear in the order they occur in the CREATE TABLE statement. (source: fileformat2.html, matrix: context, detail)

R-21115-58321-25716-23770-11415-21637-17771-56749

  If a column-name list is specified, then the number of values in each term of the VALUE list must match the number of specified columns. (source: lang_insert.html, checked-by: tcl/e_insert.test, matrix: context, detail)

R-21148-64834-51953-28586-58289-58298-04009-03354

  The "INSERT INTO table DEFAULT VALUES" form of the INSERT statement is not supported. (source: lang_createtrigger.html, matrix: context, detail)

R-21156-19645-52425-35799-35184-17104-33723-09061

  If the third parameter to sqlite3_bind_text64() is not NULL, then it should be a pointer to a well-formed unicode string that is either UTF8 if the sixth parameter is SQLITE_UTF8, or UTF16 otherwise. (source: c3ref/bind_blob.html, matrix: context, detail)

R-21171-34919-23602-58467-34631-37001-49601-29313

  The eParentWithin and rParentScore values are copies of the eWithin and rScore values from the containing subtree of the current row. (source: rtree.html, matrix: context, detail)

R-21182-58169-20146-54960-02459-65291-16580-58190

  The replace(X,Y,Z) function returns a string formed by substituting string Z for every occurrence of string Y in string X. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-21205-43338-53386-10621-24475-38034-05751-45938

  When sqlite3_hard_heap_limit64(N) is invoked and the soft heap limit is outside the range of 1. (source: c3ref/hard_heap_limit64.html, matrix: context, detail)

R-21228-24308-16193-26156-01988-42098-33808-34150

  The sqlite3_cancel_auto_extension(X) interface unregisters the initialization routine X that was registered using a prior call to sqlite3_auto_extension(X). (source: c3ref/cancel_auto_extension.html, matrix: context, detail)

R-21228-58399-13607-54712-08787-36573-11741-23051

  If M is greater than zero then after M page records the journal file may be zero padded out to the next multiple of the sector size and another journal header may be inserted. (source: fileformat2.html, matrix: context, detail)

R-21230-37464-43575-41237-19163-46428-41996-08800

  The time string can be followed by zero or more modifiers that alter date and/or time. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-21274-02227-62864-03639-07150-27166-13487-20730

  The sqlite3_interrupt(D) call is in effect until all currently running SQL statements on database connection D complete. (source: c3ref/interrupt.html, matrix: context, detail)

R-21320-14810-43799-05408-58279-13675-12785-56952

  The wal_checkpoint pragma returns a single row with three integer columns. (source: pragma.html, checked-by: th3/req1/pragma29.test, matrix: context, detail)

R-21426-10262-16472-16411-19241-49098-31695-43338

  The path component of the URI specifies the disk file that is the SQLite database to be opened. (source: uri.html, matrix: context, detail)

R-21490-41092-09920-20398-33812-50363-51367-35594

  The first form (with the "VALUES" keyword) creates one or more new rows in an existing table. (source: lang_insert.html, checked-by: tcl/e_insert.test, matrix: context, detail)

R-21508-14355-30725-13403-38836-44113-60272-57161

  The third argument (eTextRep) must be one of the constants: SQLITE_UTF8, SQLITE_UTF16LE, SQLITE_UTF16BE, SQLITE_UTF16, or SQLITE_UTF16_ALIGNED. (source: c3ref/create_collation.html, checked-by: th3/req1/createcoll01.test, matrix: context, detail)

R-21527-28967-38710-01216-03543-44346-41120-54609

  If, however, all columns that were to be fetched from the table are already available in the index itself, SQLite will use the values contained in the index and will never look up the original table row. (source: optoverview.html, matrix: context, detail)

R-21555-60916-58264-59419-46832-30971-06241-53598

  No storage class conversions occur before the sort. (source: datatype3.html, checked-by: th3/req1/datatype3_04.test, matrix: context, detail)

R-21599-16038-23557-29825-04044-13537-53990-06867

  In SQLite, a foreign key constraint is permanently marked as deferred or immediate when it is created. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys23.test, matrix: context, detail)

R-21637-36677-40497-35509-61399-46252-57328-58576

  If a term in X is of the form "z IS NOT NULL" and if a term in W is a comparison operator on "z" other than "IS", then those terms match. (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-21674-26855-05967-15589-29302-41964-38112-11067

  The rowid of the SQL table is the 64-bit signed integer key for each entry in the table b-tree. (source: fileformat2.html, matrix: context, detail)

R-21752-26913-20480-58251-45591-43193-62846-17726

  The defer_foreign_keys pragma is automatically switched off at each COMMIT or ROLLBACK. Hence, the defer_foreign_keys pragma must be separately enabled for each transaction. (source: pragma.html, checked-by: tcl/fkey6.test, th3/cov1/fkey24.test, matrix: context, detail)

R-21769-42523-56036-07125-49513-08938-03164-12762

  For example, if an application defines a function "eval()" that calls sqlite3_exec(), then the following SQL statement would change the database file through side-effects: SELECT eval('DELETE FROM t1') FROM t2; But because the SELECT statement does not change the database file directly, sqlite3_stmt_readonly() would still return true. (source: c3ref/stmt_readonly.html, checked-by: th3/cov1/vdbeapi14.test, matrix: context, detail)

R-21806-43221-13311-12534-07273-62377-06740-15345

  The sqlite3_initialize() routine returns SQLITE_OK on success. (source: c3ref/initialize.html, matrix: context, detail)

R-21827-30701-03148-53639-55860-16366-16292-16032

  The vfs query parameter causes the database connection to be opened using the VFS called NAME. (source: uri.html, matrix: context, detail)

R-21827-60920-49018-16791-65129-33759-13224-63617

  Example: Let the index be CREATE INDEX ex2 ON tab2(b,c) WHERE c IS NOT NULL; Then any query that uses operators =, <, >, <=, >=, <>, IN, LIKE, or GLOB on column "c" would be usable with the partial index because those comparison operators are only true if "c" is not NULL. (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-21829-14563-51248-28780-63073-47174-17671-25024

  When casting a BLOB value to INTEGER, the value is first converted to TEXT. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-21869-50933-18898-03814-15794-26050-32013-17586

  The sqlite_stat1.tbl column is the name of the table to which the index belongs. (source: fileformat2.html, matrix: context, detail)

R-21873-57098-57834-11008-20676-08257-29659-57534

  For backwards compatibility, the "0x" hexadecimal integer notation is only understood by the SQL language parser, not by the type conversions routines. (source: lang_expr.html, checked-by: th3/req1/expr01.test, matrix: context, detail)

R-21898-42697-02847-18633-49907-40744-21589-01331

  The DBSTAT virtual table is an eponymous virtual table, meaning that is not necessary to run CREATE VIRTUAL TABLE to create an instance of the dbstat virtual table before using it. (source: dbstat.html, matrix: context, detail)

R-21926-12440-51056-61142-44683-61094-56845-29582

  A column with TEXT affinity stores all data using storage classes NULL, TEXT or BLOB. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-21999-45122-31048-13446-02528-26470-06317-22169

  The sqlite3_update_hook() interface registers a callback function with the database connection identified by the first argument to be invoked whenever a row is updated, inserted or deleted in a rowid table. (source: c3ref/update_hook.html, checked-by: tcl/hook.test, th3/cov1/main15.test, matrix: context, detail)

R-22035-46182-36006-24131-28314-61788-09848-09790

  The SQLITE_CONFIG_GETPCACHE2 option takes a single argument which is a pointer to an sqlite3_pcache_methods2 object. SQLite copies of the current page cache implementation into that object. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, th3/th3pcache.c, matrix: context, detail)

R-22036-37196-51098-25883-36361-04038-28343-30035

  The sqlite3_result_error_nomem() interface causes SQLite to throw an error indicating that a memory allocation failed. (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-22070-59472-34995-42069-63414-37359-02285-11048

  If a term consists of multiple subterms containing a common column name and separated by OR, like this: column = expr1 OR column = expr2 OR column = expr3 OR ... Then that term is rewritten as follows: column IN (expr1,expr2,expr3,...) (source: optoverview.html, matrix: context, detail)

R-22130-30551-62458-54742-21400-01108-16464-06661

  On success, the sqlite3_snapshot_get(D,S,P) interface writes a pointer to the newly created sqlite3_snapshot object into *P and returns SQLITE_OK. (source: c3ref/snapshot_get.html, matrix: context, detail)

R-22232-40047-05023-56174-19457-36430-27942-49450

  The particular operator is stored in aConstraint[].op using one of the SQLITE_INDEX_CONSTRAINT_ values. (source: c3ref/index_info.html, matrix: context, detail)

R-22235-47006-02687-15500-56774-48140-19704-63768

  Casting an INTEGER or REAL value into TEXT renders the value as if via sqlite3_snprintf() except that the resulting TEXT uses the encoding of the database connection. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-22239-33740-47135-11952-01366-26065-00899-21193

  A subquery that returns two or more columns is a row value subquery and can only be used as the operand of a comparison operator. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-22283-14179-18327-11516-19708-03741-18136-56509

  Tables are removed using the DROP TABLE statement. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-22304-13691-20726-05433-26877-46116-43863-25024

  In practice, metadata is preserved between function calls for function parameters that are compile-time constants, including literal values and parameters and expressions composed from the same. (source: c3ref/get_auxdata.html, matrix: context, detail)

R-22309-26004-04913-07405-19734-55428-18120-53442

  The profile callback contains the original statement text and an estimate of wall-clock time of how long that statement took to run. (source: c3ref/profile.html, checked-by: th3/cov1/main16.test, matrix: context, detail)

R-22338-33270-38633-54292-24133-20932-49452-38355

  If N is less than one then the progress handler is disabled. (source: c3ref/progress_handler.html, checked-by: th3/req1/progress01.test, matrix: context, detail)

R-22347-12719-38657-19900-45791-11174-27141-23723

  When a configuration option is set, sqlite3_config() returns SQLITE_OK. (source: c3ref/config.html, matrix: context, detail)

R-22391-07186-37161-38876-45465-63159-33403-63078

  Note that if one of the dynamic mutex parameters (SQLITE_MUTEX_FAST or SQLITE_MUTEX_RECURSIVE) is used then sqlite3_mutex_alloc() returns a different mutex on every call. (source: c3ref/mutex_alloc.html, checked-by: th3/cov1/mutex01.test, matrix: context, detail)

R-22414-48736-05483-33334-64418-18410-20572-40044

  A COLLATE operator has the same affinity as its left-hand side operand. (source: datatype3.html, matrix: context, detail)

R-22464-05974-13353-12575-31195-54661-61656-32852

  The expression of a generated column can refer to any of the other declared columns in the table, including other generated columns, as long as the expression does not directly or indirectly refer back to itself. (source: gencol.html, matrix: context, detail)

R-22484-49535-05658-48568-12441-17149-15045-25439

  Leading spaces are removed. (source: fileformat2.html, matrix: context, detail)

R-22504-36456-63205-11923-40332-44268-43890-46191

  In first form, if the main database has already been created, then this pragma returns the text encoding used by the main database, one of 'UTF-8', 'UTF-16le' (little-endian UTF-16 encoding) or 'UTF-16be' (big-endian UTF-16 encoding). (source: pragma.html, checked-by: th3/req1/pragma16.test, matrix: context, detail)

R-22511-33242-53982-27627-41881-51518-34601-24400

  This is the number of times that the prepared statement has been run. (source: c3ref/c_stmtstatus_counter.html, matrix: context, detail)

R-22517-03298-06877-11770-25908-54043-03696-50918

  The FTS4 prefix option causes FTS to index term prefixes of specified lengths in the same way that it always indexes complete terms. (source: fts3.html, matrix: context, detail)

R-22528-31592-23814-33593-53187-04400-51621-15631

  The following two queries are not equivalent: SELECT * FROM tab1 LEFT JOIN tab2 ON tab1.x=tab2.y; SELECT * FROM tab1 LEFT JOIN tab2 WHERE tab1.x=tab2.y; (source: optoverview.html, matrix: context, detail)

R-22564-11647-52151-33857-28940-09855-65445-38014

  The header begins with a single varint which determines the total number of bytes in the header. The varint value is the size of the header in bytes including the size varint itself. (source: fileformat2.html, checked-by: src/vdbe.c, th3/req1/fileformat02.test, matrix: context, detail)

R-22567-44039-44321-46904-30045-11816-43845-22039

  The PRAGMA foreign_keys command is a no-op in this configuration. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys05.test, matrix: context, detail)

R-22655-13879-23181-45430-34065-63005-59196-64005

  The coalesce() function returns a copy of its first non-NULL argument, or NULL if all arguments are NULL. (source: lang_corefunc.html, checked-by: th3/cov1/func01.test, matrix: context, detail)

R-22662-28218-11402-23235-34288-43676-21619-60718

  If there is no prefix that can be interpreted as a real number, the result of the conversion is 0.0. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-22671-22821-00746-11610-44216-38779-63984-03906

  The orderByConsumed means that output from xFilter/xNext will occur in the correct order to satisfy the ORDER BY clause so that no separate sorting step is required. (source: c3ref/index_info.html, matrix: context, detail)

R-22671-54036-59271-48827-17148-12128-60554-20551

  If argvIndex>0 then the right-hand side of the corresponding aConstraint[] is evaluated and becomes the argvIndex-th entry in argv. (source: c3ref/index_info.html, matrix: context, detail)

R-22710-53328-59796-08773-22880-08291-09347-39531

  The third and fourth bytes of each freeblock form a big-endian integer which is the size of the freeblock in bytes, including the 4-byte header. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-22724-45533-32532-12289-36170-43581-26380-53780

  if there is only a single global wildcard to the right of x, then the original LIKE or GLOB test is disabled. (source: optoverview.html, matrix: context, detail)

R-22771-48210-15439-13040-38130-20286-36509-06208

  The number of bytes stored on the leaf page is never less than M. (source: fileformat2.html, matrix: context, detail)

R-22776-52830-07659-57324-38629-30744-28731-31224

  For each pair of named columns, the expression "lhs.X = rhs.X" is evaluated for each row of the cartesian product as a boolean expression. Only rows for which all such expressions evaluates to true are included from the result set. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-22782-22472-63620-46521-58776-65513-25083-63478

  Names are zero-terminated UTF-8 strings. (source: c3ref/vfs_find.html, checked-by: th3/req1/vfs01.test, matrix: context, detail)

R-22795-48828-40923-07115-03137-30466-52786-33478

  If X is a BLOB then the indices refer to bytes. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, matrix: context, detail)

R-22799-40241-49763-48856-12252-38243-16002-08188

  The sqlite3_status() and sqlite3_status64() routines return SQLITE_OK on success and a non-zero error code on failure. (source: c3ref/status.html, matrix: context, detail)

R-22849-20349-24730-37218-10911-22554-30363-05607

  If a floating point value that can be represented exactly as an integer is inserted into a column with NUMERIC affinity, the value is converted into an integer. (source: datatype3.html, matrix: context, detail)

R-22861-02843-39646-61037-38089-35502-27977-11188

  Zero all sqlite3_stmt_scanstatus() related event counters. (source: c3ref/stmt_scanstatus_reset.html, checked-by: th3/cov1/status02.test, matrix: context, detail)

R-22868-25880-64801-36236-02118-32586-25357-26503

  The LIKE operator can be made case sensitive using the case_sensitive_like pragma. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-22872-18005-62981-26187-32897-04943-19086-58374

  But the "PRAGMA cache_spill=N" form of this statement only applies to the "main" schema or whatever other schema is specified as part of the statement. (source: pragma.html, matrix: context, detail)

R-22887-63324-57928-49032-58189-23826-57467-19364

  The unlikely(X) function is a no-op that the code generator optimizes away so that it consumes no CPU cycles at run-time (that is, during calls to sqlite3_step()). (source: lang_corefunc.html, checked-by: tcl/func3.test, matrix: context, detail)

R-22934-25134-31918-65183-03263-52759-06599-24509

  Comments are treated as whitespace by the parser. (source: lang_comment.html, checked-by: src/tokenize.c, matrix: context, detail)

R-22956-37754-14278-17642-05627-50863-58555-30245

  Casting to a BLOB consists of first casting the value to TEXT in the encoding of the database connection, then interpreting the resulting byte sequence as a BLOB instead of as TEXT. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-22958-57964-21518-29993-48758-46150-56113-34417

  But if an application-defined collating sequence and/or like() SQL function are provided, the LIKE optimization described here will never be taken. (source: optoverview.html, matrix: context, detail)

R-22973-56658-43836-32419-61759-38607-43348-03721

  SQLite will make this determination, but only if it has been compiled with SQLITE_ENABLE_STAT3 or SQLITE_ENABLE_STAT4. (source: optoverview.html, matrix: context, detail)

R-23019-08375-23742-45203-57540-44774-03255-16704

  When case_sensitive_like is enabled, case becomes significant. So, for example, 'a' LIKE 'A' is false but 'a' LIKE 'a' is still true. (source: pragma.html, checked-by: th3/req1/pragma10.test, matrix: context, detail)

R-23025-34321-53440-17551-64635-00032-03474-62946

  The maximum page count cannot be reduced below the current database size. (source: pragma.html, checked-by: th3/req1/pragma12.test, matrix: context, detail)

R-23027-03515-05606-08970-61667-55431-59935-24913

  Setting it to "shared" is equivalent to setting the SQLITE_OPEN_SHAREDCACHE bit in the flags argument passed to sqlite3_open_v2(). (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-23027-35758-08796-19756-16363-24577-05722-25269

  The size of the blob (and hence the maximum value of N+iOffset) can be determined using the sqlite3_blob_bytes() interface. (source: c3ref/blob_read.html, checked-by: th3/cov1/vdbeblob01.test, matrix: context, detail)

R-23038-23996-21339-41009-49120-44197-27486-19934

  If a database connection is operating in exclusive locking mode or in persistent journal mode (PRAGMA journal_mode=persist) then after committing a transaction the rollback journal file may remain in the file-system. (source: pragma.html, checked-by: th3/req1/pragma26.test, matrix: context, detail)

R-23075-39245-36315-44421-23373-63820-24651-07544

  This modifier causes the DDDDDDDDDD to be interpreted not as a Julian day number as it normally would be, but as Unix Time - the number of seconds since 1970. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-23110-47146-52080-06643-60978-41760-17507-36913

  the parser allows the use of the single keyword REPLACE as an alias for "INSERT OR REPLACE". (source: lang_insert.html, checked-by: tcl/e_insert.test, matrix: context, detail)

R-23114-21695-36244-34709-35067-61095-03657-31992

  The auxiliary index-columns are not shown by the index_info pragma, but they are listed by the index_xinfo pragma. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15x.test, matrix: context, detail)

R-23120-24122-52717-58793-54182-36500-02638-57419

  After an application receives an SQLITE_LOCKED error, it may call the sqlite3_unlock_notify() method with the blocked connection handle as the first argument to register for a callback that will be invoked when the blocking connections current transaction is concluded. (source: c3ref/unlock_notify.html, matrix: context, detail)

R-23149-10450-31226-11876-31056-64303-42616-45384

  The second parameter is either the name of the database (i.e. "main", "temp", or an attached database) containing the specified table or NULL. (source: c3ref/table_column_metadata.html, checked-by: th3/cov1/metadata01.test, matrix: context, detail)

R-23153-04437-57288-59301-62447-22408-58278-59491

  A column whose declared type is "CHARINT" will match both rules 1 and 2 but the first rule takes precedence and so the column affinity will be INTEGER. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-23155-55597-19897-49290-61770-15838-04803-37418

  Otherwise, if a simple SELECT contains no aggregate functions or a GROUP BY clause, it is a non-aggregate query. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-23182-54295-50785-24596-08451-02370-06326-41675

  The cache parameter may be set to either "shared" or "private". (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-23205-44230-04357-26544-42483-62148-64483-35199

  Query or change a limit on the approximate ANALYZE setting. This is approximate number of rows examined in each index by the ANALYZE command. (source: pragma.html, matrix: context, detail)

R-23293-62447-32888-51584-58025-47542-61505-16122

  If the OFFSET clause evaluates to a negative value, the results are the same as if it had evaluated to zero. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-23299-15149-12260-14236-54625-56854-20927-10236

  The sqlite3_value_numeric_type() interface attempts to apply numeric affinity to the value. This means that an attempt is made to convert the value to an integer or floating point. If such a conversion is possible without loss of information (in other words, if the value is a string that looks like a number) then the conversion is performed. Otherwise no conversion occurs. The datatype after conversion is returned. (source: c3ref/value_blob.html, checked-by: th3/req1/value02.test, th3/req1/value03.test, matrix: context, detail)

R-23302-30956-02464-62581-38265-62787-52147-51200

  If this SELECT returns any rows at all, then SQLite concludes that deleting the row from the parent table would violate the foreign key constraint and returns an error. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys10.test, matrix: context, detail)

R-23313-12651-48093-62761-39865-28601-55555-42424

  Call the second integer on a freelist trunk page L. If L is greater than zero then integers with array indexes between 2 and L+1 inclusive contain page numbers for freelist leaf pages. (source: fileformat2.html, matrix: context, detail)

R-23317-43079-57684-22333-28404-22394-54055-23674

  The rtrim(X,Y) function returns a string formed by removing any and all characters that appear in Y from the right side of X. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-23332-64992-62836-09715-29451-35524-14907-15195

  The sqlite3_stmt_readonly(X) interface returns true (non-zero) if and only if the prepared statement X makes no direct changes to the content of the database file. (source: c3ref/stmt_readonly.html, checked-by: th3/cov1/vdbeapi14.test, matrix: context, detail)

R-23336-07085-33379-01813-11813-48961-61224-20101

  The new column is always appended to the end of the list of existing columns. (source: lang_altertable.html, checked-by: th3/req1/altertable01.test, matrix: context, detail)

R-23360-48280-32877-53646-44675-29604-63391-63755

  Rows for which the expression is false or NULL are retained. (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-23378-42536-56340-49562-54695-41894-41223-62715

  The second is a copy of the database handle. (source: c3ref/wal_hook.html, checked-by: tcl/e_walhook.test, matrix: context, detail)

R-23385-34636-24682-17782-28236-64093-44026-01327

  Applications can update, delete from, insert into or drop the sqlite_stat1 table, but may not create or alter the sqlite_stat1 table. (source: fileformat2.html, matrix: context, detail)

R-23388-15416-08272-50703-43179-31884-02828-12043

  SQLITE_DBSTATUS_LOOKASIDE_HIT This parameter returns the number of malloc attempts that were satisfied using lookaside memory. Only the high-water value is meaningful; the current value is always zero. (source: c3ref/c_dbstatus_options.html, matrix: context, detail)

R-23445-46109-37360-43495-15091-19372-04158-40881

  This pragma causes the database connection on which it is invoked to free up as much memory as it can, by calling sqlite3_db_release_memory(). (source: pragma.html, checked-by: src/pragma.c, matrix: context, detail)

R-23458-03780-07133-16857-18321-45188-49595-32402

  Virtual tables can provide alternative implementations of functions using the xFindFunction method of the virtual table module. But global versions of those functions must exist in order to be overloaded. (source: c3ref/overload_function.html, matrix: context, detail)

R-23479-00031-14881-27531-19387-40447-21321-20674

  Alternative collating functions for table columns can be specified in the CREATE TABLE statement using the COLLATE clause on the column definition. (source: fileformat2.html, checked-by: th3/req1/fileformat05.test, matrix: context, detail)

R-23486-28813-15662-33687-07998-38651-35612-02946

  The SQLITE_ prefix is omitted from any strings returned by sqlite3_compileoption_get(). (source: c3ref/compileoption_get.html, checked-by: th3/cov1/ctime01.test, matrix: context, detail)

R-23498-38103-14789-32362-20893-18131-57271-11278

  When the REPLACE conflict resolution strategy deletes rows in order to satisfy a constraint, delete triggers fire if and only if recursive triggers are enabled. (source: lang_conflict.html, checked-by: th3/req1/conflict02.test, matrix: context, detail)

R-23552-22587-27822-03022-61455-36680-30849-34520

  If the MATCH operator is connected to other terms of the WHERE clause via an OR operator, for example, the query will fail with an error. (source: rtree.html, checked-by: th3/cov1/rtree04.test, matrix: context, detail)

R-23569-48727-57101-02184-22731-43304-31733-55704

  UNIQUE and PRIMARY KEY constraints on tables cause SQLite to create internal indexes with names of the form "sqlite_autoindex_TABLE_N" where TABLE is replaced by the name of the table that contains the constraint and N is an integer beginning with 1 and increasing by one with each constraint seen in the table definition. (source: fileformat2.html, matrix: context, detail)

R-23579-05241-28343-33967-00321-51471-16387-08197

  PRAGMA busy_timeout; PRAGMA busy_timeout = milliseconds; Query or change the setting of the busy timeout. (source: pragma.html, checked-by: tcl/lock.test, th3/cov1/main21.test, matrix: context, detail)

R-23588-34450-24473-59625-33708-24256-58306-00821

  The two-byte integer at offset 1 gives the start of the first freeblock on the page, or is zero if there are no freeblocks. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-23595-60076-32539-07407-36536-15376-05711-31213

  The sqlite3_malloc64(N) routine works just like sqlite3_malloc(N) except that N is an unsigned 64-bit integer instead of a signed 32-bit integer. (source: c3ref/free.html, checked-by: th3/req1/malloc02.test, matrix: context, detail)

R-23612-42210-08607-14273-01110-55544-62379-11788

  You can access the ROWID of an SQLite table using one of the special column names ROWID, _ROWID_, or OID. Except if you declare an ordinary table column to use one of those special names, then the use of that name will refer to the declared column not to the internal ROWID. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-23640-47263-12341-60168-43783-53275-58204-18225

  The rollback journal file can be truncated to zero length (source: fileformat2.html, matrix: context, detail)

R-23648-58527-04335-61943-03061-32754-63941-35147

  SQLite only understands upper/lower case for ASCII characters by default. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-23682-59820-57074-21944-19735-61329-41044-60872

  By contrast, if foreign key errors can be recognized simply by looking at the definition of the child table and without having to consult the parent table definition, then the CREATE TABLE statement for the child table fails. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys08.test, matrix: context, detail)

R-23702-41282-42393-06958-42086-21645-30380-61682

  The path is optional if the authority is present. (source: uri.html, matrix: context, detail)

R-23735-03107-03121-47557-18096-07566-30916-33769

  The likely(X) function returns the argument X unchanged. (source: lang_corefunc.html, checked-by: tcl/func3.test, matrix: context, detail)

R-23774-64117-15302-61921-22939-28381-40174-39816

  The destructor is also invoked if the call to sqlite3_create_function_v2() fails. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc07.test, matrix: context, detail)

R-23786-28684-07406-43966-34623-43310-02646-59578

  The "PRAGMA cache_spill=boolean" form of this pragma applies across all databases attached to the database connection. (source: pragma.html, matrix: context, detail)

R-23828-03043-49392-48287-20383-19771-48629-15869

  After at least "ms" milliseconds of sleeping, the handler returns 0 which causes sqlite3_step() to return SQLITE_BUSY. (source: c3ref/busy_timeout.html, checked-by: th3/cov1/main21.test, matrix: context, detail)

R-23882-45353-30604-47614-45882-29623-34325-59956

  The cell pointer array of a b-tree page immediately follows the b-tree page header. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-23914-51476-03843-05689-25158-40099-03729-02958

  A literal value can also be the token "NULL". (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-23927-54081-32743-59723-35169-61192-28393-34691

  Each expression in the result-set is then evaluated once for each group of rows. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-23929-31743-58027-02127-28995-37198-56222-58306

  These routines work just like the corresponding column access functions except that these routines take a single protected sqlite3_value object pointer instead of a sqlite3_stmt* pointer and an integer column number. (source: c3ref/value_blob.html, checked-by: th3/req1/value02.test, th3/req1/value03.test, matrix: context, detail)

R-23935-31469-05351-59076-27167-07827-26621-20596

  If a RELEASE command releases the outermost savepoint, so that the transaction stack becomes empty, then RELEASE is the same as COMMIT. (source: lang_savepoint.html, matrix: context, detail)

R-23955-02765-61832-08091-33535-52671-43903-30817

  Cache_spill is enabled by default (source: pragma.html, checked-by: tcl/pragma2.test, matrix: context, detail)

R-23976-43329-40116-37521-45580-17979-29083-00221

  It is an error to specify both a schema-name and the TEMP or TEMPORARY keyword, unless the schema-name is "temp". (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-23979-26855-11433-13886-36819-17221-39687-26769

  The abs(X) function returns the absolute value of the numeric argument X. (source: lang_corefunc.html, checked-by: src/func.c, th3/cov1/func01.test, matrix: context, detail)

R-23980-43280-61587-10591-51567-45451-02507-40247

  This interface causes the xEntryPoint() function to be invoked for each new database connection that is created. (source: c3ref/auto_extension.html, checked-by: th3/req1/autoext01.test, matrix: context, detail)

R-23980-48859-56951-38852-38346-56715-55568-02993

  There is one exception: if the foreign key column in the track table is NULL, then no corresponding entry in the artist table is required. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys01.test, matrix: context, detail)

R-23984-49501-37243-56289-03587-60124-22633-25227

  PRAGMA ignore_check_constraints = boolean; This pragma enables or disables the enforcement of CHECK constraints. (source: pragma.html, checked-by: th3/req1/pragma20.test, matrix: context, detail)

R-23992-54131-34297-51092-28105-58242-15143-29320

  If the "TEMP" or "TEMPORARY" keyword occurs in between "CREATE" and "VIEW" then the view that is created is only visible to the database connection that created it and is automatically deleted when the database connection is closed. (source: lang_createview.html, checked-by: th3/req1/view01.test, matrix: context, detail)

R-24016-17929-42002-59431-23117-37264-43384-47268

  C-style comments can span multiple lines. (source: lang_comment.html, checked-by: th3/req1/comment01.test, matrix: context, detail)

R-24023-61156-56094-16008-29634-01440-59018-40109

  The mode query parameter determines if the new database is opened read-only, read-write, read-write and created if it does not exist, or that the database is a pure in-memory database that never interacts with disk, respectively. (source: uri.html, matrix: context, detail)

R-24078-09375-10188-46060-61284-00703-09304-21721

  Value is a NULL. (source: fileformat2.html, checked-by: src/vdbeaux.c, th3/req1/fileformat02.test, matrix: context, detail)

R-24086-08530-21252-40131-41317-48771-53823-31992

  For example, a partial index might omit entries for which the column being indexed is NULL. (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-24089-57979-14928-03351-49983-36558-42407-47450

  If a page contains no cells (which is only possible for a root page of a table that contains no rows) then the offset to the cell content area will equal the page size minus the bytes of reserved space. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-24153-28352-05918-29721-55341-26989-15412-17405

  Tables created using CREATE TABLE AS are initially populated with the rows of data returned by the SELECT statement. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-24157-46062-13277-37526-03999-51751-53681-32386

  The 3rd argument to the sqlite3_exec() callback is an array of pointers to strings obtained as if from sqlite3_column_text(), one for each column. (source: c3ref/exec.html, checked-by: th3/req1/exec01.test, matrix: context, detail)

R-24161-47822-59915-14251-27754-57973-48969-03751

  The sqlite3_version() function is mostly constant, but it can change when SQLite is upgraded, and so even though it always returns the same answer for any particular session, because it can change answers across sessions it is still considered non-deterministic. (source: deterministic.html, matrix: context, detail)

R-24176-11856-49416-35044-22347-11072-23258-18948

  The length of the name is limited to 255 bytes in a UTF-8 representation, exclusive of the zero-terminator. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc01.test, matrix: context, detail)

R-24179-60523-60164-40067-19292-39680-45687-45747

  Even if the foreign key constraint it is attached to is deferred, configuring a RESTRICT action causes SQLite to return an error immediately if a parent key with dependent child keys is deleted or modified. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys16.test, matrix: context, detail)

R-24188-24349-51458-56364-12806-43304-14352-46380

  The expression attached to the optional OFFSET clause that may follow a LIMIT clause must also evaluate to an integer, or a value that can be losslessly converted to an integer. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-24189-42234-36662-00124-25434-59870-15844-57738

  An SQLITE_TRACE_ROW callback is invoked whenever a prepared statement generates a single row of result. (source: c3ref/c_trace.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-24225-46995-38973-17701-37772-12518-00219-22558

  For example, "(CAST '123e+5' AS INTEGER)" results in 123, not in 12300000. (source: lang_expr.html, checked-by: tcl/cast.test, matrix: context, detail)

R-24227-04807-65013-09510-28047-53461-17252-27305

  Or, if none of the WHEN expressions evaluate to true, the result of evaluating the ELSE expression, if any. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-24306-14960-36438-04276-35826-43147-57622-43704

  RESTART This mode works the same way as FULL with the addition that after checkpointing the log file it blocks (calls the busy-handler callback) until all readers are finished with the log file. (source: pragma.html, checked-by: th3/req1/checkpoint01.test, matrix: context, detail)

R-24334-46836-37699-41209-48952-15160-39885-36508

  The SQLite core will never read or write the lock-byte page, though operating-system specific VFS implementations may choose to read or write bytes on the lock-byte page according to the needs and proclivities of the underlying system. (source: fileformat2.html, matrix: context, detail)

R-24401-52400-49114-60456-18821-28705-54480-01087

  as will attempting to delete a row from the artist table when there exist dependent rows in the track table (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys01.test, matrix: context, detail)

R-24408-11841-16708-30331-61955-39086-27640-21297

  An application can tell which course of action SQLite took by using the sqlite3_get_autocommit() C-language interface. (source: lang_transaction.html, matrix: context, detail)

R-24411-60193-43052-59187-49935-26782-54329-59494

  The frame-header is six big-endian 32-bit unsigned integer values, as follows: WAL Frame Header Format OffsetSizeDescription 04 Page number 44 For commit records, the size of the database file in pages after the commit. For all other records, zero. 84 Salt-1 copied from the WAL header 124 Salt-2 copied from the WAL header 164 Checksum-1: Cumulative checksum up through and including this page 204 Checksum-2: Second half of the cumulative checksum. (source: fileformat2.html, matrix: context, detail)

R-24420-43338-21659-30217-32361-58749-59788-18529

  In formats 5 through 7, the "T" is a literal character separating the date and the time, as required by ISO-8601. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-24433-42760-21501-54800-20604-32904-26746-52498

  AUTOINCREMENT guarantees that automatically chosen ROWIDs will be increasing but not that they will be sequential. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-24450-46174-44304-25763-63471-62798-12121-54973

  All foreign key constraints in SQLite are handled as if MATCH SIMPLE were specified. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys23.test, matrix: context, detail)

R-24454-61742-57320-38040-08939-30630-11445-30109

  The BINARY collating sequence is used for comparisons. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-24470-31136-04101-59681-51092-46521-28491-41459

  This function is an SQL wrapper around the sqlite3_sourceid() C interface. (source: lang_corefunc.html, checked-by: src/func.c, th3/req1/func04.test, matrix: context, detail)

R-24499-57071-23351-26477-16690-35822-52475-36418

  The following example illustrates the effect of using a deferred foreign key constraint. -- Database schema. Both tables are initially empty. CREATE TABLE artist( artistid INTEGER PRIMARY KEY, artistname TEXT ); CREATE TABLE track( trackid INTEGER, trackname TEXT, trackartist INTEGER REFERENCES artist(artistid) DEFERRABLE INITIALLY DEFERRED ); sqlite3> -- If the foreign key constraint were immediate, this INSERT would sqlite3> -- cause an error (since as there is no row in table artist with sqlite3> -- artistid=5). But as the constraint is deferred and there is an sqlite3> -- open transaction, no error occurs. sqlite3> BEGIN; sqlite3> INSERT INTO track VALUES(1, 'White Christmas', 5); sqlite3> -- The following COMMIT fails, as the database is in a state that sqlite3> -- does not satisfy the deferred foreign key constraint. The sqlite3> -- transaction remains open. sqlite3> COMMIT; SQL error: foreign key constraint failed sqlite3> -- After inserting a row into the artist table with artistid=5, the sqlite3> -- deferred foreign key constraint is satisfied. It is then possible sqlite3> -- to commit the transaction without error. sqlite3> INSERT INTO artist VALUES(5, 'Bing Crosby'); sqlite3> COMMIT; (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys13.test, matrix: context, detail)

R-24505-23230-57666-22051-56312-29400-20176-42804

  A pointer to an sqlite3_context object is always first parameter to application-defined SQL functions. (source: c3ref/context.html, checked-by: src/vdbe.c, src/vdbemem.c, th3/req1/aggcntx01.test, th3/req1/func02.test, matrix: context, detail)

R-24519-28304-27679-62184-02249-08056-49023-13978

  When the value of auto-vacuum is 2 or "incremental" then the additional information needed to do auto-vacuuming is stored in the database file but auto-vacuuming does not occur automatically at each commit as it does with auto_vacuum=full. (source: pragma.html, checked-by: th3/req1/pragma07.test, matrix: context, detail)

R-24531-54682-59565-24630-56412-40369-07306-32819

  The update hook is not invoked when internal system tables are modified (i.e. sqlite_sequence). (source: c3ref/update_hook.html, checked-by: tcl/hook.test, matrix: context, detail)

R-24539-09359-22756-36895-58208-42463-58275-24865

  PRAGMA function_list; This pragma returns a list of SQL functions known to the database connection. (source: pragma.html, matrix: context, detail)

R-24543-02373-21907-00972-51733-48834-36106-39581

  If pzTail is not NULL then *pzTail is made to point to the first byte past the end of the first SQL statement in zSql. (source: c3ref/prepare.html, checked-by: th3/req1/prepare01.test, matrix: context, detail)

R-24550-28707-14750-42136-44607-00507-28775-21401

  An SQLITE_TRACE_CLOSE callback is invoked when a database connection closes. (source: c3ref/c_trace.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-24596-57909-32096-12351-64612-37660-33667-09663

  If there are many OR terms in the WHERE clause or if some of the indices on individual OR-clause subterms are not very selective, then SQLite might decide that it is faster to use a different query algorithm, or even a full-table scan. (source: optoverview.html, matrix: context, detail)

R-24625-56801-43002-50418-06223-19456-53547-53426

  SQLite makes its own private copy of the content of the sqlite3_mem_methods structure before the sqlite3_config() call returns. (source: c3ref/c_config_covering_index_scan.html, checked-by: th3/th3oom.c, matrix: context, detail)

R-24635-37065-50827-53824-24547-23611-48294-22857

  The <<, >>, &, and | operators always return an INTEGER (or NULL) result, but the % operator returns either INTEGER or REAL (or NULL) depending on the type of its operands. (source: datatype3.html, checked-by: th3/req1/datatype3_06.test, matrix: context, detail)

R-24654-22397-54230-45811-61786-44537-26039-50669

  The X callback is invoked whenever any of the events identified by mask M occur. (source: c3ref/trace_v2.html, matrix: context, detail)

R-24663-27339-41709-46831-61109-18753-41935-55210

  SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE The database is opened for reading and writing, and is created if it does not already exist. This is the behavior that is always used for sqlite3_open() and sqlite3_open16(). (source: c3ref/open.html, matrix: context, detail)

R-24676-09859-25258-06679-18327-03281-24955-00264

  For example, consider the following database schema: CREATE TABLE album( albumartist TEXT, albumname TEXT, albumcover BINARY, PRIMARY KEY(albumartist, albumname) ); CREATE TABLE song( songid INTEGER, songartist TEXT, songalbum TEXT, songname TEXT, FOREIGN KEY(songartist, songalbum) REFERENCES album(albumartist, albumname) ); In this system, each entry in the song table is required to map to an entry in the album table with the same combination of artist and album. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys11.test, matrix: context, detail)

R-24691-27369-29687-09464-65253-51469-13435-14358

  Memory to hold the error message string is managed internally. The application does not need to worry about freeing the result. However, the error string might be overwritten or deallocated by subsequent calls to other SQLite interface functions. (source: c3ref/errcode.html, matrix: context, detail)

R-24707-22256-10968-61514-58469-45624-50106-41306

  The estimatedRows value is an estimate of the number of rows that will be returned by the strategy. (source: c3ref/index_info.html, matrix: context, detail)

R-24728-13230-17441-17828-27985-11598-34826-53003

  SQLite parses MATCH clauses (i.e. does not report a syntax error if you specify one), but does not enforce them. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys23.test, matrix: context, detail)

R-24731-45773-21654-50701-01955-60961-16210-17736

  The IS and IS NOT operators work like = and != except when one or both of the operands are NULL. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-24738-46982-10847-07410-11065-35020-61549-58241

  Otherwise, it is invoked with two arguments only. (source: lang_corefunc.html, checked-by: th3/req1/func02.test, matrix: context, detail)

R-24770-07833-20413-40492-33395-44315-54642-50376

  The expression of a generated column may only reference constant literals and columns within the same row, and may only use scalar deterministic functions. (source: gencol.html, matrix: context, detail)

R-24770-17719-20723-28193-15704-54316-24358-11027

  As with all SQL syntax, the case of the keywords does not matter. One can write "WITHOUT rowid" or "without rowid" or "WiThOuT rOwId" and it will mean the same thing. (source: withoutrowid.html, checked-by: tcl/without_rowid5.test, th3/cov1/withoutrowid01.test, matrix: context, detail)

R-24784-09209-65529-37322-41810-39114-37590-65280

  The authority may be omitted, may be blank, or may be "localhost". Any other authority results in an error. (source: uri.html, matrix: context, detail)

R-24831-43693-55364-04496-15994-32297-02839-53654

  But if the ANALYZE command is run in order to gather statistics, a different choice might be made if the statistics indicate that the alternative is likely to run faster. (source: optoverview.html, matrix: context, detail)

R-24843-55391-00331-31917-58094-58865-54184-39062

  It is permitted to register multiple implementations of the same functions with the same name but with either differing numbers of arguments or differing preferred text encodings. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc04.test, matrix: context, detail)

R-24844-01074-31075-35616-03763-50098-34519-03364

  datetime(timestring, modifier, modifier, ...) (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-24874-01721-30373-30915-48096-44417-56853-33182

  If sqlite3_collation_needed16() is used, the names are passed as UTF-16 in machine native byte order. (source: c3ref/collation_needed.html, matrix: context, detail)

R-24896-34661-16790-51948-60772-09392-38798-62711

  The sqlite_stat4.tbl column holds name of the table that owns the index that the row describes (source: fileformat2.html, matrix: context, detail)

R-24911-36108-02843-41555-24793-65003-42358-61703

  The GLOB operator is always case sensitive. (source: optoverview.html, checked-by: th3/cov1/pragma02.test, matrix: context, detail)

R-24982-11525-35857-44633-64462-64682-47144-54575

  The SQLITE_CONFIG_SMALL_MALLOC option takes single argument of type int, interpreted as a boolean, which if true provides a hint to SQLite that it should avoid large memory allocations if possible. (source: c3ref/c_config_covering_index_scan.html, matrix: context, detail)

R-24983-33491-21111-64156-17936-16093-21195-54073

  Because the function inputs are not necessarily known until run-time, the date/time functions will throw an exception if they encounter any of the non-deterministic features in a context where only deterministic functions are allowed. (source: deterministic.html, matrix: context, detail)

R-24984-42113-54448-54138-16961-63127-18743-03855

  Any callback set by a previous call to sqlite3_rollback_hook() for the same database connection is overridden. (source: c3ref/commit_hook.html, matrix: context, detail)

R-25008-21688-65381-07984-00031-51738-33385-29636

  The size of a page is a power of two between 512 and 65536 inclusive. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-25048-46581-04940-52749-02967-51891-39439-41238

  SQLite will never invoke xInit() more than once without an intervening call to xShutdown(). (source: c3ref/pcache_methods2.html, checked-by: th3/th3pcache.c, matrix: context, detail)

R-25063-23286-45841-01783-39001-22838-28482-44286

  The sqlite3_sourceid() function returns a pointer to a string constant whose value is the same as the SQLITE_SOURCE_ID C preprocessor macro. Except if SQLite is built using an edited copy of the amalgamation, then the last four characters of the hash might be different from SQLITE_SOURCE_ID. (source: c3ref/libversion.html, checked-by: src/main.c, th3/th3main.c, matrix: context, detail)

R-25071-21202-61916-09187-06401-02826-31838-35119

  The "CROSS JOIN" join operator produces the same result as the "INNER JOIN", "JOIN" and "," operators (source: lang_select.html, checked-by: tcl/e_select.test, tcl/e_select2.test, matrix: context, detail)

R-25072-57278-41815-02342-40750-19788-27895-44607

  The argument to INTO can be a URI filename if URI filenames are enabled. (source: lang_vacuum.html, matrix: context, detail)

R-25108-07802-40508-32376-19441-31217-21410-63803

  However, if there are pending write operations, the COMMIT command will fail with an error code SQLITE_BUSY. (source: lang_transaction.html, matrix: context, detail)

R-25136-65062-60246-57323-36202-59774-22241-57010

  This option is used to enable or disable the enforcement of foreign key constraints. (source: c3ref/c_dbconfig_defensive.html, checked-by: th3/cov1/main34.test, matrix: context, detail)

R-25142-32967-13152-03974-64146-30247-48913-62281

  For conversions between TEXT and REAL storage classes, only the first 15 significant decimal digits of the number are preserved. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-25149-22012-48563-28153-37839-65089-07651-08185

  The INSERT ... DEFAULT VALUES statement inserts a single new row into the named table. (source: lang_insert.html, checked-by: tcl/e_insert.test, matrix: context, detail)

R-25205-10214-27993-08782-38533-49821-04798-04951

  The sqlite3_str object is destroyed and the string it created is returned using the sqlite3_str_finish() interface. (source: c3ref/str.html, matrix: context, detail)

R-25216-03908-32391-06837-09807-59608-58830-19572

  The term "b=6" does not match "b=3+3" or "b-6=0" or "b BETWEEN 6 AND 6". (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-25288-28061-40828-54827-02140-23541-51097-39397

  If sqlite3_value object V was initialized using sqlite3_bind_pointer(S,I,P,X,D) or sqlite3_result_pointer(C,P,X,D) and if X and Y are strings that compare equal according to strcmp(X,Y), then sqlite3_value_pointer(V,Y) will return the pointer P. (source: c3ref/value_blob.html, checked-by: th3/cov1/carray01.test, matrix: context, detail)

R-25343-19498-17466-42652-61214-37840-16481-55260

  It is not necessary for every column of an index to appear in a WHERE clause term in order for that index to be used. (source: optoverview.html, matrix: context, detail)

R-25359-61571-30835-46993-61423-15847-19094-36045

  If the implicit DELETE FROM causes any deferred foreign key constraints to be violated, and the violations still exist when the transaction is committed, an error is returned at the time of commit. (source: lang_droptable.html, checked-by: th3/cov1/fkey24.test, matrix: context, detail)

R-25361-16150-63678-45550-40472-51042-22441-52100

  This function is omitted from SQLite by default. It is only available if the SQLITE_SOUNDEX compile-time option is used when SQLite is built. (source: lang_corefunc.html, checked-by: src/func.c, th3/cov1/func07.test, matrix: context, detail)

R-25384-39337-58415-17102-37697-27977-14467-00416

  There is nothing stopping the user from creating a foreign key definition that refers to a parent table that does not exist, or to parent key columns that do not exist or are not collectively bound by a PRIMARY KEY or UNIQUE constraint. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys21.test, matrix: context, detail)

R-25451-61125-57795-23914-51441-34414-44666-54346

  The SQLITE_CONFIG_URI option takes a single argument of type int. If non-zero, then URI handling is globally enabled. If the parameter is zero, then URI handling is globally disabled. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, matrix: context, detail)

R-25459-18529-03655-35597-46929-35137-47473-63058

  These routines return 0 if the statement is incomplete. (source: c3ref/complete.html, checked-by: th3/cov1/complete01.test, matrix: context, detail)

R-25460-65232-16560-61859-43199-38232-53443-46120

  The sqlite3_test_control() interface is used to read out internal state of SQLite and to inject faults into SQLite for testing purposes. (source: c3ref/test_control.html, checked-by: th3/req1/checkpoint01.test, matrix: context, detail)

R-25473-20557-44472-04975-51987-58936-13072-57785

  The number of columns in a table is limited by the SQLITE_MAX_COLUMN compile-time parameter. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-25540-36848-64613-55100-38595-19137-49959-42593

  So as not to open security holes in older applications that are unprepared to deal with extension loading, and as a means of disabling extension loading while evaluating user-entered SQL, the following API is provided to turn the sqlite3_load_extension() mechanism on and off. (source: c3ref/enable_load_extension.html, matrix: context, detail)

R-25541-17189-03104-63416-46282-42879-07481-01224

  Furthermore, the temp_store_directory pragma always assumes that any string that this variable points to is held in memory obtained from sqlite3_malloc and the pragma may attempt to free that memory using sqlite3_free. (source: c3ref/temp_directory.html, matrix: context, detail)

R-25558-37487-19096-36063-17437-04044-36041-27526

  If the specified view cannot be found and the IF EXISTS clause is not present, it is an error. (source: lang_dropview.html, checked-by: tcl/e_dropview.test, th3/cov1/build13.test, matrix: context, detail)

R-25583-11663-64337-14085-59741-00588-27469-12431

  Compute the last day of the current month. SELECT date('now','start of month','+1 month','-1 day'); (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-25587-45258-04258-19279-64153-15260-17086-46262

  Additional sqlite3_trace() callbacks might occur as each triggered subprogram is entered. The callbacks for triggers contain a UTF-8 SQL comment that identifies the trigger. (source: c3ref/profile.html, checked-by: th3/cov1/main16.test, matrix: context, detail)

R-25588-27181-18097-02154-44633-08776-21987-21638

  The EXISTS operator always evaluates to one of the integer values 0 and 1. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-25613-37547-39472-02780-29297-59051-40019-17427

  Indexes are removed with the DROP INDEX command. (source: lang_createindex.html, checked-by: th3/req1/createidx01.test, matrix: context, detail)

R-25616-08788-18594-15704-08007-00569-12211-26573

  A SELECT statement used as either a scalar subquery or as the right-hand operand of an IN, NOT IN or EXISTS expression may contain references to columns in the outer query. (source: lang_expr.html, checked-by: th3/req1/select01.test, matrix: context, detail)

R-25616-61116-19772-20982-08386-58484-18398-18419

  The database connection can be changed between full and incremental autovacuum mode at any time. (source: pragma.html, checked-by: th3/req1/pragma07.test, matrix: context, detail)

R-25638-20415-36003-28189-21007-56161-18481-25600

  The sqlite3_mprintf() and sqlite3_vmprintf() routines write their results into memory obtained from sqlite3_malloc64(). (source: c3ref/mprintf.html, matrix: context, detail)

R-25645-37767-35870-43075-30633-04117-48100-12426

  However, if the 4th parameter to sqlite3_create_function_v2() is OR-ed with SQLITE_DETERMINISTIC, then SQLite will treat that function as if it were deterministic. (source: deterministic.html, matrix: context, detail)

R-25654-38196-54382-29664-57733-52949-37784-40820

  All reads from and writes to the main database file begin at a page boundary and all writes are an integer number of pages in size. (source: fileformat2.html, matrix: context, detail)

R-25698-53233-37700-31268-29379-58660-07035-56459

  Thus for the example index above, if there is no WHERE clause term that constraints column c, then terms that constrain columns a and b can be used with the index but not terms that constraint columns d through z. (source: optoverview.html, matrix: context, detail)

R-25715-37072-58552-52856-29858-64366-26989-17165

  Memory allocation statistics are enabled by default unless SQLite is compiled with SQLITE_DEFAULT_MEMSTATUS=0 in which case memory allocation statistics are disabled by default. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/sqliteInt.h, matrix: context, detail)

R-25722-54578-39151-48243-45997-39827-22901-27237

  sqlite3_realloc(X,N) returns a pointer to a memory allocation of at least N bytes in size or NULL if insufficient memory is available. (source: c3ref/free.html, checked-by: th3/req1/malloc02.test, matrix: context, detail)

R-25726-27770-20459-03461-13607-13171-18925-23787

  SQLite will invoke the destructor function (if it is not NULL) when SQLite no longer needs the pClientData pointer. (source: c3ref/create_module.html, matrix: context, detail)

R-25787-28949-24920-53948-06133-34727-56080-32939

  The EXCEPT operator returns the subset of rows returned by the left SELECT that are not also returned by the right-hand SELECT. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-25824-45489-43990-02774-35332-28137-18182-24527

  The D and N arguments to sqlite3_backup_init(D,N,S,M) are the database connection associated with the destination database and the database name, respectively. (source: c3ref/backup_finish.html, checked-by: th3/req1/backup02.test, matrix: context, detail)

R-25832-43294-06509-06689-56001-36083-00062-63837

  The presence of the "noskipscan" token on the sqlite_stat1.stat field of an index prevents that index from being used with the skip-scan optimization. (source: fileformat2.html, checked-by: th3/cov1/where43.test, matrix: context, detail)

R-25857-01867-51039-59358-11204-13788-02264-02528

  The values of these parameters (also called "host parameter names" or "SQL parameters") can be set using the sqlite3_bind_*() routines defined here. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-25882-51550-16212-06454-16146-64979-21023-53530

  SQLITE_OPEN_MEMORY The database will be opened as an in-memory database. The database is named by the "filename" argument for the purposes of cache-sharing, if shared cache mode is enabled, but the "filename" is otherwise ignored. (source: c3ref/open.html, matrix: context, detail)

R-25883-55063-43215-03328-35797-53686-57723-04298

  The expressions in the GROUP BY clause do not have to be expressions that appear in the result. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-25894-51060-18040-53125-15120-62396-36354-30863

  Calling this routine with a null pointer (such as would be returned by a failed call to sqlite3_blob_open()) is a harmless no-op. (source: c3ref/blob_close.html, checked-by: tcl/e_blobclose.test, th3/cov1/vdbeblob01.test, matrix: context, detail)

R-25950-00887-26391-00141-61376-60148-41906-53274

  Both the WHEN clause and the trigger actions may access elements of the row being inserted, deleted or updated using references of the form "NEW.column-name" and "OLD.column-name", where column-name is the name of a column from the table that the trigger is associated with. (source: lang_createtrigger.html, matrix: context, detail)

R-25963-03527-53793-34841-03007-31919-23816-21204

  The xInit() method is passed a copy of the sqlite3_pcache_methods2.pArg value. (source: c3ref/pcache_methods2.html, checked-by: th3/th3pcache.c, matrix: context, detail)

R-26000-56589-64657-09406-12178-15033-38154-19492

  The xShutdown() method may be NULL. (source: c3ref/pcache_methods2.html, checked-by: src/pcache.c, matrix: context, detail)

R-26018-54615-20076-23782-57324-62216-58815-28451

  In the "vX" interfaces, the prepared statement that is returned (the sqlite3_stmt object) contains a copy of the original SQL text. (source: c3ref/prepare.html, checked-by: th3/req1/prepare01.test, matrix: context, detail)

R-26022-39063-15323-00044-24129-45502-60784-59294

  PRAGMA analysis_limit; PRAGMA analysis_limit = N; (source: pragma.html, matrix: context, detail)

R-26030-41411-57646-19570-38371-36124-26436-49384

  The highwater mark associated with SQLITE_DBSTATUS_CACHE_USED is always 0. (source: c3ref/c_dbstatus_options.html, checked-by: th3/req1/dbstatus01.test, matrix: context, detail)

R-26031-07851-20661-23903-48754-42738-42414-42677

  URIs are processed as UTF8 text. (source: uri.html, matrix: context, detail)

R-26078-30979-29806-34785-43846-23819-01793-57552

  The content of these tables is not updated as the database changes so after making significant changes it might be prudent to rerun ANALYZE. (source: optoverview.html, matrix: context, detail)

R-26102-39000-00300-53165-31110-34521-05669-39517

  The mxLevel entry in the sqlite3_rtree_query_info structure is the level value for the root of the R*Tree. (source: rtree.html, matrix: context, detail)

R-26117-01852-15491-47779-25813-50210-15791-48499

  In this latter case, the integer at offset 64 is true for incremental_vacuum and false for auto_vacuum. (source: fileformat2.html, matrix: context, detail)

R-26128-01625-01942-61645-49803-53494-49149-48512

  Calls to sqlite3_close() and sqlite3_close_v2() return SQLITE_OK if the sqlite3 object is successfully destroyed and all associated resources are deallocated. (source: c3ref/close.html, checked-by: th3/th3util.c, matrix: context, detail)

R-26145-35631-18411-10408-27137-14285-36971-04977

  The sqlite3_errmsg() and sqlite3_errmsg16() return English-language text that describes the error, as either UTF-8 or UTF-16 respectively. (source: c3ref/errcode.html, matrix: context, detail)

R-26170-15376-11446-15770-61234-08203-15612-42127

  The sqlite3_str_appendchar(X,N,C) method appends N copies of the single-byte character C onto the end of sqlite3_str object X. (source: c3ref/str_append.html, matrix: context, detail)

R-26177-52471-27779-44415-45290-32639-49511-38944

  The first argument is an integer code for the specific parameter to measure. (source: c3ref/status.html, matrix: context, detail)

R-26188-08449-06969-05333-36262-60871-22176-39475

  If the SQLITE_FCNTL_PRAGMA file control returns SQLITE_OK, then the parser assumes that the VFS has handled the PRAGMA itself and the parser generates a no-op prepared statement if result string is NULL, or that returns a copy of the result string if the string is non-NULL. (source: c3ref/c_fcntl_begin_atomic_write.html, checked-by: tcl/multiplex4.test, th3/cov1/pragma24.test, matrix: context, detail)

R-26196-02570-33266-26547-23836-43946-29062-31083

  The destructor is called to dispose of the BLOB or string even if the call to the bind API fails, except the destructor is not called if the third parameter is a NULL pointer or the fourth parameter is negative. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-26228-33773-01538-19072-29962-47655-12853-04397

  The 4th argument to the sqlite3_exec() callback is an array of pointers to strings where each entry represents the name of corresponding result column as obtained from sqlite3_column_name(). (source: c3ref/exec.html, checked-by: th3/req1/exec01.test, matrix: context, detail)

R-26234-58592-26686-64458-63937-04823-26518-58770

  Whether or not any conversions are attempted before the comparison takes place depends on the type affinity of the operands. (source: datatype3.html, checked-by: th3/req1/datatype3_05.test, matrix: context, detail)

R-26245-27007-61091-63162-56268-13882-14164-49256

  Comments can begin anywhere whitespace can be found, including inside expressions that span multiple lines. (source: lang_comment.html, checked-by: th3/req1/comment01.test, matrix: context, detail)

R-26266-37313-29476-24640-23484-47513-24426-61925

  If the implicit DELETE FROM executed as part of a DROP TABLE command violates any immediate foreign key constraints, an error is returned and the table is not dropped. (source: lang_droptable.html, checked-by: th3/cov1/fkey24.test, th3/req1/droptable01.test, matrix: context, detail)

R-26267-43414-63813-04870-32404-43287-64705-64465

  In the case of an update, this is the rowid after the update takes place. (source: c3ref/update_hook.html, checked-by: th3/cov1/main15.test, matrix: context, detail)

R-26300-50198-46822-10316-25756-64179-25231-23016

  If a WHERE clause is supplied, then only those rows for which the WHERE clause boolean expression is true are deleted. (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-26304-43698-14397-16826-05465-17486-47171-40397

  The sqlite3_errstr() interface returns the English-language text that describes the result code, as UTF-8. (source: c3ref/errcode.html, matrix: context, detail)

R-26335-36429-33832-38639-19447-31976-61151-28783

  The second and third column are -1 if there is no write-ahead log, for example if this pragma is invoked on a database connection that is not in WAL mode. (source: pragma.html, checked-by: th3/req1/pragma29.test, matrix: context, detail)

R-26343-45930-10507-06945-56497-65367-59680-35735

  This pragma invokes the sqlite3_soft_heap_limit64() interface with the argument N, if N is specified and is a non-negative integer. (source: pragma.html, checked-by: src/pragma.c, tcl/softheap1.test, matrix: context, detail)

R-26346-36443-14203-01237-59463-02061-43306-07214

  When casting a BLOB value to a REAL, the value is first converted to TEXT. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-26377-49195-21869-49397-37126-00993-02015-27234

  If the DELETE statement also has an OFFSET clause, then it is similarly evaluated and cast to an integer value. Again, it is an error if the value cannot be losslessly converted to an integer. (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-26383-00685-00003-12709-20041-02640-63629-60960

  Note that the journal_mode for an in-memory database is either MEMORY or OFF and can not be changed to a different value. (source: pragma.html, checked-by: th3/req1/pragma23.test, matrix: context, detail)

R-26383-51744-00561-00695-36382-45480-37936-10675

  If a CHECK constraint or foreign key constraint violation occurs, the REPLACE conflict resolution algorithm works like ABORT. (source: lang_conflict.html, checked-by: src/insert.c, th3/req1/conflict02.test, matrix: context, detail)

R-26406-03647-33657-03652-13422-62298-62842-50282

  It is possible for the library compile-time C preprocessor symbol SQLITE_TEMP_STORE to override this pragma setting. (source: pragma.html, matrix: context, detail)

R-26427-33659-32322-40327-33016-33915-32615-17849

  Other parameters record only the highwater mark and not the current value. For these latter parameters nothing is written into *pCurrent. (source: c3ref/status.html, matrix: context, detail)

R-26456-17544-11737-29192-02704-19416-55152-07326

  The right-hand operand of an IN or NOT IN operator has no affinity if the operand is a list and has the same affinity as the affinity of the result set expression if the operand is a SELECT. (source: datatype3.html, checked-by: th3/cov1/affinity01.test, th3/req1/datatype3_05.test, matrix: context, detail)

R-26480-31567-01189-11331-40338-43119-64271-54165

  The key for each entry in the WITHOUT ROWID b-tree is a record composed of the columns of the PRIMARY KEY followed by all remaining columns of the table. (source: fileformat2.html, matrix: context, detail)

R-26490-64257-21643-35537-33187-49961-28588-55610

  But making modifications to this table will likely perturb the AUTOINCREMENT key generation algorithm. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-26492-45204-29363-38379-65381-14832-32787-08398

  If P>X and K<=X then the first K bytes of P are stored on the btree page and the remaining P-K bytes are stored on overflow pages. (source: fileformat2.html, matrix: context, detail)

R-26501-17306-17113-63025-42217-43181-46541-32131

  If a table contains a user defined column named "rowid", "oid" or "_rowid_", then that name always refers the explicitly declared column and cannot be used to retrieve the integer rowid value. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-26507-47431-65188-24932-00073-09728-32384-65254

  If the N parameter to sqlite3_realloc(X,N) is zero or negative then the behavior is exactly the same as calling sqlite3_free(X). (source: c3ref/free.html, checked-by: src/malloc.c, th3/req1/malloc02.test, matrix: context, detail)

R-26512-02966-03467-49127-26389-10088-58457-04547

  When secure_delete is on, SQLite overwrites deleted content with zeros. (source: pragma.html, checked-by: th3/cov1/pragma20.test, matrix: context, detail)

R-26578-03501-48329-54809-40303-33325-20677-03881

  The load_extension() function raises an exception if the extension fails to load or initialize correctly. (source: lang_corefunc.html, checked-by: th3/cov1/func03.test, matrix: context, detail)

R-26601-01119-55361-00031-26734-63731-65122-53650

  Subject to rules (11), (12) and (13), they may also contain ORDER BY, LIMIT and OFFSET clauses. (source: optoverview.html, matrix: context, detail)

R-26602-05678-16907-15766-43643-13869-48465-09322

  The sqlite3_blob_read() and sqlite3_blob_write() interfaces can be used to read or write small subsections of the BLOB. (source: c3ref/blob.html, checked-by: th3/cov1/vdbeblob01.test, matrix: context, detail)

R-26684-40576-09126-53282-12439-40003-41887-60526

  Each non-aggregate expression in the result-set is evaluated once for an arbitrarily selected row of the dataset. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-26704-30334-42154-41889-16850-21412-27655-04243

  The sqlite3_config(SQLITE_CONFIG_PCACHE2, ...) interface can register an alternative page cache implementation by passing in an instance of the sqlite3_pcache_methods2 structure. (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-26801-64137-39079-48164-16524-44855-40563-04540

  If the xInit() method is NULL, then the built-in default page cache is used instead of the application defined page cache. (source: c3ref/pcache_methods2.html, checked-by: src/pcache.c, matrix: context, detail)

R-26810-60950-31083-35442-30714-31340-57644-05934

  If the authority section is present, then the path is always an absolute pathname. (source: uri.html, matrix: context, detail)

R-26835-10964-22323-42888-35777-38355-20607-28933

  The first argument (the third parameter to sqlite3_db_config() is a pointer to a memory buffer to use for lookaside memory. (source: c3ref/c_dbconfig_defensive.html, checked-by: src/main.c, th3/req1/dbconfig01.test, matrix: context, detail)

R-26835-34471-30842-38170-16771-41578-05053-31515

  SQL comments begin with two consecutive "-" characters (ASCII 0x2d) and extend up to and including the next newline character (ASCII 0x0a) or until the end of input, whichever comes first. (source: lang_comment.html, checked-by: th3/req1/comment01.test, matrix: context, detail)

R-26845-32976-14599-31607-31221-37786-17413-24156

  Value "rwc" is equivalent to setting both SQLITE_OPEN_READWRITE and SQLITE_OPEN_CREATE. (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-26888-26313-07515-35775-03599-15989-59200-07369

  The default setting is off, meaning that CHECK constraints are enforced by default. (source: pragma.html, checked-by: th3/req1/pragma20.test, matrix: context, detail)

R-26894-41325-01569-09628-52380-05795-22160-61664

  If the TEXT value is not a well-formed integer or real literal, then the value is stored as TEXT. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-26900-09176-20658-03305-09602-45574-02965-13099

  A value of 13 (0x0d) means the page is a leaf table b-tree page. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-26917-59594-53851-11147-17067-15964-43582-37189

  For the INSERT and UPDATE commands, the keywords "ON CONFLICT" are replaced by "OR" so that the syntax reads more naturally. (source: lang_conflict.html, checked-by: th3/req1/conflict01.test, matrix: context, detail)

R-26947-19317-61341-19233-36872-20864-34826-22893

  If the statement is a COMMIT or occurs outside of an explicit transaction, then you can retry the statement. (source: c3ref/step.html, matrix: context, detail)

R-26959-28969-15823-07414-35392-55670-52959-52462

  As of version 3.6.18, without running ANALYZE, SQLite will choose option 2. (source: optoverview.html, matrix: context, detail)

R-26972-25540-17987-13345-11118-49972-58252-62199

  The sqlite3_bind_* routines return SQLITE_OK on success or an error code if anything goes wrong. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-26993-43540-10992-37102-45404-55683-60247-30594

  Passing zero or a negative value as the nFrame parameter disables automatic checkpoints entirely. (source: c3ref/wal_autocheckpoint.html, checked-by: tcl/e_walauto.test, matrix: context, detail)

R-26999-04791-16827-31249-13986-61939-06074-63605

  The sqlite_sequence table is an internal table used to help implement AUTOINCREMENT. (source: fileformat2.html, matrix: context, detail)

R-27002-52307-56024-23951-62365-30891-30149-50327

  The DROP VIEW statement removes a view created by the CREATE VIEW statement. (source: lang_dropview.html, checked-by: tcl/e_dropview.test, th3/cov1/build13.test, matrix: context, detail)

R-27061-43436-37550-51046-04512-17816-21037-16098

  The aConstraintUsage[].omit flag is an optimization hint. When the omit flag is left in its default setting of false, the constraint will always be checked separately in byte code. If the omit flag is change to true, then the constraint may or may not be checked in byte code. In other words, when the omit flag is true there is no guarantee that the constraint will not be checked again using byte code. (source: c3ref/index_info.html, matrix: context, detail)

R-27108-11003-35381-33223-00139-25935-11742-39438

  The name of the database is "main" for the main database or "temp" for the TEMP database, or the name that appears after the AS keyword for databases that are added using the ATTACH SQL command. (source: c3ref/file_control.html, matrix: context, detail)

R-27192-61982-03758-21332-41239-32834-09507-36997

  The third and fourth parameters to this function are the table and column name of the desired column, respectively. (source: c3ref/table_column_metadata.html, checked-by: th3/cov1/metadata01.test, matrix: context, detail)

R-27219-49057-63143-35616-48690-21583-47587-41101

  Unlike most SQL databases, SQLite does not restrict the type of data that may be inserted into a column based on the columns declared type. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-27228-35217-15852-02871-02611-58321-58852-42304

  A scalar SQL function requires an implementation of the xFunc callback only; NULL pointers must be passed as the xStep and xFinal parameters. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc03.test, matrix: context, detail)

R-27233-06819-06438-56184-33294-63005-30894-40602

  If the TEXT value is a well-formed integer literal that is too large to fit in a 64-bit signed integer, it is converted to REAL. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-27234-05761-29027-01683-12712-48347-06174-19243

  Parameter zDb is not the filename that contains the database, but rather the symbolic name of the database. For attached databases, this is the name that appears after the AS keyword in the ATTACH statement. For the main database file, the database name is "main". For TEMP tables, the database name is "temp". (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, matrix: context, detail)

R-27289-46867-00795-18230-38785-61782-07002-59582

  If N is negative, then the limit reverts to the default value determined by the most recent sqlite3_config(SQLITE_CONFIG_MMAP_SIZE), or to the compile time default determined by SQLITE_DEFAULT_MMAP_SIZE if not start-time limit has been set. (source: pragma.html, matrix: context, detail)

R-27290-56511-04892-59250-62806-15127-45739-19284

  CREATE INDEX po_parent ON purchaseorder(parent_po) WHERE parent_po IS NOT NULL; (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-27301-09658-03082-11591-62753-46064-11323-29821

  Otherwise, if the ORDER BY expression is a column or an alias of an expression that is a column, then the default collation sequence for the column is used. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-27327-54431-40312-06060-63431-19500-57112-52669

  The entry point is zProc. (source: c3ref/load_extension.html, matrix: context, detail)

R-27363-63308-55807-24434-61973-58824-33773-60814

  If the result is a BLOB or UTF-8 string then the sqlite3_column_bytes() routine returns the number of bytes in that BLOB or string. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, matrix: context, detail)

R-27380-17544-22852-64378-45230-22316-25696-47821

  All schemas are optimized in the first two forms, and only the specified schema is optimized in the latter two. (source: pragma.html, matrix: context, detail)

R-27383-10246-01655-25271-51755-59417-27078-62241

  An ON UPDATE action is only taken if the values of the parent key are modified so that the new parent key values are not equal to the old. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys20.test, matrix: context, detail)

R-27438-53558-39373-64011-10542-64778-48166-54900

  Each column of the subquery has the collation sequence and affinity of the corresponding expression in the subquery statement. (source: lang_select.html, checked-by: tcl/e_select2.test, matrix: context, detail)

R-27458-04043-31882-50848-08148-11623-61104-53512

  URI hexadecimal escape sequences (%HH) are supported within the path and query components of a URI. (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-27461-16942-46149-61363-05307-36708-49016-10103

  The TEMP database has a default suggested cache size of 0 pages. (source: pragma.html, checked-by: th3/req1/pragma09.test, matrix: context, detail)

R-27472-62612-19629-13155-08759-40565-10817-64469

  But WITHOUT ROWID tables do follow the standard and will throw an error on any attempt to insert a NULL into a PRIMARY KEY column. (source: withoutrowid.html, checked-by: tcl/without_rowid5.test, th3/cov1/withoutrowid01.test, matrix: context, detail)

R-27484-01467-40660-08782-16756-57898-53117-01697

  For example, CREATE TABLE parent(a PRIMARY KEY, b UNIQUE, c, d, e, f); CREATE UNIQUE INDEX i1 ON parent(c, d); CREATE INDEX i2 ON parent(e); CREATE UNIQUE INDEX i3 ON parent(f COLLATE nocase); CREATE TABLE child1(f, g REFERENCES parent(a)); -- Ok CREATE TABLE child2(h, i REFERENCES parent(b)); -- Ok CREATE TABLE child3(j, k, FOREIGN KEY(j, k) REFERENCES parent(c, d)); -- Ok CREATE TABLE child4(l, m REFERENCES parent(e)); -- Error! CREATE TABLE child5(n, o REFERENCES parent(f)); -- Error! CREATE TABLE child6(p, q, FOREIGN KEY(p, q) REFERENCES parent(b, c)); -- Error! CREATE TABLE child7(r REFERENCES parent(c)); -- Error! The foreign key constraints created as part of tables child1, child2 and child3 are all fine. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys07.test, matrix: context, detail)

R-27484-38990-39416-37657-02655-32272-61477-41469

  Reads are also usually an integer number of pages in size, with the one exception that when the database is first opened, the first 100 bytes of the database file (the database file header) are read as a sub-page size unit. (source: fileformat2.html, matrix: context, detail)

R-27542-08072-33902-06053-42391-63696-60417-63522

  The sqlite3_set_auxdata(C,N,P,X) interface saves P as metadata for the N-th argument of the application-defined function. (source: c3ref/get_auxdata.html, matrix: context, detail)

R-27542-21820-48287-27325-53525-05675-63695-54951

  The ANALYZE command scans all indices of database where there might be a choice between two or more indices and gathers statistics on the selectiveness of those indices. (source: optoverview.html, matrix: context, detail)

R-27549-59611-14621-06209-14436-33110-11201-06265

  The instr(X,Y) function finds the first occurrence of string Y within string X and returns the number of prior characters plus 1, or 0 if Y is nowhere found within X. (source: lang_corefunc.html, checked-by: tcl/instr.test, matrix: context, detail)

R-27599-07502-21530-13120-63753-37571-15799-15475

  The callback function registered by sqlite3_trace() is invoked at various times when an SQL statement is being run by sqlite3_step(). (source: c3ref/profile.html, checked-by: th3/cov1/main16.test, matrix: context, detail)

R-27632-24205-25477-34441-62508-04163-16390-61608

  URI filename interpretation is enabled if the SQLITE_OPEN_URI flag is set in the third argument to sqlite3_open_v2(), or if it has been enabled globally using the SQLITE_CONFIG_URI option with the sqlite3_config() method or by the SQLITE_USE_URI compile-time option. (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-27649-21314-13870-57957-53735-15830-08405-07126

  However a left outer join is neither commutative nor associative and hence will not be reordered. (source: optoverview.html, matrix: context, detail)

R-27653-00078-33413-45845-06007-29371-61376-52679

  Within an xUpdate method, any value for which sqlite3_value_nochange(X) is true will in all other respects appear to be a NULL value. (source: c3ref/value_blob.html, matrix: context, detail)

R-27690-36184-48459-32575-13610-54533-11397-57376

  The sqlite3_int64 variable pointed to by the V parameter will be set to the total number of times that the X-th loop has run. (source: c3ref/c_scanstat_est.html, checked-by: th3/cov1/status02.test, matrix: context, detail)

R-27702-51733-15398-16850-47606-12840-18480-45806

  New VFSes are registered with sqlite3_vfs_register(). (source: c3ref/vfs_find.html, checked-by: th3/req1/vfs01.test, matrix: context, detail)

R-27726-60934-44670-59608-21152-24326-11375-20798

  The "PRAGMA data_version" command provides an indication that the database file has been modified. (source: pragma.html, checked-by: tcl/pragma3.test, th3/cov1/pragma26.test, matrix: context, detail)

R-27741-36039-35312-26646-43562-16753-08652-02657

  The remaining seven methods defined by this structure (xMutexAlloc, xMutexFree, xMutexEnter, xMutexTry, xMutexLeave, xMutexHeld and xMutexNotheld) implement the following interfaces (respectively): sqlite3_mutex_alloc() sqlite3_mutex_free() sqlite3_mutex_enter() sqlite3_mutex_try() sqlite3_mutex_leave() sqlite3_mutex_held() sqlite3_mutex_notheld() (source: c3ref/mutex_methods.html, matrix: context, detail)

R-27753-05999-58187-16156-08992-28399-17856-50930

  The 5th parameter to the authorizer callback is the name of the database ("main", "temp", etc.) if applicable. (source: c3ref/c_alter_table.html, checked-by: th3/cov1/auth03.test, matrix: context, detail)

R-27775-64721-40407-04494-31964-21217-54345-17508

  Both of these limits can be lowered at runtime using the sqlite3_limit() C/C++ interface. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-27800-48033-09479-04735-22303-21367-59255-07249

  For the index above and WHERE clause like this: ... WHERE a=5 AND b IN (1,2,3) AND d='hello' Only columns a and b of the index would be usable. The d column would not be usable because column c is not constrained and there can be no gaps in the set of columns that usable by the index. (source: optoverview.html, matrix: context, detail)

R-27806-26076-28846-24074-00653-42186-57572-51475

  The handler for an SQLITE_FCNTL_PRAGMA file control can optionally make the first element of the char** argument point to a string obtained from sqlite3_mprintf() or the equivalent and that string will become the result of the pragma or the error message if the pragma fails. (source: c3ref/c_fcntl_begin_atomic_write.html, checked-by: src/test_multiplex.c, th3/cov1/pragma24.test, matrix: context, detail)

R-27809-56550-37281-65484-19482-39813-11020-02299

  The VACUUM command works by copying the contents of the database into a temporary database file and then overwriting the original with the contents of the temporary file. (source: lang_vacuum.html, matrix: context, detail)

R-27819-43026-21380-16418-25214-30821-40612-27368

  The _database_ routines return the database name, the _table_ routines return the table name, and the origin_ routines return the column name. (source: c3ref/column_database_name.html, matrix: context, detail)

R-27831-00579-12114-42310-13784-00983-37340-32180

  NOT NULL is enforced on every column of the PRIMARY KEY in a WITHOUT ROWID table. (source: withoutrowid.html, checked-by: tcl/without_rowid5.test, th3/cov1/withoutrowid01.test, matrix: context, detail)

R-27847-27229-42495-29063-58716-22268-05238-18530

  The first argument is the database connection object to be interrogated. (source: c3ref/db_status.html, checked-by: th3/req1/dbstatus01.test, matrix: context, detail)

R-27875-27272-27361-08539-07716-12839-63715-05434

  The implied type conversion of mathematical operands is slightly different from CAST to NUMERIC in that string and BLOB values that look like real numbers but have no fractional part are kept as REAL instead of being converted into INTEGER as they would be for CAST to NUMERIC. (source: datatype3.html, checked-by: th3/req1/datatype3_06.test, matrix: context, detail)

R-27882-15425-11851-57208-29860-19997-13242-33591

  This option is used to enable or disable the sqlite3_load_extension() interface independently of the load_extension() SQL function. (source: c3ref/c_dbconfig_defensive.html, matrix: context, detail)

R-27896-13480-56358-14836-45881-39569-16238-21022

  The sqlite3_result_null() interface sets the return value of the application-defined function to be NULL. (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-27910-63456-49633-56474-25927-30250-35983-46521

  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. (source: c3ref/interrupt.html, matrix: context, detail)

R-27925-06263-58551-32265-51230-19990-38380-59040

  SQLite strives to keep heap memory utilization below the soft heap limit by reducing the number of pages held in the page cache as heap memory usages approaches the limit. (source: c3ref/hard_heap_limit64.html, checked-by: th3/req1/softheaplimit02.test, matrix: context, detail)

R-27935-58314-00156-50891-26988-61472-07043-33985

  Any prior cache entry associated with newKey is guaranteed not to be pinned. (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-27941-57764-10424-18721-07448-14003-34159-15666

  The sqlite3_rollback_hook() interface registers a callback function to be invoked whenever a transaction is rolled back. (source: c3ref/commit_hook.html, matrix: context, detail)

R-27945-10199-33337-38453-50117-26077-19774-25797

  Each ordinary SQL table in the database schema is represented on-disk by a table b-tree. (source: fileformat2.html, matrix: context, detail)

R-27966-31616-60182-10304-08590-16090-08574-57683

  An attempt to create a WITHOUT ROWID table without a PRIMARY KEY results in an error. (source: withoutrowid.html, checked-by: tcl/without_rowid5.test, th3/cov1/withoutrowid01.test, matrix: context, detail)

R-27985-03553-20917-04804-06476-41235-27520-21131

  These interfaces are used to retrieve runtime status information about the performance of SQLite, and optionally to reset various highwater marks. (source: c3ref/status.html, matrix: context, detail)

R-27994-60376-08852-47971-54191-53637-09431-08610

  The same arbitrarily selected row is used for each non-aggregate expression. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-28051-48608-28159-47201-29527-20252-33499-18741

  If xGeom returns anything other than SQLITE_OK, then the r-tree query will abort with an error. (source: rtree.html, matrix: context, detail)

R-28060-16686-02484-25378-20168-65175-45888-14189

  So, for example, if sqlite3_result_text16le() is invoked with text that begins with bytes 0xfe, 0xff (a big-endian byte-order mark) then the first two bytes of input are skipped and the remaining input is interpreted as UTF16BE text. (source: c3ref/result_blob.html, matrix: context, detail)

R-28170-10886-01228-38547-37735-16350-02783-15797

  To make an existing VFS into the default VFS, register it again with the makeDflt flag set. (source: c3ref/vfs_find.html, checked-by: th3/req1/vfs01.test, matrix: context, detail)

R-28176-28813-25399-58317-42934-47980-64589-03329

  The xGeom callback always does a depth-first search of the r-tree. (source: rtree.html, matrix: context, detail)

R-28183-48984-04569-19175-13455-19458-08289-27795

  If the callback returns non-zero, then another attempt is made to access the database and the cycle repeats. (source: c3ref/busy_handler.html, checked-by: th3/req1/busy01.test, matrix: context, detail)

R-28207-40885-37612-34994-37916-57388-29422-16350

  The last argument is a pointer into which the callback result should be written. (source: rtree.html, matrix: context, detail)

R-28220-46694-36270-42674-38857-47778-22952-56853

  For example, if an "ON DELETE SET DEFAULT" action is configured, but there is no row in the parent table that corresponds to the default values of the child key columns, deleting a parent key while dependent child keys exist still causes a foreign key violation. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys18.test, matrix: context, detail)

R-28258-23166-61617-36220-57922-46020-57990-00363

  Row iRow is not present in the table (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, matrix: context, detail)

R-28262-47447-02372-41671-47406-00862-29752-13937

  If a HAVING clause is a non-aggregate expression, it is evaluated with respect to an arbitrarily selected row from the group. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-28265-37702-63167-40719-28674-33175-26294-56765

  The second argument is a pointer to the function to invoke when a row is updated, inserted or deleted in a rowid table. (source: c3ref/update_hook.html, checked-by: th3/cov1/main15.test, matrix: context, detail)

R-28279-44669-55028-49406-32452-64424-01870-54893

  If nByte is positive, then it is the number of bytes read from zSql. (source: c3ref/prepare.html, checked-by: th3/req1/prepare01.test, matrix: context, detail)

R-28307-32767-23693-57600-42950-25827-15696-21088

  All other databases use the normal locking mode by default and are affected by this pragma. (source: pragma.html, checked-by: th3/req1/pragma04.test, matrix: context, detail)

R-28312-64704-30092-58113-01356-46939-35653-28661

  However, the usable size is not allowed to be less than 480. In other words, if the page size is 512, then the reserved space size cannot exceed 32. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-28329-37702-19692-05275-47566-55090-16021-12790

  The string literal must not begin with a wildcard; if the right-hand side begins with a wildcard character then this optimization is not attempted. (source: optoverview.html, matrix: context, detail)

R-28346-31823-44337-58654-12319-45607-22371-22984

  A call to either function replaces the existing collation-needed callback. (source: c3ref/collation_needed.html, matrix: context, detail)

R-28351-07091-05361-50500-02238-36187-02311-00737

  Note that an inner transaction might commit (using the RELEASE command) but then later have its work undone by a ROLLBACK in an outer transaction. (source: lang_savepoint.html, matrix: context, detail)

R-28355-09804-02024-51679-13656-23007-30178-16776

  If there is more than one table or subquery in FROM clause then the contents of all tables and/or subqueries are joined into a single dataset for the simple SELECT statement to operate on. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-28401-00140-19628-52826-12287-35959-24998-24420

  Value is a string in the text encoding and (N-13)/2 bytes in length. (source: fileformat2.html, checked-by: src/vdbeaux.c, th3/req1/fileformat02.test, matrix: context, detail)

R-28453-47400-61335-60267-59373-07041-42359-06361

  This API may be used to register a callback that SQLite will invoke when the connection currently holding the required lock relinquishes it. (source: c3ref/unlock_notify.html, matrix: context, detail)

R-28465-35432-54989-58142-09664-10793-19950-25889

  When the temp_store setting is changed, all existing temporary tables, indices, triggers, and views are immediately deleted. (source: pragma.html, matrix: context, detail)

R-28518-13457-48277-27328-18424-50932-01795-30236

  The optional "OR action" conflict clause that follows the UPDATE keyword allows the user to nominate a specific constraint conflict resolution algorithm to use during this one UPDATE command. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-28530-22001-17760-49127-38466-18799-32025-16275

  Content is not actually committed on the disk until the outermost transaction commits. (source: lang_savepoint.html, matrix: context, detail)

R-28535-44631-32814-50468-55427-04715-11501-46204

  The likelihood(X) function is a no-op that the code generator optimizes away so that it consumes no CPU cycles during run-time (that is, during calls to sqlite3_step()). (source: lang_corefunc.html, checked-by: tcl/func3.test, matrix: context, detail)

R-28555-32340-54703-19587-00440-31117-26893-64821

  This function is used to move an existing BLOB handle so that it points to a different row of the same database table. (source: c3ref/blob_reopen.html, checked-by: th3/req1/blob01.test, matrix: context, detail)

R-28594-02890-08451-24102-07094-48300-54751-43989

  The one-byte flag at offset 0 indicating the b-tree page type. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-28659-11035-10621-07368-12698-03611-12155-24539

  If the path begins with a '/' character, then it is interpreted as an absolute path. (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-28676-08005-24857-51856-29072-62693-32404-21796

  Table zTable does not exist within database zDb (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, matrix: context, detail)

R-28676-32830-52785-15539-23546-23390-27594-39349

  The xMutexInit routine is called by SQLite exactly once for each effective call to sqlite3_initialize(). (source: c3ref/mutex_methods.html, matrix: context, detail)

R-28691-49464-13455-34259-09637-44341-17028-46530

  The INDEXED BY and NOT INDEXED clauses are not allowed on DELETE statements within triggers. (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-28740-04940-19074-59456-16824-11848-19165-57032

  The time() function returns the time as HH:MM:SS. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-28760-53843-47957-08431-27887-29261-48374-11570

  When more than two tables are joined together as part of a FROM clause, the join operations are processed in order from left to right. In other words, the FROM clause (A join-op-1 B join-op-2 C) is computed as ((A join-op-1 B) join-op-2 C). (source: lang_select.html, checked-by: tcl/e_select2.test, matrix: context, detail)

R-28765-22796-02386-57750-08034-62633-19124-45761

  If the previous call to this routine had an N of 1 or more and a non-NULL P then the pseudo-randomness is generated internally and without recourse to the sqlite3_vfs xRandomness method. (source: c3ref/randomness.html, checked-by: th3/cov1/random01.test, matrix: context, detail)

R-28818-00847-36702-14411-16104-05353-45723-35449

  Otherwise, they return the name of the attached database, table, or column that query result column was extracted from. (source: c3ref/column_database_name.html, matrix: context, detail)

R-28818-63526-62393-01881-62533-13491-06138-19891

  If the table to which the trigger is attached is not in the temp database, then DELETE statements within the trigger body must operate on tables within the same database as it. (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-28853-08147-20510-38197-22369-16459-32849-06937

  However, if the SELECT is a compound SELECT, then ORDER BY expressions that are not aliases to output columns must be exactly the same as an expression used as an output column. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-28861-22117-11804-11458-17489-33951-18363-36356

  The structure of the sqlite_schema table is as if it had been created using the following SQL: CREATE TABLE sqlite_schema( type text, name text, tbl_name text, rootpage integer, sql text ); (source: fileformat2.html, matrix: context, detail)

R-28870-48866-03452-03570-43153-10694-10376-44715

  In SQLite, table rows normally have a 64-bit signed integer ROWID which is unique among all rows in the same table. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-28880-18896-60065-00895-16000-25645-24475-60986

  The ALTER TABLE command does not work on statistics tables. (source: lang_analyze.html, checked-by: th3/req1/analyze01.test, matrix: context, detail)

R-28902-17274-01624-42364-46386-62149-20745-43372

  EXPLAIN QUERY PLAN is most useful on a SELECT statement, but may also appear with other statements that read data from database tables (e.g. UPDATE, DELETE, INSERT INTO ... SELECT). (source: eqp.html, matrix: context, detail)

R-28911-57501-45271-30589-18471-43910-24083-24523

  The defer_foreign_keys pragma defaults to OFF so that foreign key constraints are only deferred if they are created as "DEFERRABLE INITIALLY DEFERRED". (source: pragma.html, checked-by: tcl/fkey6.test, th3/cov1/fkey24.test, matrix: context, detail)

R-28989-00211-56037-13079-09434-49891-20969-08914

  sqlite3_config() can be called as part of the implementation of an application-defined sqlite3_os_init(). (source: c3ref/config.html, matrix: context, detail)

R-28995-46979-25570-20018-47836-46368-43472-22663

  The sqlite3_column_type() routine returns the datatype code for the initial data type of the result column. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, matrix: context, detail)

R-29005-40549-62573-61718-07162-40054-58592-42696

  FTS4 uses term prefix indexes to speed up prefix queries. (source: fts3.html, matrix: context, detail)

R-29045-37224-33225-01178-62278-53898-40877-61168

  For example, the sqlite_stat1 table might indicate that an equality constraint on column x reduces the search space to 10 rows on average, whereas an equality constraint on column y reduces the search space to 3 rows on average. In that case, SQLite would prefer to use index ex2i2 since that index is more selective. (source: optoverview.html, matrix: context, detail)

R-29052-00975-25766-49663-50070-52826-19346-28533

  String and BLOB values that do not look like numbers are interpreted as 0. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-29055-19620-57316-63969-08563-57428-43116-59145

  SQLite interprets the string from sqlite3_result_error16() as UTF-16 using the same byte-order determination rules as sqlite3_bind_text16(). (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-29082-45770-21240-41661-14924-48900-49346-30675

  An attempt to read from an expired BLOB handle fails with an error code of SQLITE_ABORT. (source: c3ref/blob_read.html, checked-by: th3/cov1/vdbeblob01.test, matrix: context, detail)

R-29130-21766-34227-41742-24593-26617-14935-23368

  The sqlite3_str_finish(X) interface destroys the sqlite3_str object X and returns a pointer to a memory buffer obtained from sqlite3_malloc64() that contains the constructed string. (source: c3ref/str_finish.html, matrix: context, detail)

R-29137-58191-04727-48044-60255-14464-15278-17646

  SQLITE_STATUS_MALLOC_COUNT This parameter records the number of separate memory allocations currently checked out. (source: c3ref/c_status_malloc_count.html, matrix: context, detail)

R-29144-37270-15316-24457-48532-24353-08508-55125

  The ROLLBACK command with a TO clause rolls back transactions going backwards in time back to the most recent SAVEPOINT with a matching name. (source: lang_savepoint.html, matrix: context, detail)

R-29161-24939-37010-28632-36605-59202-44014-09658

  This is the number of sort operations that have occurred. (source: c3ref/c_stmtstatus_counter.html, matrix: context, detail)

R-29161-32953-36932-45614-26636-25376-16033-00724

  If one operand has TEXT affinity and the other has no affinity, then TEXT affinity is applied to the other operand. (source: datatype3.html, checked-by: th3/cov1/affinity01.test, th3/req1/datatype3_05.test, matrix: context, detail)

R-29177-48281-29998-61012-25413-14806-58383-44850

  It then checkpoints all frames in the log file and syncs the database file. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, th3/req1/checkpoint01.test, matrix: context, detail)

R-29187-47463-37855-25397-01259-03141-56758-63159

  For indexes on an ordinary rowid table, N will be one more than the number of columns indexed. (source: fileformat2.html, matrix: context, detail)

R-29198-50701-28906-62015-01619-10608-18054-51120

  When the commit hook callback routine returns zero, the COMMIT operation is allowed to continue normally. (source: c3ref/commit_hook.html, matrix: context, detail)

R-29213-61195-54301-03299-01569-39638-01555-01215

  The third and fourth arguments to the callback contain pointers to the database and table name containing the affected row. (source: c3ref/update_hook.html, checked-by: tcl/hook.test, th3/cov1/main15.test, matrix: context, detail)

R-29255-51137-31633-40808-05446-49202-54154-26438

  For "X LIKE P" without the ESCAPE clause, set the E parameter of sqlite3_strlike(P,X,E) to 0. (source: c3ref/strlike.html, matrix: context, detail)

R-29276-00741-11068-20150-45137-35653-26807-40835

  When the locking-mode is set to EXCLUSIVE, the database connection never releases file-locks. (source: pragma.html, checked-by: th3/req1/pragma04.test, matrix: context, detail)

R-29283-15561-34387-21673-60506-52883-35719-11898

  Otherwise, the storage class of the result is determined by applying the rules for determining column affinity to the type-name. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-29319-62175-31242-39109-13345-46061-10840-60903

  If the source database connection is being used to write to the source database when sqlite3_backup_step() is called, then SQLITE_LOCKED is returned immediately. (source: c3ref/backup_finish.html, matrix: context, detail)

R-29353-26294-62114-45133-33417-28665-47147-29185

  PRAGMA fullfsync PRAGMA fullfsync = boolean; Query or change the fullfsync flag. (source: pragma.html, checked-by: th3/req1/pragma11b.test, matrix: context, detail)

R-29353-35916-54935-35443-09756-12894-62191-13348

  Generated columns can occur anywhere in the table definition. (source: gencol.html, matrix: context, detail)

R-29356-02391-20787-31753-20232-32348-21090-16703

  If the database uses a 65536-byte page size and the reserved space is zero (the usual value for reserved space) then the cell content offset of an empty page wants to be 65536. However, that integer is too large to be stored in a 2-byte unsigned integer, so a value of 0 is used in its place. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-29387-20242-08784-06903-03129-29684-27650-40318

  Some virtual table implementations might impose additional restrictions. (source: lang_createvtab.html, matrix: context, detail)

R-29410-53018-13680-36864-38018-28179-51962-01812

  If there are too few arguments in the argument list, missing arguments are assumed to have a NULL value, which is translated into 0 or 0.0 for numeric formats or an empty string for %s. (source: lang_corefunc.html, checked-by: tcl/printf2.test, th3/cov1/printf08.test, matrix: context, detail)

R-29431-39229-16691-57532-51214-42870-42294-30038

  The highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0. (source: c3ref/c_dbstatus_options.html, checked-by: src/status.c, matrix: context, detail)

R-29448-60346-55143-08707-47583-53661-32513-61785

  PRAGMA schema.index_info(index-name); This pragma returns one row for each key column in the named index. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15.test, matrix: context, detail)

R-29466-27412-45786-34057-43817-35684-25480-06167

  If a given call to sqlite3_unlock_notify() would put the system in a deadlocked state, then SQLITE_LOCKED is returned and no unlock-notify callback is registered. (source: c3ref/unlock_notify.html, matrix: context, detail)

R-29497-04603-39486-29131-04048-03697-44723-21949

  A subsequent call to sqlite3_result_error() or sqlite3_result_error16() resets the error code to SQLITE_ERROR. (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-29512-54644-05780-17564-45452-02840-21704-61078

  If the table to which the trigger is attached is in the TEMP database, then the unqualified name of the table being updated is resolved in the same way as it is for a top-level statement (by searching first the TEMP database, then the main database, then any other databases in the order they were attached). (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-29517-30691-07524-03121-42038-48163-15213-35798

  Hence, when an application changes the statistics tables directly, SQLite will not immediately notice the changes. (source: lang_analyze.html, checked-by: th3/req1/analyze01.test, matrix: context, detail)

R-29523-01234-45433-34913-07391-02140-19209-23434

  When a "table-name" is specified, the only foreign key constraints checked are those created by REFERENCES clauses in the CREATE TABLE statement for table-name. (source: pragma.html, checked-by: th3/cov1/fkey23.test, matrix: context, detail)

R-29538-34987-07238-64188-64158-06889-50248-62239

  The usual algorithm is to give the newly created row a ROWID that is one larger than the largest ROWID in the table prior to the insert. (source: autoinc.html, checked-by: src/vdbe.c, th3/req1/autoinc01.test, matrix: context, detail)

R-29565-52740-53863-51242-23520-28931-17220-09831

  The sqlite3_stmt_isexplain(S) interface returns 1 if the prepared statement S is an EXPLAIN statement, or 2 if the statement S is an EXPLAIN QUERY PLAN. (source: c3ref/stmt_isexplain.html, matrix: context, detail)

R-29575-14878-05474-20512-63309-33241-31866-62624

  Each call to either sqlite3_trace() or sqlite3_trace_v2() overrides (cancels) any prior calls to sqlite3_trace() or sqlite3_trace_v2(). (source: c3ref/trace_v2.html, matrix: context, detail)

R-29588-44058-56045-00722-36389-33824-35706-30523

  An INSERT that fails due to a constraint violation is not a successful INSERT and does not change the value returned by this routine. (source: c3ref/last_insert_rowid.html, matrix: context, detail)

R-29600-32407-54811-33651-22955-26262-16018-30636

  sqlite3_free() is used to free idxPtr if and only if needToFreeIdxPtr is true. (source: c3ref/index_info.html, matrix: context, detail)

R-29604-30395-11418-33165-02079-38209-02467-57208

  However, COMMIT will fail as long as foreign key constraints remain in violation. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys12.test, th3/req1/foreignkeys14.test, matrix: context, detail)

R-29609-10377-53436-28646-00070-22457-04173-55911

  The right-hand side of an IN or NOT IN operator can be a table name or table-valued function name in which case the right-hand side is understood to be subquery of the form "(SELECT * FROM name)". (source: lang_expr.html, checked-by: th3/cov1/in01.test, matrix: context, detail)

R-29629-55858-55328-41166-17171-44417-01732-51851

  Type is associated with individual values, not with the containers used to hold those values. (source: c3ref/column_decltype.html, matrix: context, detail)

R-29639-16887-16584-30400-13663-34877-64046-50311

  The sqlite3_db_readonly(D,N) interface returns 1 if the database N of connection D is read-only, 0 if it is read/write, or -1 if N is not the name of a database on connection D. (source: c3ref/db_readonly.html, checked-by: tcl/rdonly.test, matrix: context, detail)

R-29639-49338-45805-35258-41039-23584-19093-35749

  The sqlite3_create_function() interface can be used to override the like() function and thereby change the operation of the LIKE operator. (source: lang_corefunc.html, checked-by: th3/req1/func02.test, matrix: context, detail)

R-29649-49812-55856-43048-16547-37449-39759-10169

  The nullif(X,Y) function returns its first argument if the arguments are different and NULL if the arguments are the same. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, th3/req1/func03.test, matrix: context, detail)

R-29653-64292-04142-32577-33842-31550-59902-00796

  The second argument to the busy handler callback is the number of times that the busy handler has been invoked previously for the same locking event. (source: c3ref/busy_handler.html, checked-by: th3/req1/busy01.test, matrix: context, detail)

R-29691-21352-53312-54436-56868-51235-26976-62729

  For a blob value X, length(X) returns the number of bytes in the blob. (source: lang_corefunc.html, checked-by: th3/cov1/func01.test, matrix: context, detail)

R-29701-50711-44772-52633-13865-01358-40998-48117

  The unicode(X) function returns the numeric unicode code point corresponding to the first character of the string X. (source: lang_corefunc.html, checked-by: tcl/func.test, matrix: context, detail)

R-29702-55194-05446-48408-53607-29729-56782-07687

  If either operand has an explicit collating function assignment using the postfix COLLATE operator, then the explicit collating function is used for comparison, with precedence to the collating function of the left operand. (source: datatype3.html, checked-by: th3/req1/datatype3_09.test, matrix: context, detail)

R-29704-26647-58862-58935-31533-13851-11315-20283

  Application developers can use the EXPLAIN QUERY PLAN prefix on a statement to get a high-level overview of the chosen query strategy. (source: optoverview.html, matrix: context, detail)

R-29730-42609-05554-56391-51377-12498-20824-07696

  In this case the result of evaluating the left-most expression from each term of the VALUES list is inserted into the left-most column of each new row, and so forth for each subsequent expression. (source: lang_insert.html, checked-by: tcl/e_insert.test, matrix: context, detail)

R-29736-23230-43340-15713-20658-37994-08323-17511

  The sqlite3_str_new(D) interface allocates and initializes a new sqlite3_str object. (source: c3ref/str_new.html, matrix: context, detail)

R-29740-29379-09735-48719-34134-53325-08131-24362

  For any key X, pointers to the left of a X refer to b-tree pages on which all keys are less than or equal to X. (source: fileformat2.html, matrix: context, detail)

R-29747-05924-20663-28243-45594-47687-47105-58596

  FULL blocks concurrent writers while it is running, but readers can proceed. (source: pragma.html, matrix: context, detail)

R-29748-45567-07187-24756-39474-12329-09927-01777

  A function where the preferred text encoding matches the database encoding is a better match than a function where the encoding is different. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc04.test, matrix: context, detail)

R-29753-05667-59108-06137-58483-55469-25582-30166

  The text of query parameters is appended to the filename argument of the xOpen method of the VFS. (source: uri.html, matrix: context, detail)

R-29765-45832-49120-26582-31576-30942-45829-65039

  When an INTEGER or REAL is compared to another INTEGER or REAL, a numerical comparison is performed. (source: datatype3.html, checked-by: th3/req1/datatype3_04.test, matrix: context, detail)

R-29779-04281-26216-55813-25026-31775-44460-23073

  If the ORDER BY expression is a constant integer K then the expression is considered an alias for the K-th column of the result set (columns are numbered from left to right starting with 1). (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-29781-51289-55954-01701-34718-07402-02199-48708

  So, ordinary rowid tables in SQLite violate the SQL standard and allow NULL values in PRIMARY KEY fields. (source: withoutrowid.html, checked-by: tcl/without_rowid5.test, th3/cov1/withoutrowid01.test, matrix: context, detail)

R-29804-27366-08727-59986-31864-09983-14088-09844

  If offset iOffset is less than N bytes from the end of the BLOB, SQLITE_ERROR is returned and no data is written. (source: c3ref/blob_write.html, checked-by: tcl/e_blobwrite.test, matrix: context, detail)

R-29830-14325-45586-46074-54512-52450-29043-42603

  If the savepoint-name in a ROLLBACK TO command does not match any SAVEPOINT on the stack, then the ROLLBACK command fails with an error and leaves the state of the database unchanged. (source: lang_savepoint.html, matrix: context, detail)

R-29851-52272-33233-14067-54274-53843-25272-26823

  Value is a big-endian 64-bit twos-complement integer. (source: fileformat2.html, checked-by: src/vdbeaux.c, th3/req1/fileformat02.test, matrix: context, detail)

R-29855-60809-01544-19871-54336-63942-18466-34966

  The source database connection may be used by the application for other purposes while a backup operation is underway or being initialized. (source: c3ref/backup_finish.html, matrix: context, detail)

R-29868-13536-10966-03336-45139-07308-57583-25685

  If a NOT NULL constraint is specified, then the column must have a default value other than NULL. (source: lang_altertable.html, checked-by: th3/req1/altertable01.test, matrix: context, detail)

R-29872-04040-27270-03833-42234-32060-43929-61511

  If those locks cannot be obtained immediately and there is a busy-handler callback configured, it is invoked in the usual manner. (source: c3ref/db_cacheflush.html, matrix: context, detail)

R-29875-31678-61620-24152-15277-25938-13734-04890

  The argument to the SQLITE_FCNTL_PRAGMA file control is an array of pointers to strings (char**) in which the second element of the array is the name of the pragma and the third element is the argument to the pragma or NULL if the pragma has no argument. (source: c3ref/c_fcntl_begin_atomic_write.html, checked-by: src/pragma.c, src/test_multiplex.c, matrix: context, detail)

R-29897-28851-11131-17538-15635-12313-50588-15022

  Such transactions usually persist until the next COMMIT or ROLLBACK command. But a transaction will also ROLLBACK if the database is closed or if an error occurs and the ROLLBACK conflict resolution algorithm is specified. (source: lang_transaction.html, matrix: context, detail)

R-29901-08836-51888-40758-53445-49475-03703-08720

  The SQLITE_OPEN_EXCLUSIVE flag is always used in conjunction with the SQLITE_OPEN_CREATE flag, which are both directly analogous to the O_EXCL and O_CREAT flags of the POSIX open() API. (source: c3ref/vfs.html, checked-by: th3/th3testvfs.c, matrix: context, detail)

R-29907-43640-25763-15861-54141-28138-53381-17065

  This file control takes the file descriptor out of batch write mode so that all subsequent write operations are independent. (source: c3ref/c_fcntl_begin_atomic_write.html, matrix: context, detail)

R-29907-62378-42519-29973-48919-58819-22759-58497

  Calling sqlite3_auto_extension(X) with an entry point X that is already on the list of automatic extensions is a harmless no-op. (source: c3ref/auto_extension.html, checked-by: th3/req1/autoext01.test, matrix: context, detail)

R-29924-24161-31191-57990-51475-61688-39790-55251

  EXCLUSIVE is similar to IMMEDIATE in that a write transaction is started immediately. (source: lang_transaction.html, matrix: context, detail)

R-29946-11104-19867-16845-18883-10746-06540-64125

  Example Typenames From TheCREATE TABLE Statement or CAST Expression Resulting Affinity Rule Used To Determine Affinity INT INTEGER TINYINT SMALLINT MEDIUMINT BIGINT UNSIGNED BIG INT INT2 INT8 INTEGER 1 CHARACTER(20) VARCHAR(255) VARYING CHARACTER(255) NCHAR(55) NATIVE CHARACTER(70) NVARCHAR(100) TEXT CLOB TEXT 2 BLOB no datatype specified BLOB 3 REAL DOUBLE DOUBLE PRECISION FLOAT REAL 4 NUMERIC DECIMAL(10,5) BOOLEAN DATE DATETIME NUMERIC 5 (source: datatype3.html, checked-by: th3/req1/datatype3_02.test, matrix: context, detail)

R-29987-53326-32227-44761-37373-28199-35279-34751

  The leftmost column of the result set has the index 0. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, matrix: context, detail)

R-29989-03153-00644-12353-52386-44408-44979-16456

  If the argument to sqlite3_mutex_enter(), sqlite3_mutex_try(), or sqlite3_mutex_leave() is a NULL pointer, then all three routines behave as no-ops. (source: c3ref/mutex_alloc.html, checked-by: th3/cov1/mutex01.test, matrix: context, detail)

R-30008-03647-27202-20831-29850-54434-32362-14140

  If the result is a BLOB or UTF-16 string then the sqlite3_column_bytes16() routine returns the number of bytes in that BLOB or string. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, matrix: context, detail)

R-30009-08776-27577-53970-41747-16120-38646-36871

  Terms of the WHERE clause can be manually disqualified for use with indices by prepending a unary *+* operator to the column name. (source: optoverview.html, matrix: context, detail)

R-30025-13801-01234-26643-63886-25441-43268-35607

  The psow parameter indicates whether or not the powersafe overwrite property does or does not apply to the storage media on which the database file resides. (source: c3ref/open.html, checked-by: th3/cov1/psow01.test, matrix: context, detail)

R-30082-38996-55894-31210-19025-03289-36793-27218

  The non-equals operator can be either != or <>. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-30083-58938-31645-59750-38554-41419-43937-22175

  The index of the column is stored in aConstraint[].iColumn. (source: c3ref/index_info.html, matrix: context, detail)

R-30104-14201-52849-13140-57489-26582-19257-15267

  Additional application-specific collating functions can be added to SQLite using the sqlite3_create_collation() interface. (source: fileformat2.html, checked-by: th3/th3util.c, matrix: context, detail)

R-30105-58549-25183-38919-44198-38701-12397-38507

  PASSIVE Checkpoint as many frames as possible without waiting for any database readers or writers to finish. Sync the db file if all frames in the log are checkpointed. (source: pragma.html, checked-by: th3/req1/checkpoint01.test, matrix: context, detail)

R-30135-06439-12622-19657-03902-02051-33050-20191

  The wal_autocheckpoint pragma can be used to invoke this interface from SQL. (source: c3ref/wal_autocheckpoint.html, checked-by: tcl/e_walauto.test, matrix: context, detail)

R-30140-15527-13572-28268-32284-47435-56739-50325

  The compress option is used to specify the compress function. (source: fts3.html, matrix: context, detail)

R-30164-60316-40156-60446-50221-53227-39726-53106

  The number of pages in cache must exceed both the cache_spill threshold and the maximum cache size set by the PRAGMA cache_size statement in order for spilling to occur. (source: pragma.html, matrix: context, detail)

R-30185-15359-41231-64088-51727-20362-49126-10873

  The default suggested cache size is -2000, which means the cache size is limited to 2048000 bytes of memory. (source: pragma.html, checked-by: src/sqliteLimit.h, th3/req1/pragma09.test, matrix: context, detail)

R-30189-54097-58322-43687-36717-28803-52946-09131

  For each limit category SQLITE_LIMIT_NAME there is a hard upper bound set at compile-time by a C preprocessor macro called SQLITE_MAX_NAME. (The "_LIMIT_" in the name is changed to "_MAX_".) (source: c3ref/limit.html, checked-by: src/main.c, matrix: context, detail)

R-30195-08968-16924-33658-13499-65099-07965-35563

  All automatic checkpoints are PASSIVE. (source: pragma.html, matrix: context, detail)

R-30224-53949-52765-04057-07963-58169-00243-05425

  The load_extension() function will fail if the extension attempts to modify or delete an SQL function or collating sequence. (source: lang_corefunc.html, checked-by: th3/cov1/func03.test, matrix: context, detail)

R-30243-02494-34522-44043-46462-44113-55048-51587

  The sqlite3_stricmp() and sqlite3_strnicmp() APIs allow applications and extensions to compare the contents of two buffers containing UTF-8 strings in a case-independent fashion, using the same definition of "case independence" that SQLite uses internally when comparing identifiers. (source: c3ref/stricmp.html, checked-by: src/util.c, matrix: context, detail)

R-30264-64343-18676-16200-46556-14505-34639-51509

  All arguments are preceded by a single space. (source: fileformat2.html, matrix: context, detail)

R-30269-25284-41363-48378-16742-02348-00072-11353

  The default value of the fullfsync flag is off. (source: pragma.html, checked-by: th3/req1/pragma11b.test, matrix: context, detail)

R-30311-39793-14973-30919-34186-11921-51287-47112

  The minimum value is the first non-NULL value that would appear in an ORDER BY of the column. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-30323-21917-40561-21411-57538-63013-10240-64875

  Each foreign key constraint in SQLite is classified as either immediate or deferred. (source: foreignkeys.html, checked-by: src/build.c, src/fkey.c, src/sqliteInt.h, tcl/e_fkey.test, th3/req1/foreignkeys12.test, matrix: context, detail)

R-30347-18702-41681-51017-11561-03801-56644-21815

  Casting a REAL or INTEGER value to NUMERIC is a no-op, even if a real value could be losslessly converted to an integer. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-30358-48480-02487-45285-44102-55038-52936-37421

  The SQLITE_SOURCE_ID macro evaluates to a string which identifies a particular check-in of SQLite within its configuration management system. (source: c3ref/c_source_id.html, checked-by: th3/req1/version01.test, matrix: context, detail)

R-30374-63100-15715-29897-06518-00278-46226-59168

  Every call to sqlite3_backup_step() obtains a shared lock on the source database that lasts for the duration of the sqlite3_backup_step() call. (source: c3ref/backup_finish.html, matrix: context, detail)

R-30385-09533-50456-47389-28029-05767-39288-06718

  So, in the example above, if the query were rewritten as: SELECT z FROM ex2 WHERE +x=5 AND y=6; The *+* operator on the *x* column will prevent that term from constraining an index. This would force the use of the ex2i2 index. (source: optoverview.html, matrix: context, detail)

R-30391-20943-57014-62404-57876-35219-41861-22105

  There can only be a single busy handler defined for each database connection. Setting a new busy handler clears any previously set handler. (source: c3ref/busy_handler.html, checked-by: th3/req1/busy01.test, matrix: context, detail)

R-30433-25443-23879-51033-37593-48703-34224-12115

  An underscore ("_") in the LIKE pattern matches any single character in the string. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-30470-29835-03618-00817-05721-31518-05673-45416

  Any column in an SQLite version 3 database, except an INTEGER PRIMARY KEY column, may be used to store a value of any storage class. (source: datatype3.html, checked-by: th3/req1/datatype3_11.test, matrix: context, detail)

R-30481-56627-22651-35996-10349-58660-54475-15242

  Any scalar expression may be used in the LIMIT clause, so long as it evaluates to an integer or a value that can be losslessly converted to an integer. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-30493-01537-45458-43801-08603-54598-05440-48528

  If this routine has not been previously called or if the previous call had N less than one or a NULL pointer for P, then the PRNG is seeded using randomness obtained from the xRandomness method of the default sqlite3_vfs object. (source: c3ref/randomness.html, checked-by: th3/cov1/random01.test, matrix: context, detail)

R-30526-43432-10994-07089-02178-39041-60976-54446

  The locking mode of temp and in-memory databases cannot be changed. (source: pragma.html, checked-by: th3/req1/pragma04.test, matrix: context, detail)

R-30582-29746-05981-37310-62755-30295-44870-62832

  If the callback on a commit hook function returns non-zero, then the commit is converted into a rollback. (source: c3ref/commit_hook.html, matrix: context, detail)

R-30582-46132-28094-00774-52784-27025-04658-22916

  The unary *+* is a no-op and will not generate any byte code in the prepared statement. (source: optoverview.html, matrix: context, detail)

R-30617-11336-33984-38056-06680-32424-07593-35065

  After calling the xDestroy() method, SQLite considers the sqlite3_pcache* handle invalid, and will not use it with any other sqlite3_pcache_methods2 functions. (source: c3ref/pcache_methods2.html, checked-by: th3/th3pcache.c, matrix: context, detail)

R-30638-59954-59281-20323-32142-07020-22821-14638

  In a CASE without a base expression, each WHEN expression is evaluated and the result treated as a boolean, starting with the leftmost and continuing to the right. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-30687-15230-29813-38800-06728-37939-57957-31201

  The WAL header is 32 bytes in size and consists of the following eight big-endian 32-bit unsigned integer values: WAL Header Format OffsetSizeDescription 04 Magic number. 0x377f0682 or 0x377f0683 44 File format version. Currently 3007000. 84 Database page size. Example: 1024 124 Checkpoint sequence number 164 Salt-1: random integer incremented with each checkpoint 204 Salt-2: a different random number for each checkpoint 244 Checksum-1: First part of a checksum on the first 24 bytes of header 284 Checksum-2: Second part of the checksum on the first 24 bytes of header (source: fileformat2.html, matrix: context, detail)

R-30791-11785-26457-12987-43722-30660-26434-24770

  The sqlite3_strlike(P,X,E) function matches Unicode characters, though only ASCII characters are case folded. (source: c3ref/strlike.html, matrix: context, detail)

R-30809-57812-61495-62022-11490-25278-56613-15778

  The final callback parameter is the rowid of the row. (source: c3ref/update_hook.html, checked-by: tcl/hook.test, th3/cov1/main15.test, matrix: context, detail)

R-30842-64597-38059-54199-19748-27245-38788-44472

  If a write-transaction is open on database connection D when the sqlite3_db_cacheflush(D) interface invoked, any dirty pages in the pager-cache that are not currently in use are written out to disk. (source: c3ref/db_cacheflush.html, matrix: context, detail)

R-30866-25765-07571-30018-14065-28481-40844-53725

  The callback is invoked from within the sqlite3_step or sqlite3_close call that concludes the blocking connection's transaction. (source: c3ref/unlock_notify.html, matrix: context, detail)

R-30879-62015-53996-61326-18041-63884-46339-47880

  And the declared type of "STRING" has an affinity of NUMERIC, not TEXT. (source: datatype3.html, checked-by: th3/req1/datatype3_02.test, matrix: context, detail)

R-30918-12436-57339-31834-32101-57409-49210-29864

  The sqlite3_result_text64() interface sets the return value of an application-defined function to be a text string in an encoding specified by the fifth (and last) parameter, which must be one of SQLITE_UTF8, SQLITE_UTF16, SQLITE_UTF16BE, or SQLITE_UTF16LE. (source: c3ref/result_blob.html, checked-by: th3/req1/result02.test, matrix: context, detail)

R-30955-38324-06638-08685-16466-65436-15533-06365

  If the UPDATE statement also has an OFFSET clause, then it is similarly evaluated and cast to an integer value. If the OFFSET expression evaluates to a non-negative value M, then the first M rows are skipped and the following N rows updated instead. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-30964-04756-41013-33290-38906-18403-44827-12997

  The legacy behavior was that sqlite3_step() would only return a generic SQLITE_ERROR result code and the application would have to make a second call to sqlite3_reset() in order to find the underlying cause of the problem. (source: c3ref/prepare.html, checked-by: th3/req1/prepare03.test, matrix: context, detail)

R-30967-33251-18681-38633-21419-53092-54100-57767

  Memory to hold the error message string is managed internally and must not be freed by the application (source: c3ref/errcode.html, matrix: context, detail)

R-30981-64168-44842-46448-61673-47635-40067-59553

  For each UNIQUE constraint on the table, each row must contain a unique combination of values in the columns identified by the UNIQUE constraint. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-31029-02789-51389-40070-25151-19392-18984-32450

  Root pages are moved to the beginning of the database file by the CREATE TABLE, CREATE INDEX, DROP TABLE, and DROP INDEX operations. (source: fileformat2.html, matrix: context, detail)

R-31035-48105-55236-17512-32062-12366-10110-52557

  If no arguments are given, all attached databases are analyzed. (source: lang_analyze.html, checked-by: th3/req1/analyze01.test, matrix: context, detail)

R-31067-37494-56120-35098-11105-54623-54147-27483

  Triggers are removed using the DROP TRIGGER statement. (source: lang_createtrigger.html, matrix: context, detail)

R-31070-13763-03261-14688-14121-11229-57314-08102

  The sqlite3_busy_handler(D,X,P) routine sets a callback function X that might be invoked with argument P whenever an attempt is made to access a database table associated with database connection D when another thread or process has the table locked. (source: c3ref/busy_handler.html, checked-by: th3/req1/busy01.test, matrix: context, detail)

R-31074-37730-44024-06868-31899-04779-58492-60283

  Any SELECT statement, including compound SELECTs and SELECT statements with ORDER BY and/or LIMIT clauses, may be used in an INSERT statement of this form. (source: lang_insert.html, checked-by: tcl/e_insert.test, matrix: context, detail)

R-31086-35521-56938-30140-08121-54172-49179-57363

  On success, SQLITE_OK is returned and the new BLOB handle is stored in *ppBlob. Otherwise an error code is returned and, unless the error code is SQLITE_MISUSE, *ppBlob is set to NULL. (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, matrix: context, detail)

R-31130-45753-58005-22978-58145-31360-08893-12454

  The SQLITE_SOURCE_ID string contains the date and time of the check-in (UTC) and a SHA1 or SHA3-256 hash of the entire source tree. (source: c3ref/c_source_id.html, checked-by: th3/req1/version01.test, matrix: context, detail)

R-31163-29022-10663-19494-01661-06524-11639-30452

  The "E" character that begins the exponentiation clause of a floating point literal can be either upper or lower case. (source: lang_expr.html, checked-by: th3/req1/expr01.test, matrix: context, detail)

R-31195-28735-28971-60122-53361-51297-04226-18526

  Every table must have at least one non-generated column. (source: gencol.html, matrix: context, detail)

R-31200-13290-19748-06553-12904-19504-15586-34616

  The sqlite3_db_filename(D,N) interface returns a pointer to the filename associated with database N of connection D. (source: c3ref/db_filename.html, checked-by: th3/cov1/attach04.test, matrix: context, detail)

R-31204-44780-48490-01818-36589-33853-37932-09648

  Database zDb does not exist (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, matrix: context, detail)

R-31231-36717-57726-13439-19567-41766-26823-60811

  The new mutex is recursive when SQLITE_MUTEX_RECURSIVE is used but not necessarily so when SQLITE_MUTEX_FAST is used. (source: c3ref/mutex_alloc.html, matrix: context, detail)

R-31235-42643-53508-27982-17967-09319-44968-07098

  The fourth column in the output of the foreign_key_check pragma is the same integer as the first column in the output of the foreign_key_list pragma. (source: pragma.html, checked-by: th3/cov1/fkey23.test, matrix: context, detail)

R-31246-29731-62646-60277-08521-29245-49284-60874

  The pContext member of the sqlite3_rtree_geometry structure is always set to a copy of the pContext argument passed to sqlite3_rtree_geometry_callback() when the callback is registered. (source: rtree.html, matrix: context, detail)

R-31248-24630-37475-28758-64215-56604-24000-32221

  The 32-bit integers are big-endian if the magic number in the first 4 bytes of the WAL header is 0x377f0683 and the integers are little-endian if the magic number is 0x377f0682. (source: fileformat2.html, matrix: context, detail)

R-31275-44060-31786-28874-63587-64128-53792-58628

  Strings returned by sqlite3_column_text() and sqlite3_column_text16(), even empty strings, are always zero-terminated. (source: c3ref/column_blob.html, checked-by: src/vdbemem.c, th3/req1/column01.test, matrix: context, detail)

R-31305-35170-11464-64098-34506-16219-33057-18056

  After the header and zero padding are zero or more page records. (source: fileformat2.html, matrix: context, detail)

R-31312-33516-05278-47140-12669-18608-41834-55008

  The lower(X) function returns a copy of string X with all ASCII characters converted to lower case. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, matrix: context, detail)

R-31322-10196-14986-33891-01213-47655-00762-39748

  Each trigger must specify that it will fire for one of the following operations: DELETE, INSERT, UPDATE. (source: lang_createtrigger.html, matrix: context, detail)

R-31338-54830-28259-56420-63783-19909-54858-57072

  The error code and message for the failed call to sqlite3_backup_init() can be retrieved using the sqlite3_errcode(), sqlite3_errmsg(), and/or sqlite3_errmsg16() functions. (source: c3ref/backup_finish.html, checked-by: th3/req1/backup02.test, matrix: context, detail)

R-31386-03131-57152-48354-62931-03354-07372-50774

  The authorizer callback should return SQLITE_OK to allow the action, SQLITE_IGNORE to disallow the specific action but allow the SQL statement to continue to be compiled, or SQLITE_DENY to cause the entire SQL statement to be rejected with an error. (source: c3ref/set_authorizer.html, matrix: context, detail)

R-31406-45734-45366-20105-37202-23050-60311-59562

  If the 2nd parameter to sqlite3_exec() is a NULL pointer, a pointer to an empty string, or a pointer that contains only whitespace and/or SQL comments, then no SQL statements are evaluated and the database is not changed. (source: c3ref/exec.html, checked-by: th3/req1/exec01.test, matrix: context, detail)

R-31407-09838-16507-11461-46420-27815-09445-39948

  The sqlite3_user_data() interface returns a copy of the pointer that was the pUserData parameter (the 5th parameter) of the sqlite3_create_function() and sqlite3_create_function16() routines that originally registered the application defined function. (source: c3ref/user_data.html, checked-by: th3/req1/userdata01.test, matrix: context, detail)

R-31429-36570-40063-15627-34756-54740-34056-60066

  Subverting this mechanism by using "PRAGMA schema_version" may cause SQL statement to run using an obsolete schema, which can lead to incorrect answers and/or database corruption. (source: pragma.html, checked-by: th3/req1/pragma28.test, matrix: context, detail)

R-31442-26915-27818-62289-58213-54460-29931-06977

  The default built-in lower() function works for ASCII characters only. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, matrix: context, detail)

R-31453-41389-40618-59449-38915-45174-40720-02932

  For example, the function "count(distinct X)" will return the number of distinct values of column X instead of the total number of non-null values in column X. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-31509-21858-22614-04075-64482-13479-08451-58532

  The "order" option may be set to either "DESC" or "ASC" (in upper or lower case). (source: fts3.html, matrix: context, detail)

R-31509-40414-28527-23209-39294-56164-06955-51281

  The purpose of the likelihood(X,Y) function is to provide a hint to the query planner that the argument X is a boolean that is true with a probability of approximately Y. (source: lang_corefunc.html, checked-by: th3/cov1/where42.test, matrix: context, detail)

R-31518-37056-56231-07788-10281-54147-06570-65506

  If the destructor argument is SQLITE_STATIC, it means that the content pointer is constant and will never change. (source: c3ref/c_static.html, checked-by: th3/req1/clearbind01.test, th3/req1/static01.test, matrix: context, detail)

R-31520-16302-20553-09634-49353-53000-23080-58537

  When a table is referenced by a SELECT but no column values are extracted from that table (for example in a query like "SELECT count(*) FROM tab") then the SQLITE_READ authorizer callback is invoked once for that table with a column name that is an empty string. (source: c3ref/set_authorizer.html, checked-by: tcl/auth.test, th3/cov1/auth01.test, matrix: context, detail)

R-31536-32008-60945-18932-27030-19997-64437-42960

  Literal values may be integers, floating point numbers, strings, BLOBs, or NULLs. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-31537-00101-65351-40298-33316-64699-39889-60990

  If a HAVING clause is specified, it is evaluated once for each group of rows as a boolean expression. If the result of evaluating the HAVING clause is false, the group is discarded. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-31538-00384-26321-49073-43364-40462-44753-02654

  _. (source: undoredo.html, matrix: context, detail)

R-31559-52189-63274-09210-03777-15240-18014-01548

  Inner joins can be freely reordered. (source: optoverview.html, matrix: context, detail)

R-31567-38587-20789-38106-63049-52268-08688-06103

  If the table to which the trigger is attached is in the TEMP database, then the unqualified name of the table being deleted is resolved in the same way as it is for a top-level statement (by searching first the TEMP database, then the main database, then any other databases in the order they were attached). (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-31579-59686-01381-52027-49305-56500-23555-06857

  To avoid having to register all collation sequences before a database can be used, a single callback function may be registered with the database connection to be invoked whenever an undefined collation sequence is required. (source: c3ref/collation_needed.html, matrix: context, detail)

R-31603-05822-25247-46496-01667-17001-45146-39739

  The sqlite3_trace_v2(D,M,X,P) interface registers a trace callback function X against database connection D, using property mask M and context pointer P. (source: c3ref/trace_v2.html, matrix: context, detail)

R-31603-41906-64593-49135-09537-60740-41731-32155

  The name of the table (as it appears in sqlite_schema.name) is in the sqlite_sequence.main field and the largest INTEGER PRIMARY KEY ever inserted into that table is in the sqlite_sequence.seq field. (source: fileformat2.html, matrix: context, detail)

R-31624-24737-51221-05558-39670-00793-48763-40650

  RTRIM is like BINARY except that extra spaces at the end of either string do not change the result. In other words, strings will compare equal to one another as long as they differ only in the number of spaces at the end. (source: fileformat2.html, matrix: context, detail)

R-31676-45509-42539-51511-07128-62436-51993-36875

  If X is the integer -9223372036854775808 then abs(X) throws an integer overflow error since there is no equivalent positive 64-bit two complement value. (source: lang_corefunc.html, checked-by: src/func.c, th3/cov1/func01.test, matrix: context, detail)

R-31757-07599-53600-28407-17941-01600-55959-20235

  As an internal optimization, small floating point values with no fractional component and stored in columns with REAL affinity are written to disk as integers in order to take up less space and are automatically converted back into floating point as the value is read out. (source: datatype3.html, checked-by: th3/req1/datatype3_12.test, matrix: context, detail)

R-31764-59173-05200-42928-33270-18898-11058-33059

  julianday(timestring, modifier, modifier, ...) (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-31773-41793-43777-15026-65463-02438-20954-63890

  If sqlite3_open_v2() is used and the "cache" parameter is present in a URI filename, its value overrides any behavior requested by setting SQLITE_OPEN_PRIVATECACHE or SQLITE_OPEN_SHAREDCACHE flag. (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-31775-48204-44006-26750-02620-57678-37164-54735

  Or, if a PRIMARY KEY clause is specified as a table-constraint, then the primary key of the table consists of the list of columns specified as part of the PRIMARY KEY clause. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-31795-57643-34892-44323-47602-12322-63634-37934

  a NOT NULL constraint dictates that the associated column may not contain a NULL value. Attempting to set the column value to NULL when inserting a new row or updating an existing one causes a constraint violation. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-31812-49659-31326-36358-44931-00819-19755-27412

  The size of a blob may not be changed by this interface. (source: c3ref/blob_open.html, checked-by: th3/cov1/vdbeblob01.test, matrix: context, detail)

R-31816-13824-03247-24421-35841-11575-32489-23110

  PRAGMA legacy_alter_table; PRAGMA legacy_alter_table = boolean This pragma sets or queries the value of the legacy_alter_table flag. (source: pragma.html, matrix: context, detail)

R-31820-22006-44575-45426-57001-50586-37778-41806

  If the final parameter to sqlite3_create_function_v2() or sqlite3_create_window_function() is not NULL, then it is destructor for the application data pointer. The destructor is invoked when the function is deleted, either by being overloaded or when the database connection closes. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc07.test, matrix: context, detail)

R-31826-01813-36062-43919-63231-47318-45635-11887

  An error is raised if more than one PRIMARY KEY clause appears in a CREATE TABLE statement. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-31839-40105-47825-07965-38954-04263-02531-41060

  Both forms of the pragma return the maximum page count. (source: pragma.html, checked-by: th3/req1/pragma12.test, matrix: context, detail)

R-31842-04164-45925-20128-62976-05013-64077-31889

  The zeroblob(N) function returns a BLOB consisting of N bytes of 0x00. (source: lang_corefunc.html, checked-by: th3/cov1/func04.test, matrix: context, detail)

R-31855-18665-44731-17316-60627-29707-46771-04515

  If sqlite3_open_v2() is used and the vfs option is present, then the VFS specified by the option takes precedence over the value passed as the fourth parameter to sqlite3_open_v2(). (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-31877-46991-26033-20819-54780-54256-64426-46176

  In addition to being a result code, the SQLITE_ABORT value is also used as a conflict resolution mode returned from the sqlite3_vtab_on_conflict() interface. (source: rescode.html, checked-by: th3/cov1/vtab04.test, th3/cov1/vtab07.test, matrix: context, detail)

R-31881-13880-39891-17539-21926-06368-53167-38054

  When an applicable constraint violation occurs, the ROLLBACK resolution algorithm aborts the current SQL statement with an SQLITE_CONSTRAINT error and rolls back the current transaction. (source: lang_conflict.html, checked-by: th3/req1/conflict01.test, matrix: context, detail)

R-31882-08811-51062-63000-47445-51971-26333-04918

  But the FAIL resolution does not back out prior changes of the SQL statement that failed nor does it end the transaction. (source: lang_conflict.html, checked-by: th3/req1/conflict01.test, matrix: context, detail)

R-31883-14373-53297-17557-08649-10879-14648-40339

  If the path component is omitted, then the database is stored in a temporary file that will be automatically deleted when the database connection closes. (source: uri.html, matrix: context, detail)

R-31884-19145-46591-63123-39712-55381-35148-20037

  The syntax for the ON CONFLICT clause is as shown above for the CREATE TABLE command. (source: lang_conflict.html, checked-by: th3/req1/conflict01.test, matrix: context, detail)

R-31929-21448-54248-05455-38618-31976-59904-18809

  during the original sqlite3_set_auxdata() call when a memory allocation error occurs. (source: c3ref/get_auxdata.html, matrix: context, detail)

R-31969-57825-42101-14521-32158-26846-01551-49036

  If EXCLUSIVE locking mode is set prior to the first WAL-mode database access, then SQLite never attempts to call any of the shared-memory methods and hence no shared-memory wal-index is ever created. (source: wal.html, checked-by: tcl/e_wal.test, th3/req1/pragma05.test, matrix: context, detail)

R-31984-08010-07046-54406-16085-56792-07633-10679

  On windows, if the absolute path begins with "/X:/" where X is any single ASCII alphabetic character ("a" through "z" or "A" through "Z") then the "X:" is understood to be the drive letter of the volume containing the file, not the toplevel directory. (source: uri.html, matrix: context, detail)

R-31989-51162-12344-35872-57783-63477-65151-09543

  Text is appended to the sqlite3_str object using various methods, such as sqlite3_str_appendf(). (source: c3ref/str.html, matrix: context, detail)

R-31997-24564-21710-03958-33842-06684-32775-28605

  If no schema name is specified and the TEMP keyword is not present then the table is created in the main database. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-32023-34269-07081-56751-59037-09134-01490-38261

  The second parameter is the name of the SQL function to be created or redefined. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc01.test, matrix: context, detail)

R-32076-12237-46595-29546-24176-12469-16826-41322

  However, if three additional indices where added that contained columns b, c, and d as their left-most columns, then the OR-clause optimization might apply. (source: optoverview.html, matrix: context, detail)

R-32090-20403-62451-54879-55700-60084-08956-01962

  Autocommit mode is re-enabled by a COMMIT or ROLLBACK. (source: c3ref/get_autocommit.html, matrix: context, detail)

R-32163-18986-58302-09222-31539-08493-63340-58892

  The sqlite3_normalized_sql(P) interface returns a pointer to a UTF-8 string containing the normalized SQL text of prepared statement P. (source: c3ref/expanded_sql.html, matrix: context, detail)

R-32172-42404-39492-45133-11034-45047-00308-58009

  Function sqlite3_backup_step(B,N) will copy up to N pages between the source and destination databases specified by sqlite3_backup object B. (source: c3ref/backup_finish.html, checked-by: th3/req1/backup03.test, matrix: context, detail)

R-32181-50629-37005-34302-07700-29801-11487-35180

  Queries that contain a single MIN() or MAX() aggregate function whose argument is the left-most column of an index might be satisfied by doing a single index lookup rather than by scanning the entire table. (source: optoverview.html, matrix: context, detail)

R-32235-53300-57293-28888-55345-58030-49173-41178

  FOR EACH ROW implies that the SQL statements specified in the trigger may be executed (depending on the WHEN clause) for each database row being inserted, updated or deleted by the statement causing the trigger to fire. (source: lang_createtrigger.html, matrix: context, detail)

R-32246-51249-01476-28736-10889-32262-29627-47860

  The preupdate hook is disabled by invoking sqlite3_preupdate_hook() with a NULL pointer as the second parameter. (source: c3ref/preupdate_count.html, matrix: context, detail)

R-32266-59420-04967-20715-46228-25200-01200-16446

  If the second parameter (zDbName) does not match the name of any open database file, then SQLITE_ERROR is returned. (source: c3ref/file_control.html, matrix: context, detail)

R-32267-31938-07296-47086-37699-20446-18682-32942

  The data_store_directory pragma may modify this variable and cause it to point to memory obtained from sqlite3_malloc. (source: c3ref/data_directory.html, matrix: context, detail)

R-32326-44592-25744-64223-64465-06212-39042-00138

  Unlike normal SQLite columns, an integer primary key or rowid column must contain integer values. Integer primary key or rowid columns are not able to hold floating point values, strings, BLOBs, or NULLs. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-32329-22225-62429-19871-19916-05643-31400-56048

  The sqlite_stat4.idx column holds name of the index that the row describes, or in the case of an sqlite_stat4 entry for a WITHOUT ROWID table, the name of the table itself. (source: fileformat2.html, matrix: context, detail)

R-32333-58476-07670-32465-34848-10846-33271-03352

  Triggers are automatically dropped when the table that they are associated with (the table-name table) is dropped. (source: lang_createtrigger.html, matrix: context, detail)

R-32341-39358-46818-14772-56147-53577-21121-58224

  However if the phrase "WITHOUT ROWID" is added to the end of a CREATE TABLE statement, then the special "rowid" column is omitted. (source: withoutrowid.html, checked-by: tcl/without_rowid5.test, th3/cov1/withoutrowid01.test, matrix: context, detail)

R-32349-39610-03152-29035-33006-19037-05076-08294

  sqlite> EXPLAIN QUERY PLAN SELECT a, b FROM t1 WHERE a=1; QUERY PLAN `--SCAN TABLE t1 (source: eqp.html, matrix: context, detail)

R-32365-09043-50030-24839-64719-45976-15708-15010

  A "CREATE TABLE ... AS SELECT" statement creates and populates a database table based on the results of a SELECT statement. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-32434-09092-13813-42395-15886-36394-05508-61902

  If the value of expr is NULL, then the result of the CAST expression is also NULL. (source: lang_expr.html, checked-by: tcl/e_expr.test, th3/cov1/cast01.test, matrix: context, detail)

R-32485-24703-27801-29483-21531-11705-09294-53002

  The RENAME TO syntax changes the name of table-name to new-table-name. (source: lang_altertable.html, checked-by: th3/req1/altertable01.test, matrix: context, detail)

R-32521-20590-49288-35397-47504-42377-60996-54301

  The time string is followed by zero or more modifiers. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-32562-20566-46417-07999-12317-06673-44579-53773

  When three or more simple SELECTs are connected into a compound SELECT, they group from left to right. In other words, if "A", "B" and "C" are all simple SELECT statements, (A op B op C) is processed as ((A op B) op C). (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-32575-52606-04029-38072-09330-12543-11814-27885

  There can be an arbitrary number of sqlite_stat3 entries per index. (source: fileformat2.html, matrix: context, detail)

R-32586-01296-10189-28566-58677-02270-23105-07978

  SELECT statements may be optionally preceded by a single WITH clause that defines one or more common table expressions for use within the SELECT statement. (source: lang_select.html, checked-by: th3/cov1/with01.test, matrix: context, detail)

R-32633-52682-08562-36271-43194-24127-51342-52899

  At least szOsFile bytes of memory are allocated by SQLite to hold the sqlite3_file structure passed as the third argument to xOpen. (source: c3ref/vfs.html, checked-by: th3/th3testvfs.c, matrix: context, detail)

R-32667-09902-21409-45460-33680-48359-54103-12889

  The built-in date and time functions of SQLite are a special case. These functions are usually considered deterministic. However, if these functions use the string "now" as the date, or if they use the localtime modifier or the utc modifier, then they are considered non-deterministic. (source: deterministic.html, matrix: context, detail)

R-32706-07403-21974-02831-34123-06843-55643-09070

  No affinity transformations are applied to any values when comparing rows as part of a compound SELECT. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-32737-17936-16355-61809-23249-50193-59951-04545

  Comments are not SQL commands, but can occur within the text of SQL queries passed to sqlite3_prepare_v2() and related interfaces. (source: lang_comment.html, checked-by: th3/req1/comment01.test, matrix: context, detail)

R-32768-47925-14881-49153-08372-50935-16619-06911

  If an immediate foreign key constraint is violated, the DROP TABLE statement fails and the table is not dropped. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys16.test, th3/req1/foreignkeys22.test, matrix: context, detail)

R-32806-65233-63423-39928-44686-28712-07931-12350

  The fourth argument, pArg, is an application data pointer that is passed through as the first argument to the collating function callback. (source: c3ref/create_collation.html, checked-by: th3/req1/createcoll01.test, matrix: context, detail)

R-32809-14620-63808-12852-40065-57653-46928-34414

  The parent key must be a named column or columns in the parent table, not the rowid. (source: foreignkeys.html, checked-by: th3/req1/foreignkeys03.test, matrix: context, detail)

R-32857-15826-08814-08217-40160-38064-19925-14488

  Subsequent calls to sqlite3_get_auxdata(C,N) return P from the most recent sqlite3_set_auxdata(C,N,P,X) call if the metadata is still valid or NULL if the metadata has been discarded. (source: c3ref/get_auxdata.html, matrix: context, detail)

R-32918-61474-62391-07743-12159-44767-00770-02393

  Before entering a trigger program the value returned by sqlite3_changes() function is saved. After the trigger program has finished, the original value is restored. (source: c3ref/changes.html, checked-by: tcl/e_changes.test, matrix: context, detail)

R-32925-06786-44484-40389-19544-51015-10010-30515

  Each column name or expression can be followed by one of the "ASC" or "DESC" keywords to indicate sort order. (source: lang_createindex.html, checked-by: th3/req1/createidx02.test, matrix: context, detail)

R-32977-38363-55737-64786-46399-31149-31160-28820

  When no indices are available to aid the evaluation of a query, SQLite might create an automatic index that lasts only for the duration of a single SQL statement. (source: optoverview.html, matrix: context, detail)

R-33035-16498-10379-54790-22685-33042-10966-12535

  If a memory allocation fails, then SQLITE_NOMEM is returned. (source: c3ref/complete.html, checked-by: th3/cov1/complete01.test, matrix: context, detail)

R-33038-09382-52096-22256-12094-15064-07280-37767

  If the second argument to SQLITE_DBCONFIG_LOOKASIDE is not a multiple of 8, it is internally rounded down to the next smaller multiple of 8. (source: c3ref/c_dbconfig_defensive.html, checked-by: src/main.c, matrix: context, detail)

R-33075-33190-25707-00729-29148-31049-04309-45993

  If a keyword in single quotes (ex: 'key' or 'glob') is used in a context where an identifier is allowed but where a string literal is not allowed, then the token is understood to be an identifier instead of a string literal. (source: lang_keywords.html, checked-by: th3/req1/keyword01.test, matrix: context, detail)

R-33080-59193-42664-27310-42541-31106-33090-39782

  Checkpoints initiated by this mechanism are PASSIVE. (source: c3ref/wal_autocheckpoint.html, checked-by: tcl/e_walauto.test, matrix: context, detail)

R-33113-07215-37933-59376-21317-00912-14100-16891

  The iRowid field is the rowid (the first of the 3 to 11 columns in the R*Tree) for the element being considered. iRowid is only valid for leaves. (source: rtree.html, matrix: context, detail)

R-33124-58846-63098-57444-60113-38939-22033-09777

  Note that when the right-hand side of a LIKE or GLOB operator is a parameter and the statement is prepared using sqlite3_prepare_v2() or sqlite3_prepare16_v2() then the statement is automatically reparsed and recompiled on the first sqlite3_step() call of each run if the binding to the right-hand side parameter has changed since the previous run. (source: optoverview.html, matrix: context, detail)

R-33140-21501-29804-63127-48240-59602-40241-17867

  For the LIKE operator, if case_sensitive_like mode is enabled then the column must indexed using BINARY collating sequence, or if case_sensitive_like mode is disabled then the column must indexed using built-in NOCASE collating sequence. (source: optoverview.html, checked-by: th3/cov1/where03.test, th3/cov1/where03b.test, matrix: context, detail)

R-33142-02092-43419-10432-03484-54260-43121-37781

  AUTOINCREMENT does not work on WITHOUT ROWID tables. (source: withoutrowid.html, checked-by: tcl/without_rowid5.test, th3/cov1/withoutrowid01.test, matrix: context, detail)

R-33211-38833-64331-54724-35381-31821-05246-63257

  These routines do not parse the SQL statements thus will not detect syntactically incorrect SQL. (source: c3ref/complete.html, checked-by: th3/cov1/complete01.test, matrix: context, detail)

R-33257-44249-04384-28673-29527-48027-05174-23036

  The update hook is not invoked when WITHOUT ROWID tables are modified. (source: c3ref/update_hook.html, checked-by: tcl/hook.test, matrix: context, detail)

R-33315-53384-19536-00039-42426-59902-48545-24529

  Thus, the backup may be performed on a live source database without preventing other database connections from reading or writing to the source database while the backup is underway. (source: c3ref/backup_finish.html, checked-by: th3/req1/backup01.test, matrix: context, detail)

R-33316-19795-08370-35100-15159-39307-16097-56767

  If the most recent call to sqlite3_step(S) for the prepared statement S indicated an error, then sqlite3_reset(S) returns an appropriate error code. (source: c3ref/reset.html, checked-by: th3/th3util.c, matrix: context, detail)

R-33326-45252-38720-14593-54555-59144-23018-05599

  The ON DELETE and ON UPDATE action associated with each foreign key in an SQLite database is one of "NO ACTION", "RESTRICT", "SET NULL", "SET DEFAULT" or "CASCADE". (source: foreignkeys.html, checked-by: src/parse.y, tcl/e_fkey.test, th3/req1/foreignkeys16.test, matrix: context, detail)

R-33352-16228-19462-25047-13980-23357-27400-59118

  When the EXPLAIN keyword appears by itself it causes the statement to behave as a query that returns the sequence of virtual machine instructions it would have used to execute the command had the EXPLAIN keyword not been present. (source: lang_explain.html, checked-by: th3/cov1/vdbeaux01.test, matrix: context, detail)

R-33368-33178-21159-57347-39405-35254-59100-49447

  The first parameter, szPage, is the size in bytes of the pages that must be allocated by the cache. (source: c3ref/pcache_methods2.html, checked-by: th3/th3pcache.c, matrix: context, detail)

R-33393-31741-20908-00667-39287-64680-56276-36828

  Terms of the ORDER BY clause that is part of a SELECT statement may be assigned a collating sequence using the COLLATE operator, in which case the specified collating function is used for sorting. (source: datatype3.html, checked-by: th3/req1/datatype3_10.test, matrix: context, detail)

R-33401-06099-44102-08352-15092-58623-33401-34005

  SQLITE_OPEN_READONLY The database is opened in read-only mode. If the database does not already exist, an error is returned. (source: c3ref/open.html, matrix: context, detail)

R-33414-20006-38430-38330-20007-08440-33108-23538

  The SQLITE_UTF16 and SQLITE_UTF16_ALIGNED values for eTextRep force strings to be UTF16 with native byte order. (source: c3ref/create_collation.html, checked-by: th3/req1/createcoll01.test, matrix: context, detail)

R-33440-07331-05623-12245-41589-49905-51548-00120

  For the purposes of the DEFAULT clause, an expression is considered constant if it contains no sub-queries, column or table references, bound parameters, or string literals enclosed in double-quotes instead of single-quotes. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-33443-64794-37777-63092-51102-53301-52354-10216

  For non-TEMP triggers, the table to be modified or queried must exist in the same database as the table or view to which the trigger is attached. (source: lang_createtrigger.html, matrix: context, detail)

R-33490-49513-63336-09770-17828-12612-45403-52100

  The third column is the number of pages in the write-ahead log file that have been successfully moved back into the database file at the conclusion of the checkpoint. (source: pragma.html, matrix: context, detail)

R-33496-49460-40885-47410-47365-30809-19419-02033

  Module names must be registered before creating a new virtual table using the module and before using a preexisting virtual table for the module. (source: c3ref/create_module.html, matrix: context, detail)

R-33509-39458-36310-35502-14516-21374-43920-49454

  A question mark followed by a number NNN holds a spot for the NNN-th parameter. NNN must be between 1 and SQLITE_MAX_VARIABLE_NUMBER. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-33528-20612-64279-03791-45165-25207-10127-32608

  If no database is specified as part of the object reference, then SQLite searches the main, temp and all attached databases for an object with a matching name. The temp database is searched first, followed by the main database, followed all attached databases in the order that they were attached. The reference resolves to the first match found. (source: lang_naming.html, checked-by: tcl/e_resolve.test, matrix: context, detail)

R-33553-19363-35042-00573-64070-53843-36958-05658

  The subquery does not use OFFSET. (source: optoverview.html, matrix: context, detail)

R-33570-18895-27619-21793-53436-58897-32599-21994

  The following table summarizes the interaction of the SQLITE_TEMP_STORE preprocessor macro and the temp_store pragma: SQLITE_TEMP_STORE PRAGMAtemp_store Storage used forTEMP tables and indices 0 any file 1 0 file 1 1 file 1 2 memory 2 0 memory 2 1 file 2 2 memory 3 any memory (source: pragma.html, matrix: context, detail)

R-33599-53132-08850-48831-58699-38998-10150-06398

  The sqlite_stat4.nEq column holds a list of N integers where the K-th integer is the approximate number of entries in the index whose left-most K columns exactly match the K left-most columns of the sample. (source: fileformat2.html, matrix: context, detail)

R-33626-44500-44579-55445-20026-07899-19169-03498

  There may be at most one unlock-notify callback registered by a blocked connection. If sqlite3_unlock_notify() is called when the blocked connection already has a registered unlock-notify callback, then the new callback replaces the old. (source: c3ref/unlock_notify.html, matrix: context, detail)

R-33626-48418-46855-58211-38849-29467-54588-01790

  In SQLite, if any of the child key columns (in this case songartist and songalbum) are NULL, then there is no requirement for a corresponding row in the parent table. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys11.test, matrix: context, detail)

R-33670-36097-38044-00457-34720-22769-46022-27724

  A question mark that is not followed by a number creates a parameter with a number one greater than the largest parameter number already assigned. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-33693-50180-37638-14993-01835-21324-19267-11438

  The REGEXP operator is a special syntax for the regexp() user function. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-33696-20860-22256-33727-50165-31840-30518-14765

  In a WITHOUT ROWID table, there is no sqlite_schema entry for the PRIMARY KEY, but the "sqlite_autoindex_TABLE_N" name is set aside for the PRIMARY KEY as if the sqlite_schema entry did exist. This will affect the numbering of subsequent UNIQUE constraints. (source: fileformat2.html, matrix: context, detail)

R-33707-40199-39350-00147-14640-22092-62266-02343

  But special processing applies to the ON and USING clauses of an OUTER join: specifically, the constraints in an ON or USING clause do not apply if the right table of the join is on a null row, but the constraints do apply in the WHERE clause. (source: optoverview.html, matrix: context, detail)

R-33708-43819-48693-15112-15003-18731-38490-26979

  The content allows the text being indexed to be stored in a separate table distinct from the FTS4 table, or even outside of SQLite. (source: fts3.html, matrix: context, detail)

R-33710-56344-23353-36559-53018-17291-08260-37097

  In order to use foreign key constraints in SQLite, the library must be compiled with neither SQLITE_OMIT_FOREIGN_KEY or SQLITE_OMIT_TRIGGER defined. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys05.test, matrix: context, detail)

R-33724-43128-37475-21517-54367-56577-55269-13573

  PRAGMA legacy_file_format; This pragma no longer functions. It has become a no-op. (source: pragma.html, matrix: context, detail)

R-33750-29536-47450-45123-25964-11560-21995-55948

  Otherwise, the SELECT returns the first N rows of its result set only, where N is the value that the LIMIT expression evaluates to. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-33788-46243-41692-58767-41171-41314-21464-32804

  In this case, the first expression is used as the OFFSET expression and the second as the LIMIT expression. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-33800-32193-29222-19847-14904-43461-36254-14018

  If the required lock still cannot be obtained, then the database is skipped and an attempt made to flush any dirty pages belonging to the next (if any) database. (source: c3ref/db_cacheflush.html, matrix: context, detail)

R-33841-62945-13926-63288-41300-28246-26461-11874

  Thus, for example, the data 2001-03-31 modified by '+1 month' initially yields 2001-04-31, but April only has 30 days so the date is normalized to 2001-05-01. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-33848-17975-36657-57635-49129-43335-29769-30640

  PRAGMA schema.incremental_vacuum(N); PRAGMA schema.incremental_vacuum; The incremental_vacuum pragma causes up to N pages to be removed from the freelist. (source: pragma.html, checked-by: th3/req1/pragma21.test, matrix: context, detail)

R-33883-28833-60318-48575-53923-47015-06615-40154

  Foreign key DDL errors are reported regardless of whether or not foreign key constraints are enabled when the table is created. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys08.test, matrix: context, detail)

R-33917-24086-34361-61973-51178-03721-35954-00662

  However, if the "IF NOT EXISTS" clause is specified as part of the CREATE TABLE statement and a table or view of the same name already exists, the CREATE TABLE command simply has no effect (and no error message is returned). (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-33948-22286-15597-10485-25275-41982-01072-17156

  The algorithm specified in the OR clause of an INSERT or UPDATE overrides any algorithm specified in a CREATE TABLE. (source: lang_conflict.html, checked-by: th3/req1/conflict04.test, matrix: context, detail)

R-33950-57093-23380-64554-61801-30987-12746-10574

  All indices and triggers associated with the table are also deleted. (source: lang_droptable.html, checked-by: th3/req1/droptable01.test, matrix: context, detail)

R-33977-57271-59293-02679-37541-34864-44396-22637

  The left-most column is column 0 for these routines. (source: c3ref/column_database_name.html, matrix: context, detail)

R-33990-33527-11105-07702-18476-34779-54347-40484

  When casting to INTEGER, if the text looks like a floating point value with an exponent, the exponent will be ignored because it is no part of the integer prefix. (source: lang_expr.html, checked-by: tcl/cast.test, matrix: context, detail)

R-34009-51042-01012-14502-52205-32655-22973-26621

  If Y is negative then the first character of the substring is found by counting from the right rather than the left. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, matrix: context, detail)

R-34021-38482-31030-34652-01469-03047-61601-46080

  The optimizer automatically inverts terms of the form "expr OP column" and makes other simplifications to the WHERE clause in an attempt to get as many WHERE clause terms into the form shown above as possible. (source: c3ref/index_info.html, matrix: context, detail)

R-34023-52929-12261-02515-22772-45177-48508-47679

  The query string is optional. (source: uri.html, matrix: context, detail)

R-34027-00617-24854-21763-47858-39540-20896-63477

  If the blob handle being closed was opened for read-write access, and if the database is in auto-commit mode and there are no other open read-write blob handles or active write statements, the current transaction is committed. (source: c3ref/blob_close.html, checked-by: tcl/e_blobclose.test, matrix: context, detail)

R-34068-60670-00760-36695-36282-03640-02435-26992

  SQLITE_OPEN_PRIVATECACHE The database is opened shared cache disabled, overriding the default shared cache setting provided by sqlite3_enable_shared_cache(). (source: c3ref/open.html, matrix: context, detail)

R-34109-39108-27898-16254-24563-58797-32171-17937

  If the CHECK expression evaluates to NULL, or any other non-zero value, it is not a constraint violation. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-34146-30782-53907-40582-61923-47415-21722-12527

  Column zColumn is part of an index, PRIMARY KEY or UNIQUE constraint and the blob is being opened for read/write access (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, th3/cov1/vdbeblob01.test, matrix: context, detail)

R-34186-52914-35981-17820-54007-24600-55033-63809

  The rank of the column within the index. (0 means left-most.) (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15.test, matrix: context, detail)

R-34230-56049-07873-23044-54462-14755-43207-20479

  SQLite automatically increments the schema-version whenever the schema changes. (source: pragma.html, checked-by: src/build.c, th3/req1/pragma28.test, matrix: context, detail)

R-34234-52126-13891-36855-21265-08475-46071-60317

  The default mode is for LIKE comparisons to be insensitive to differences of case for latin1 characters. (source: optoverview.html, checked-by: th3/cov1/pragma02.test, th3/cov1/where03.test, th3/cov1/where03b.test, matrix: context, detail)

R-34264-15842-51908-27355-58812-13180-15279-38051

  The legacy_file_format pragma can be used to cause SQLite to create new database files using format 1. (source: fileformat2.html, matrix: context, detail)

R-34271-33106-55360-31605-05941-37144-32278-15012

  PRAGMA automatic_index; PRAGMA automatic_index = boolean; Query, set, or clear the automatic indexing capability. (source: pragma.html, checked-by: tcl/autoindex1.test, th3/req1/pragma08.test, matrix: context, detail)

R-34280-42283-63975-25394-58653-47378-35851-53437

  The count(X) function returns a count of the number of times that X is not NULL in a group. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-34293-31480-01160-31597-61187-16604-15204-31151

  The sqlite3_extended_errcode() interface is the same except that it always returns the extended result code even when extended result codes are disabled. (source: c3ref/errcode.html, matrix: context, detail)

R-34314-06007-23852-03493-52380-57466-48633-09703

  The sqlite3_sql(P) interface returns a pointer to a copy of the UTF-8 SQL text used to create prepared statement P if P was created by sqlite3_prepare_v2(), sqlite3_prepare_v3(), sqlite3_prepare16_v2(), or sqlite3_prepare16_v3(). (source: c3ref/expanded_sql.html, checked-by: th3/req1/sql01.test, th3/th3util.c, matrix: context, detail)

R-34326-56357-56903-53526-53046-15549-19745-22986

  The sqlite3_result_error_code() function changes the error code returned by SQLite as a result of an error in a function. (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-34354-51417-57740-57504-01542-51579-51443-23369

  If the callback pointer to sqlite3_exec() is NULL, then no callback is ever invoked and result rows are ignored. (source: c3ref/exec.html, checked-by: th3/req1/exec01.test, matrix: context, detail)

R-34391-24921-52036-19820-43252-56353-24608-07545

  The sqlite3_release_memory() routine is a no-op returning zero if SQLite is not compiled with SQLITE_ENABLE_MEMORY_MANAGEMENT. (source: c3ref/release_memory.html, checked-by: src/malloc.c, th3/req1/releasemem01.test, matrix: context, detail)

R-34400-33772-12568-07085-14602-53889-15876-12187

  Any leading spaces in the TEXT value when converting from TEXT to INTEGER are ignored. (source: lang_expr.html, checked-by: tcl/e_expr.test, th3/cov1/cast01.test, matrix: context, detail)

R-34407-33329-56662-13063-42233-50984-46328-08443

  The sqlite3_vsnprintf() routine is a varargs version of sqlite3_snprintf(). (source: c3ref/mprintf.html, checked-by: th3/req1/malloc01.test, matrix: context, detail)

R-34456-00884-53550-63882-43324-33974-40030-43057

  The first form of this pragma queries the current journaling mode for database. (source: pragma.html, checked-by: th3/req1/pragma23.test, matrix: context, detail)

R-34457-09668-37447-61343-26020-24066-28137-60426

  "1" if the index is a partial index and "0" if not. (source: pragma.html, checked-by: tcl/index7.test, th3/req1/pragma15.test, matrix: context, detail)

R-34467-36570-51008-00703-20331-24944-30267-61623

  When the destructor callback is invoked, it is passed a single argument which is a copy of the application data pointer which was the fifth parameter to sqlite3_create_function_v2(). (source: c3ref/create_function.html, checked-by: th3/req1/createfunc07.test, matrix: context, detail)

R-34472-09915-38123-43434-43436-60925-14387-37410

  Note that if a non-deterministic function is tagged with SQLITE_DETERMINISTIC and if that function ends up being used in the WHERE clause of a partial index or in an expression index, then when the function begins to return different answers, the associated index may become corrupt. (source: deterministic.html, matrix: context, detail)

R-34481-43669-25977-57618-65082-36703-04463-10475

  The NOCASE collation is like BINARY except that uppercase ASCII characters ('A' through 'Z') are folded into their lowercase equivalents prior to running the comparison. Only ASCII characters are case-folded. (source: fileformat2.html, matrix: context, detail)

R-34489-53953-36029-13063-60538-08284-18396-26034

  Nine static mutexes are used by the current version of SQLite. (source: c3ref/mutex_alloc.html, matrix: context, detail)

R-34494-34867-10904-51436-14050-30444-55567-08867

  That ORDER BY clause will apply across all elements of the compound. (source: lang_select.html, checked-by: th3/req1/select02.test, matrix: context, detail)

R-34519-06271-04461-63947-59293-07505-45589-19404

  SQLITE_BUSY is returned in this case. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, matrix: context, detail)

R-34526-35712-49832-15543-35160-30600-56964-59649

  By default, the error code is SQLITE_ERROR. (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-34561-00264-36299-40120-12079-02627-14730-26524

  If an authorizer callback returns SQLITE_IGNORE for an SQLITE_DELETE action code, then the DELETE operation will proceed but the truncate optimization will be bypassed and rows will be deleted one by one. (source: lang_delete.html, matrix: context, detail)

R-34616-57962-62200-63763-25892-01209-38424-05918

  Cache sharing is enabled and disabled for an entire process. (source: c3ref/enable_shared_cache.html, matrix: context, detail)

R-34648-44875-03220-54825-01081-20056-64407-58283

  Or, if the SELECT would return less than M+N rows if it did not have a LIMIT clause, then the first M rows are skipped and the remaining rows (if any) are returned. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-34657-61226-12617-43692-19153-03581-17665-29840

  The "PRAGMA cache_spill=N" form of this pragma sets a minimum cache size threshold required for spilling to occur. (source: pragma.html, checked-by: tcl/pragma2.test, matrix: context, detail)

R-34696-31731-45418-63028-04604-07803-00716-15058

  When a prepared statement runs, it first checks the schema cookie to ensure the value is the same as when the statement was prepared and if the schema cookie has changed, the statement either automatically reprepares and reruns or it aborts with an SQLITE_SCHEMA error. (source: fileformat2.html, matrix: context, detail)

R-34706-05629-19212-06603-14274-22035-31068-37221

  The open attempt fails if NAME is not the name of a VFS that is built into SQLite or that has been previously registered using sqlite3_vfs_register(). (source: uri.html, matrix: context, detail)

R-34720-58307-10931-58766-48844-01756-24190-06684

  SQLite will also attempt to use indices to help satisfy GROUP BY clauses and the DISTINCT keyword. (source: optoverview.html, matrix: context, detail)

R-34730-53445-15838-11944-46041-12438-53750-14468

  The case_sensitive_like pragma installs a new application-defined LIKE function that is either case sensitive or insensitive depending on the value of the case_sensitive_like pragma. (source: pragma.html, checked-by: th3/req1/pragma10.test, matrix: context, detail)

R-34745-08839-34242-42308-04034-17314-18313-24494

  If the xDelUser variable is set to a non-NULL value, then after the query has finished running SQLite automatically invokes it with the value of the pUser variable as the only argument. (source: rtree.html, matrix: context, detail)

R-34751-18293-04541-58685-13120-57905-41689-08740

  If a single column-name appears more than once in the list of assignment expressions, all but the rightmost occurrence is ignored. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-34773-62253-14389-56183-06695-27653-47306-47953

  The only difference between the following two CASE expressions is that the x expression is evaluated exactly once in the first example but might be evaluated multiple times in the second: CASE x WHEN w1 THEN r1 WHEN w2 THEN r2 ELSE r3 END CASE WHEN x=w1 THEN r1 WHEN x=w2 THEN r2 ELSE r3 END (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-34782-18311-17741-53218-12879-22753-50681-05507

  Unless SQLITE_MISUSE is returned, this function sets the database connection error code and message accessible via sqlite3_errcode() and sqlite3_errmsg() and related functions. (source: c3ref/blob_write.html, checked-by: tcl/e_blobwrite.test, matrix: context, detail)

R-34789-59934-28389-39071-40559-33528-38029-45906

  The DESC keyword is ignored in indexes for formats 1, 2, and 3. (source: fileformat2.html, checked-by: th3/req1/fileformat01.test, matrix: context, detail)

R-34809-04839-09181-10394-33851-21757-50200-61577

  Let X be U-35. If the payload size P is less than or equal to X then the entire payload is stored on the b-tree leaf page. (source: fileformat2.html, matrix: context, detail)

R-34814-22035-19752-61012-44426-48112-33201-20182

  Values stored in sqlite3_value objects can be integers, floating point values, strings, BLOBs, or NULL. (source: c3ref/value.html, checked-by: th3/req1/value01.test, matrix: context, detail)

R-34816-32505-14191-41651-46944-10844-62255-46096

  The xCreate and xConnect methods of a virtual table module call this interface to declare the format (the names and datatypes of the columns) of the virtual tables they implement. (source: c3ref/declare_vtab.html, checked-by: th3/req1/vtab01.test, matrix: context, detail)

R-34818-13664-64271-58157-25090-18668-59799-37546

  The 'now' argument to date and time functions always returns exactly the same value for multiple invocations within the same sqlite3_step() call. (source: lang_datefunc.html, checked-by: tcl/date.test, th3/cov1/date4.test, matrix: context, detail)

R-34837-12462-62420-33748-07267-00170-63881-53119

  The first argument to the callback is a copy of the third argument to sqlite3_update_hook(). (source: c3ref/update_hook.html, checked-by: th3/cov1/main15.test, matrix: context, detail)

R-34918-27009-22149-14301-56506-15307-06517-16770

  The INDEXED BY and NOT INDEXED clauses are not supported for UPDATE and DELETE statements. (source: lang_createtrigger.html, matrix: context, detail)

R-34926-03360-27843-47752-48355-13649-05844-37285

  SQLITE_CONFIG_WIN32_HEAPSIZE takes a 32-bit unsigned integer value that specifies the maximum size of the created heap. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, matrix: context, detail)

R-34933-01612-63826-59975-42480-58884-65014-06327

  The names returned are the original un-aliased names of the database, table, and column. (source: c3ref/column_database_name.html, matrix: context, detail)

R-34937-45675-11260-35059-56178-30979-30227-02001

  The sole argument is a pointer to a constant UTF8 string which will become the new schema name in place of "main". (source: c3ref/c_dbconfig_defensive.html, checked-by: th3/cov1/maindbname01.test, matrix: context, detail)

R-34963-21048-59232-16607-21091-43824-49294-11066

  If the sqlite_sequence.seq field of an AUTOINCREMENT table is already at the largest integer value (9223372036854775807) then attempts to add new rows to that table with an automatically generated integer primary will fail with an SQLITE_FULL error. (source: fileformat2.html, matrix: context, detail)

R-34979-54336-33279-53576-25867-30233-28350-04331

  If the main database is ":memory:" or if the journal_mode is WAL, then transactions continue to be atomic within each individual database file. But if the host computer crashes in the middle of a COMMIT where two or more database files are updated, some of those files might get the changes where others might not. (source: lang_attach.html, checked-by: th3/req1/attach02.test, matrix: context, detail)

R-34993-45031-36632-60048-51944-50307-62063-53207

  The maximum allowed mmap size will be silently truncated if necessary so that it does not exceed the compile-time maximum mmap size set by the SQLITE_MAX_MMAP_SIZE compile-time option. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, matrix: context, detail)

R-34998-49915-07664-55575-37059-29902-40579-47714

  If the result is a UTF-8 string, then sqlite3_column_bytes16() converts the string to UTF-16 and then returns the number of bytes. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, matrix: context, detail)

R-35002-09502-01413-09334-58784-32407-44903-62982

  If the threading mode is Single-thread or Multi-thread then this routine returns a NULL pointer. (source: c3ref/db_mutex.html, checked-by: th3/req1/dbmutex01.test, matrix: context, detail)

R-35003-32738-64790-42236-58307-21158-57428-12443

  If X is numeric then length(X) returns the length of a string representation of X. (source: lang_corefunc.html, checked-by: th3/cov1/func01.test, matrix: context, detail)

R-35033-20570-55146-33091-43588-36289-00669-04528

  The subquery on the right of an IN or NOT IN operator must be a scalar subquery if the left expression is not a row value expression. (source: lang_expr.html, matrix: context, detail)

R-35036-33960-30076-49697-10834-60924-14728-15122

  The sixth, seventh and eighth parameters passed to the three "sqlite3_create_function*" functions, xFunc, xStep and xFinal, are pointers to C-language functions that implement the SQL function or aggregate. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc03.test, matrix: context, detail)

R-35036-36587-25670-53930-46391-17517-28623-46452

  For a WITHOUT ROWID table, N will be the number of columns in the primary key. (source: fileformat2.html, matrix: context, detail)

R-35049-22776-26849-33887-63149-61153-21714-11740

  The "unixepoch" modifier (11) only works if it immediately follows a timestring in the DDDDDDDDDD format. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-35088-43392-22185-31834-16686-27011-41097-22750

  Shared-cache locks are released when a database connection concludes its current transaction, either by committing it or rolling it back. (source: c3ref/unlock_notify.html, matrix: context, detail)

R-35092-12727-62894-63814-26795-55319-59085-22626

  The pointers returned are valid until a type conversion occurs as described above, or until sqlite3_step() or sqlite3_reset() or sqlite3_finalize() is called. (source: c3ref/column_blob.html, checked-by: th3/req1/column03.test, matrix: context, detail)

R-35105-34724-05666-13344-17136-11047-06163-46281

  If pMem is NULL and N is non-zero, then each database connection does an initial bulk allocation for page cache memory from sqlite3_malloc() sufficient for N cache lines if N is positive or of -1024*N bytes if N is negative, . (source: c3ref/c_config_covering_index_scan.html, matrix: context, detail)

R-35109-49139-58862-12127-06342-61829-38093-58472

  The number of columns in each row returned by the SELECT statement (if any) and the specific values returned have no effect on the results of the EXISTS operator. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-35111-05628-59609-35925-11859-38596-24754-51119

  If an error occurs while committing the transaction, an error code is returned and the transaction rolled back. (source: c3ref/blob_close.html, checked-by: tcl/e_blobclose.test, matrix: context, detail)

R-35113-43214-56626-24487-53216-55188-49391-33418

  Unless the column is an INTEGER PRIMARY KEY or the table is a WITHOUT ROWID table or the column is declared NOT NULL, SQLite allows NULL values in a PRIMARY KEY column. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-35129-58141-36157-07998-30656-14308-25733-01656

  For example: -- Database schema CREATE TABLE parent(x PRIMARY KEY); CREATE TABLE child(y REFERENCES parent ON UPDATE SET NULL); sqlite> SELECT * FROM parent; x ---- key sqlite> SELECT * FROM child; y ---- key sqlite> -- Since the following UPDATE statement does not actually modify sqlite> -- the parent key value, the ON UPDATE action is not performed and sqlite> -- the child key value is not set to NULL. sqlite> UPDATE parent SET x = 'key'; sqlite> SELECT IFNULL(y, 'null') FROM child; y ---- key sqlite> -- This time, since the UPDATE statement does modify the parent key sqlite> -- value, the ON UPDATE action is performed and the child key is set sqlite> -- to NULL. sqlite> UPDATE parent SET x = 'key2'; sqlite> SELECT IFNULL(y, 'null') FROM child; y ---- null (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys20.test, matrix: context, detail)

R-35187-29937-54093-33401-20341-46072-51751-40097

  Unless the flattening optimization is applied, if a subquery appears in the FROM clause of a SELECT statement, SQLite can either run the subquery and stores the results in a temporary table, or it can run the subquery as a co-routine. The following query is an example of the latter. The subquery is run by a co-routine. The outer query blocks whenever it needs another row of input from the subquery. Control switches to the co-routine which produces the desired output row, then control switches back to the main routine which continues processing. sqlite> EXPLAIN QUERY PLAN SELECT count(*) FROM (SELECT max(b) AS x FROM t1 GROUP BY a) GROUP BY x; QUERY PLAN |--CO-ROUTINE 0x20FC3E0 | `--SCAN TABLE t1 USING COVERING INDEX i2 |--SCAN SUBQUERY 0x20FC3E0 `--USE TEMP B-TREE FOR GROUP BY (source: eqp.html, matrix: context, detail)

R-35196-57110-30977-27033-46331-62759-56891-62679

  There is a single row in the sqlite_sequence table for each ordinary table that uses AUTOINCREMENT. (source: fileformat2.html, matrix: context, detail)

R-35210-63508-42678-48683-05229-58965-46588-04293

  The sqlite3_libversion_number() function returns an integer equal to SQLITE_VERSION_NUMBER. (source: c3ref/libversion.html, checked-by: src/main.c, th3/th3main.c, matrix: context, detail)

R-35214-06564-22940-62614-38557-57045-54055-01727

  Format 4 also adds two new boolean record type values (serial types 8 and 9). (source: fileformat2.html, checked-by: th3/req1/fileformat01.test, matrix: context, detail)

R-35224-32827-55933-44478-17553-06933-55583-57822

  The table named in the table_info pragma can also be a view. (source: pragma.html, matrix: context, detail)

R-35229-17830-32159-37744-59002-46141-27438-26089

  A string constant is formed by enclosing the string in single quotes ('). (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-35254-48865-63817-52724-57944-24327-24630-05485

  A call to one of the above APIs creates a new SQL function named by the second parameter (zQueryFunc or zGeom). (source: rtree.html, matrix: context, detail)

R-35268-31914-29013-65007-60500-40286-59986-01540

  The value returned by sqlite3_memory_highwater(1) is the high-water mark prior to the reset. (source: c3ref/memory_highwater.html, matrix: context, detail)

R-35272-30329-38196-23593-15037-30954-61861-19508

  Columns in the result set include the column name, data type, whether or not the column can be NULL, and the default value for the column. (source: pragma.html, checked-by: th3/req1/pragma15.test, matrix: context, detail)

R-35290-16460-32571-10958-08768-45451-01146-58774

  Foreign key constraints are immediate by default. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys12.test, matrix: context, detail)

R-35311-10820-21037-47746-53186-51250-62481-54055

  When the locking_mode pragma specifies a particular database, for example: PRAGMA main.locking_mode=EXCLUSIVE; Then the locking mode applies only to the named database. (source: pragma.html, checked-by: th3/req1/pragma04.test, matrix: context, detail)

R-35325-25517-01545-24178-13996-21143-53189-45296

  An uncorrelated subquery is evaluated only once and the result reused as necessary. (source: lang_expr.html, checked-by: th3/req1/select01.test, matrix: context, detail)

R-35340-24525-47723-05351-53509-38292-37828-03543

  The sqlite3_aggregate_context(C,N) routine returns a NULL pointer when first called if N is less than or equal to zero or if a memory allocate error occurs. (source: c3ref/aggregate_context.html, checked-by: th3/req1/aggcntx01.test, matrix: context, detail)

R-35362-38850-39624-46125-42742-24667-28362-39621

  The BEFORE or AFTER keyword determines when the trigger actions will be executed relative to the insertion, modification or removal of the associated row. (source: lang_createtrigger.html, matrix: context, detail)

R-35371-58843-38332-21753-13618-41551-34238-06657

  The ATTACH DATABASE statement adds another database file to the current database connection. (source: lang_attach.html, checked-by: th3/req1/attach01.test, matrix: context, detail)

R-35443-03595-46720-21224-13105-18323-15585-18563

  Ifnull() must have exactly 2 arguments. (source: lang_corefunc.html, checked-by: th3/cov1/func01.test, matrix: context, detail)

R-35454-31058-05961-25112-64343-26549-00069-20498

  If P>X and K>X then the first M bytes of P are stored on the btree page and the remaining P-M bytes are stored on overflow pages. (source: fileformat2.html, matrix: context, detail)

R-35460-03740-02108-04893-51916-60089-58945-40785

  Registering a NULL function disables the callback. (source: c3ref/commit_hook.html, matrix: context, detail)

R-35496-03635-05800-19681-11567-09775-48933-50480

  The name of the index. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15.test, matrix: context, detail)

R-35503-60218-20246-16465-03448-36808-43658-06556

  When SQLite compares two strings, it uses a collating sequence or collating function (two words for the same thing) to determine which string is greater or if the two strings are equal. (source: datatype3.html, checked-by: th3/req1/datatype3_09.test, matrix: context, detail)

R-35553-21226-59052-33659-22709-48132-34010-52118

  The upper(X) function returns a copy of input string X in which all lower-case ASCII characters are converted to their upper-case equivalent. (source: lang_corefunc.html, checked-by: th3/cov1/func04.test, matrix: context, detail)

R-35592-43376-11648-07628-49784-57585-43144-43201

  If pragma integrity_check finds no errors, a single row with the value 'ok' is returned. (source: pragma.html, checked-by: th3/req1/integrityck01.test, matrix: context, detail)

R-35640-30414-24972-23354-27947-42421-53546-27717

  The sqlite3_value_dup(V) interface returns NULL if V is NULL or if a memory allocation fails. (source: c3ref/value_dup.html, matrix: context, detail)

R-35668-58241-09537-53108-57582-24768-01452-25578

  The phrase "VALUES(expr-list)" means the same thing as "SELECT expr-list". (source: lang_select.html, checked-by: th3/cov1/select30.test, th3/req1/select02.test, matrix: context, detail)

R-35698-25375-34264-35367-42002-17994-39861-33131

  C-style comments begin with "/*" and extend up to and including the next "*/" character pair or until the end of input, whichever comes first. (source: lang_comment.html, checked-by: th3/req1/comment01.test, matrix: context, detail)

R-35711-48727-49492-05161-09107-16114-44571-60110

  If N or iOffset is less than zero, SQLITE_ERROR is returned and no data is read. (source: c3ref/blob_read.html, checked-by: th3/cov1/vdbeblob01.test, matrix: context, detail)

R-35739-57436-25800-46947-32358-09819-57778-06393

  The sqlite3_errmsg() or sqlite3_errmsg16() routines can be used to obtain an English language description of the error following a failure of any of the sqlite3_open() routines. (source: c3ref/open.html, matrix: context, detail)

R-35763-48267-24179-20441-32559-50420-39179-45580

  Foreign key DML errors are reported if: The parent table does not exist, or The parent key columns named in the foreign key constraint do not exist, or The parent key columns named in the foreign key constraint are not the primary key of the parent table and are not subject to a unique constraint using collating sequence specified in the CREATE TABLE, or The child table references the primary key of the parent without specifying the primary key columns and the number of primary key columns in the parent do not match the number of child key columns. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys07.test, matrix: context, detail)

R-35764-01730-42752-16574-48638-21892-06176-19887

  The user_version pragma will to get or set the value of the user-version integer at offset 60 in the database header. (source: pragma.html, checked-by: th3/req1/pragma28.test, matrix: context, detail)

R-35765-61623-59690-19582-04854-45693-22489-08520

  Only a single progress handler may be defined at one time per database connection; setting a new progress handler cancels the old one. (source: c3ref/progress_handler.html, checked-by: th3/req1/progress01.test, matrix: context, detail)

R-35802-14059-47020-23527-06222-22948-08783-35470

  Nor is the update hook invoked when rows are deleted using the truncate optimization. (source: c3ref/update_hook.html, checked-by: th3/cov1/main15.test, matrix: context, detail)

R-35812-46755-23531-40873-62145-48640-15024-41940

  The default journal size limit is -1 (no limit). (source: pragma.html, checked-by: th3/req1/pragma26.test, matrix: context, detail)

R-35835-22506-43266-17385-20539-20628-59606-19981

  NOCASE - Similar to binary, except that it uses sqlite3_strnicmp() for the comparison. Hence the 26 upper case characters of ASCII are folded to their lower case equivalents before the comparison is performed. (source: datatype3.html, checked-by: th3/req1/datatype3_09.test, matrix: context, detail)

R-35840-33204-13129-04501-28754-46758-55672-28059

  If URI filename interpretation is enabled, and the filename argument begins with "file:", then the filename is interpreted as a URI. (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-35856-58769-58714-05667-00872-44195-43278-26599

  However if an ON CONFLICT clause is specified as part of the statement causing the trigger to fire, then conflict handling policy of the outer statement is used instead. (source: lang_createtrigger.html, matrix: context, detail)

R-35865-29619-35015-08784-17694-42068-56782-50747

  This interface is used to retrieve runtime status information about a single database connection. (source: c3ref/db_status.html, checked-by: th3/req1/dbstatus01.test, matrix: context, detail)

R-35880-12325-57817-26418-36971-18732-46777-12474

  For the index above and WHERE clause like this: ... WHERE b IN (1,2,3) AND c NOT NULL AND d='hello' The index is not usable at all because the left-most column of the index (column "a") is not constrained. (source: optoverview.html, matrix: context, detail)

R-35892-30289-55875-11491-60713-08800-59610-09295

  For a command of the form "REINDEX name", a match against collation-name takes precedence over a match against index-name or table-name. (source: lang_reindex.html, checked-by: tcl/e_reindex.test, matrix: context, detail)

R-35903-55864-38042-65190-02899-64342-40234-23933

  The P argument is a pointer to the prepared statement. (source: c3ref/c_trace.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-35921-30782-30597-38751-45197-16333-41298-65365

  If SQLite has not been initialized using sqlite3_initialize() prior to invoking sqlite3_complete16() then sqlite3_initialize() is invoked automatically by sqlite3_complete16(). If that initialization fails, then the return value from sqlite3_complete16() will be non-zero regardless of whether or not the input SQL is complete. (source: c3ref/complete.html, checked-by: th3/cov1/complete01.test, matrix: context, detail)

R-35945-11759-33348-59186-12007-55771-30323-25128

  The sqlite3_mutex_alloc() routine returns NULL if it is unable to allocate the requested mutex. (source: c3ref/mutex_alloc.html, matrix: context, detail)

R-35968-60209-16507-36689-50525-63369-04471-36400

  By default, application-defined SQL functions are considered to be non-deterministic. (source: deterministic.html, matrix: context, detail)

R-36007-42565-41988-28835-07682-45738-21986-28193

  The sqlite3_realloc64(X,N) interfaces works the same as sqlite3_realloc(X,N) except that N is a 64-bit unsigned integer instead of a 32-bit signed integer. (source: c3ref/free.html, checked-by: th3/req1/malloc02.test, matrix: context, detail)

R-36018-21755-34988-08386-62029-36954-65009-29361

  The parent key definitions of foreign key constraints are not checked when a table is created. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys21.test, matrix: context, detail)

R-36043-10590-35190-29655-36320-51519-10161-16668

  Changes made as part of foreign key actions are included in the count, but those made as part of REPLACE constraint resolution are not. (source: c3ref/total_changes.html, checked-by: tcl/e_totalchanges.test, matrix: context, detail)

R-36097-50928-12790-61017-20060-26535-57569-32056

  SQLite implements this interface by calling the xSleep() method of the default sqlite3_vfs object. (source: c3ref/sleep.html, checked-by: th3/req1/sleep01.test, matrix: context, detail)

R-36103-43483-56354-57798-31615-25926-09784-32512

  The sqlite_stat3.nLt holds the approximate number of entries in the index whose left-most column is less than the sample. (source: fileformat2.html, matrix: context, detail)

R-36147-61857-54581-58200-55810-07092-59837-08687

  The second parameter to the preupdate callback is a pointer to the database connection that registered the preupdate hook. (source: c3ref/preupdate_count.html, matrix: context, detail)

R-36185-29671-26091-33323-34163-48928-21638-35689

  If the column-name list is omitted, then the names of the columns in the view are derived from the names of the result-set columns in the select-stmt. (source: lang_createview.html, matrix: context, detail)

R-36190-27688-09198-02833-32879-47498-11674-13730

  PRAGMA schema.page_size; PRAGMA schema.page_size = bytes; Query or set the page size of the database. (source: pragma.html, matrix: context, detail)

R-36195-31555-35544-12860-62754-30693-28143-39954

  The usual INSERT, UPDATE, and DELETE commands work on an R*Tree index just like on regular tables. (source: rtree.html, matrix: context, detail)

R-36231-30731-18114-11584-03409-00455-24711-59821

  The COLLATE operator has a higher precedence (binds more tightly) than any binary operator and any unary prefix operator except "~". (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-36239-04077-08470-54931-40517-19628-02448-15955

  The scalar expressions may refer to columns of the row being updated. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-36257-52125-15338-28227-38982-51329-51201-58164

  SQLite does not make a copy of the new main schema name string, so the application must ensure that the argument passed into this DBCONFIG option is unchanged until after the database connection closes. (source: c3ref/c_dbconfig_defensive.html, checked-by: src/main.c, th3/cov1/maindbname01.test, matrix: context, detail)

R-36327-17224-30714-13238-62239-10610-34314-51642

  If a result expression is the special expression "*" then all columns in the input data are substituted for that one expression. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-36328-16367-14145-21377-30808-40796-28392-26990

  In that case, the database connection remains in EXCLUSIVE mode as long as the journal mode is WAL; attempts to change the locking mode using "PRAGMA locking_mode=NORMAL;" are no-ops. (source: wal.html, checked-by: tcl/e_wal.test, th3/req1/pragma05.test, matrix: context, detail)

R-36338-64112-59318-08203-11484-65439-59164-45202

  If one or more ON INSERT, ON DELETE or ON UPDATE triggers are defined on a view, then it is not an error to execute an INSERT, DELETE or UPDATE statement on the view, respectively. (source: lang_createtrigger.html, matrix: context, detail)

R-36357-08369-42604-06511-16723-17506-10955-34539

  If the WHERE clause expression evaluates to NULL or to false for some rows of the table, then those rows are omitted from the index. (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-36394-12461-27768-64371-31765-36302-25885-56308

  SQLite will always use the table b-tree key rather than the NULL value when referencing the INTEGER PRIMARY KEY column. (source: fileformat2.html, matrix: context, detail)

R-36399-45840-38419-49366-05932-18953-07682-47549

  SQLITE_STATUS_PAGECACHE_USED This parameter returns the number of pages used out of the pagecache memory allocator that was configured using SQLITE_CONFIG_PAGECACHE. The value returned is in pages, not in bytes. (source: c3ref/c_status_malloc_count.html, matrix: context, detail)

R-36476-47203-56638-47160-44339-35126-05623-44628

  A string might look like a floating-point literal with a decimal point and/or exponent notation but as long as the value can be expressed as an integer, the NUMERIC affinity will convert it into an integer. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-36522-24811-64811-56384-05057-49516-54548-20894

  If the database connection is associated with unfinalized prepared statements, BLOB handlers, and/or unfinished sqlite3_backup objects then sqlite3_close() will leave the database connection open and return SQLITE_BUSY. (source: c3ref/close.html, checked-by: th3/cov1/main23.test, matrix: context, detail)

R-36545-62345-61603-06376-33533-12580-59655-26356

  The value returned by sqlite3_backup_finish is SQLITE_OK if no sqlite3_backup_step() errors occurred, regardless or whether or not sqlite3_backup_step() completed. (source: c3ref/backup_finish.html, matrix: context, detail)

R-36570-50350-22690-62620-40069-12741-59912-39682

  Transactions can be started manually using the BEGIN command. (source: lang_transaction.html, matrix: context, detail)

R-36592-02772-49597-21134-35176-13314-34028-16274

  The SQLITE_CONFIG_COVERING_INDEX_SCAN option takes a single integer argument which is interpreted as a boolean in order to enable or disable the use of covering indices for full table scans in the query optimizer. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, matrix: context, detail)

R-36596-35603-05344-10987-20238-56026-42130-18053

  The sqlite3_last_insert_rowid(D) interface usually returns the rowid of the most recent successful INSERT into a rowid table or virtual table on database connection D. (source: c3ref/last_insert_rowid.html, matrix: context, detail)

R-36598-60500-12425-47640-29499-27621-13512-27511

  Attached databases can be vacuumed by appending the appropriate schema-name to the VACUUM statement. (source: lang_vacuum.html, checked-by: tcl/e_vacuum.test, matrix: context, detail)

R-36608-10930-24220-22579-46351-14737-62834-54918

  The arguments can be just about any text as long as it has balanced parentheses. (source: lang_createvtab.html, matrix: context, detail)

R-36609-39554-02465-47159-11232-33677-21086-13785

  "c" if the index was created by a CREATE INDEX statement, "u" if the index was created by a UNIQUE constraint, or "pk" if the index was created by a PRIMARY KEY constraint. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15.test, matrix: context, detail)

R-36610-45292-54097-28024-65527-46641-42678-27744

  The sqlite3_snprintf() routine is similar to "snprintf()" from the standard C library. The result is written into the buffer supplied as the second parameter whose size is given by the first parameter. Note that the order of the first two parameters is reversed from snprintf(). (source: c3ref/mprintf.html, checked-by: th3/req1/malloc01.test, matrix: context, detail)

R-36612-64789-14111-46629-37131-49911-14128-04823

  But the next query can not use the partial index: SELECT * FROM tab2 WHERE b=456; -- cannot use partial index (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-36620-34941-18970-44416-30193-42757-18271-60128

  The secure-delete setting for newly attached databases is the setting of the main database at the time the ATTACH command is evaluated. (source: pragma.html, checked-by: th3/cov1/pragma20.test, th3/cov1/pragma21.test, matrix: context, detail)

R-36651-49821-06866-46556-29729-37304-36967-33618

  Note that the name length limit is in UTF-8 bytes, not characters nor UTF-16 bytes. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc01.test, matrix: context, detail)

R-36706-10507-15107-19022-47834-34931-59903-48809

  The PRAGMA wal_checkpoint command can be used to invoke this interface from SQL. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, matrix: context, detail)

R-36754-20545-04159-27572-44208-64137-08044-49180

  Strings with embedded NUL characters cannot be represented as string literals in SQL and hence the returned string literal is truncated prior to the first NUL. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, matrix: context, detail)

R-36765-11966-40319-64990-44757-09945-39108-37525

  If the sqlite_stat1.idx column is the same as the sqlite_stat1.tbl column, then the table is a WITHOUT ROWID table and the sqlite_stat1.stat field contains information about the index btree that implements the WITHOUT ROWID table. (source: fileformat2.html, matrix: context, detail)

R-36787-21388-40333-56236-13841-04160-18258-18988

  If the STRING or BLOB looks like a real number (if it has a decimal point or an exponent) or if the value is outside the range that can be represented as a 64-bit signed integer, then it converts to REAL. Otherwise the operand converts to INTEGER. (source: datatype3.html, checked-by: th3/req1/datatype3_06.test, matrix: context, detail)

R-36822-49898-51267-28801-22242-39926-43860-26511

  In many pragmas, the argument is a boolean. The boolean can be one of: 1 yes true on0 no false off (source: pragma.html, checked-by: th3/req1/pragma01.test, matrix: context, detail)

R-36834-48950-59089-31267-28729-41659-26952-44127

  On the other hand, the virtual terms themselves never causes tests to be performed on input rows. (source: optoverview.html, matrix: context, detail)

R-36850-34127-02357-30625-11793-50017-46803-57751

  The likely(X) function is short-hand for likelihood(X,0.9375). (source: lang_corefunc.html, checked-by: src/resolve.c, matrix: context, detail)

R-36859-05333-15357-38800-46653-01342-64657-49103

  SQLite guarantees that the zFilename parameter to xOpen is either a NULL pointer or string obtained from xFullPathname() with an optional suffix added. (source: c3ref/vfs.html, checked-by: th3/cov1/pager25.test, th3/th3testvfs.c, matrix: context, detail)

R-36882-08642-64574-34445-28855-37148-23559-38229

  The sqlite3_hard_heap_limit64(N) interface is similar to sqlite3_soft_heap_limit64(N) except that memory allocations will fail when the hard heap limit is reached. (source: c3ref/hard_heap_limit64.html, matrix: context, detail)

R-36924-43758-45428-63164-00988-45045-48041-44762

  By default, every row in SQLite has a special column, usually called the "rowid", that uniquely identifies that row within the table. (source: withoutrowid.html, checked-by: tcl/rowid.test, tcl/without_rowid5.test, th3/cov1/withoutrowid01.test, matrix: context, detail)

R-36947-39582-19332-41522-37066-30341-40007-20770

  A WITHOUT ROWID table uses an index b-tree rather than a table b-tree for storage. (source: fileformat2.html, matrix: context, detail)

R-36961-63052-16205-51009-18443-35672-28780-03927

  The sqlite3_stmt_readonly() interface returns true for BEGIN since BEGIN merely sets internal flags, but the BEGIN IMMEDIATE and BEGIN EXCLUSIVE commands do touch the database and so sqlite3_stmt_readonly() returns false for those commands. (source: c3ref/stmt_readonly.html, checked-by: th3/cov1/vdbeapi14.test, matrix: context, detail)

R-36996-21017-11130-54775-34081-21546-00217-47155

  If the fifth argument has the value SQLITE_TRANSIENT, then SQLite makes its own private copy of the data immediately, before the sqlite3_bind_*() routine returns. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-37002-28871-53113-54694-45983-06407-17129-31700

  The "NOT INDEXED" clause specifies that no index shall be used when accessing the preceding table, including implied indices create by UNIQUE and PRIMARY KEY constraints. However, the rowid can still be used to look up entries even when "NOT INDEXED" is specified. (source: lang_indexedby.html, checked-by: tcl/indexedby.test, matrix: context, detail)

R-37002-32774-01005-00409-47681-36421-50128-30923

  The two-byte integer at offset 3 gives the number of cells on the page. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-37014-01401-21089-17070-29691-04562-53032-12534

  The ATTACH and DETACH statements also cause sqlite3_stmt_readonly() to return true since, while those statements change the configuration of a database connection, they do not make changes to the content of the database files on disk. (source: c3ref/stmt_readonly.html, checked-by: th3/cov1/vdbeapi14.test, matrix: context, detail)

R-37019-57602-33488-54627-46176-35899-62282-07201

  Nor does REPLACE increment the change counter. (source: lang_conflict.html, checked-by: th3/req1/conflict02.test, matrix: context, detail)

R-37051-49391-21174-04435-43019-60258-26390-24659

  The available modifiers are as follows. NNN days NNN hours NNN minutes NNN.NNNN seconds NNN months NNN years start of month start of year start of day weekday N unixepoch localtime utc (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-37099-37053-38363-03939-37447-24344-49731-34436

  Similarly, if URI filenames are not recognized when the database connection is first opened, they will not be recognized by ATTACH. (source: uri.html, matrix: context, detail)

R-37127-14782-63396-43128-39237-20363-34771-13214

  A call to this routine stores N bytes of randomness into buffer P. (source: c3ref/randomness.html, checked-by: th3/cov1/random01.test, matrix: context, detail)

R-37137-45553-37587-45054-45881-44464-34262-16786

  In some pragmas, the schema name is meaningless and is simply ignored. (source: pragma.html, checked-by: th3/req1/pragma01.test, matrix: context, detail)

R-37257-17813-38895-36946-60878-55344-03990-64044

  Note that upon successful completion of an SQLITE_CHECKPOINT_TRUNCATE, the log file will have been truncated to zero bytes and so both *pnLog and *pnCkpt will be set to zero. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, th3/req1/checkpoint01.test, matrix: context, detail)

R-37271-65264-45647-61848-25356-06624-30160-41691

  Compute the current unix timestamp. SELECT strftime('%s','now'); (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-37283-61388-33413-37250-53520-10226-00265-15596

  All these names are aliases for one another and work equally well in any context. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-37284-06965-27563-13787-56362-60751-57097-13652

  If the DELETE statement has no ORDER BY clause, then all rows that would be deleted in the absence of the LIMIT clause are assembled in an arbitrary order before applying the LIMIT and OFFSET clauses to determine the subset that are actually deleted. (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-37286-42536-47612-10625-41273-62615-36449-24349

  /* Add a table named 't1' to the temp, main and an attached database */ ATTACH 'file.db' AS aux; CREATE TABLE t1(x, y); CREATE TEMP TABLE t1(x, y); CREATE TABLE aux.t1(x, y); DROP TABLE t1; /* Drop table in temp database */ DROP TABLE t1; /* Drop table in main database */ DROP TABLE t1; /* Drop table in aux database */ (source: lang_naming.html, checked-by: tcl/e_resolve.test, matrix: context, detail)

R-37287-38238-38896-00540-17030-60706-04523-55035

  The column may not have a default value of CURRENT_TIME, CURRENT_DATE, CURRENT_TIMESTAMP, or an expression in parentheses. (source: lang_altertable.html, checked-by: th3/req1/altertable01.test, matrix: context, detail)

R-37304-39405-25413-14317-50314-46541-26352-18136

  If the base expression is NULL then the result of the CASE is always the result of evaluating the ELSE expression if it exists, or NULL if it does not. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-37306-64424-24476-44387-21141-11283-27580-01252

  If an SQL table is created using the "WITHOUT ROWID" clause at the end of its CREATE TABLE statement, then that table is a WITHOUT ROWID table and uses a different on-disk representation. (source: fileformat2.html, matrix: context, detail)

R-37338-25090-02456-18897-36801-31063-06233-22705

  The sqlite3_result_double() interface sets the result from an application-defined function to be a floating point value specified by its 2nd argument. (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-37342-04007-10606-64148-39195-51101-42464-04051

  The index value returned is suitable for use as the second parameter to sqlite3_bind(). (source: c3ref/bind_parameter_index.html, checked-by: th3/req1/bind03.test, matrix: context, detail)

R-37367-57340-65398-65389-19439-49960-45341-59090

  In a well-formed sqlite_stat3 table, the samples for any single index must appear in the same order that they occur in the index. In other words, if the entry with left-most column S1 is earlier in the index b-tree than the entry with left-most column S2, then in the sqlite_stat3 table, sample S1 must have a smaller rowid than sample S2. (source: fileformat2.html, matrix: context, detail)

R-37390-56181-43004-09239-55854-05379-58019-03084

  Pending write operations always fail with this error when a rollback occurs. (source: rescode.html, matrix: context, detail)

R-37412-09436-16826-17483-13770-41037-63628-17339

  Either modification causes the SQL statement to behave as a query and to return information about how the SQL statement would have operated if the EXPLAIN keyword or phrase had been omitted. (source: lang_explain.html, checked-by: th3/cov1/vdbeaux01.test, matrix: context, detail)

R-37434-19929-01541-26191-03532-28681-18224-01267

  Abs(X) returns NULL if X is NULL. (source: lang_corefunc.html, checked-by: src/func.c, th3/cov1/func01.test, matrix: context, detail)

R-37497-42412-17450-21022-09662-57031-07761-02196

  The size of the reserved region is determined by the one-byte unsigned integer found at an offset of 20 into the database file header. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-37514-35566-00640-25084-57688-04377-16048-30214

  A value of 1 means UTF-8. (source: fileformat2.html, checked-by: th3/req1/fileformat03.test, matrix: context, detail)

R-37526-53407-04018-28041-58853-34090-01926-44362

  The second integer is the approximate number of rows in the index that have the same value in the first column of the index. (source: fileformat2.html, matrix: context, detail)

R-37639-55938-19671-37883-10811-32762-31289-05215

  This interfaces opens a handle to the BLOB located in row iRow, column zColumn, table zTable in database zDb; in other words, the same BLOB that would be selected by: SELECT zColumn FROM zDb.zTable WHERE rowid = iRow; (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, th3/req1/blob01.test, matrix: context, detail)

R-37688-43700-53103-62151-49236-10303-34051-45197

  Use the sqlite3_blob_bytes() interface to determine the size of the opened blob. (source: c3ref/blob_open.html, checked-by: th3/cov1/vdbeblob01.test, matrix: context, detail)

R-37736-42616-04169-53390-00856-45033-53695-63004

  If a COMMIT statement (or the RELEASE of a transaction SAVEPOINT) fails because the database is currently in a state that violates a deferred foreign key constraint and there are currently nested savepoints, the nested savepoints remain open. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys15.test, matrix: context, detail)

R-37760-36374-21935-46380-43039-31326-26713-65030

  The sqlite3_table_column_metadata() interface returns SQLITE_OK and fills in the non-NULL pointers in the final five arguments with appropriate values if the specified column exists. (source: c3ref/table_column_metadata.html, checked-by: th3/cov1/metadata01.test, matrix: context, detail)

R-37773-10272-55463-21527-23891-50096-65319-03368

  For a table or view, the tbl_name column is a copy of the name column. (source: fileformat2.html, matrix: context, detail)

R-37783-42715-27194-59163-53660-14941-49401-50024

  Any %HH escape sequences in the query parameters are resolved prior to being appended to the xOpen filename. (source: uri.html, matrix: context, detail)

R-37795-21752-00915-21672-38602-04515-27824-24579

  The SQLITE_CONFIG_LOG option takes two arguments: a pointer to a function with a call signature of void(*)(void*,int,const char*), and a pointer to void. (source: c3ref/c_config_covering_index_scan.html, checked-by: th3/cov1/log01.test, th3/th3main.c, matrix: context, detail)

R-37801-37633-06717-41084-61304-63724-52548-02844

  The BLOB handle is closed unconditionally. Even if this routine returns an error code, the handle is still closed. (source: c3ref/blob_close.html, checked-by: tcl/e_blobclose.test, matrix: context, detail)

R-37808-62273-24906-47503-60125-44409-00514-33279

  Note that triggers are automatically dropped when the associated table is dropped. (source: lang_droptrigger.html, checked-by: tcl/e_droptrigger.test, matrix: context, detail)

R-37810-60222-47752-18821-24220-18386-52831-63855

  Compute the number of seconds since a particular moment in 2004: SELECT strftime('%s','now') - strftime('%s','2004-01-01 02:34:56'); (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-37812-47407-44151-24694-62524-58711-37886-57014

  Once an encoding has been set for a database, it cannot be changed. (source: pragma.html, checked-by: th3/req1/pragma16.test, matrix: context, detail)

R-37821-32925-08521-48318-15093-49732-47345-21314

  It is not possible to ALTER TABLE ADD COLUMN a STORED column. (source: gencol.html, matrix: context, detail)

R-37839-54301-54800-59276-61282-21878-13355-00369

  Value is a big-endian 24-bit twos-complement integer. (source: fileformat2.html, checked-by: src/vdbeaux.c, th3/req1/fileformat02.test, matrix: context, detail)

R-37910-23168-39063-40634-50772-23998-34303-02455

  The sqlite_version() function returns the version string for the SQLite library that is running. (source: lang_corefunc.html, checked-by: th3/req1/func04.test, matrix: context, detail)

R-37911-51642-34718-50738-49482-42498-05083-29076

  The LIMIT clause is used to place an upper bound on the number of rows returned by the entire SELECT statement. (source: lang_select.html, checked-by: th3/req1/select02.test, matrix: context, detail)

R-37916-47407-25841-44869-57866-03917-48046-05809

  The MATCH operator is a special syntax for the match() application-defined function. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-37923-12173-52320-03983-04095-34314-35102-35798

  The sqlite3_prepare_v2() interface works exactly the same as sqlite3_prepare_v3() with a zero prepFlags parameter. (source: c3ref/prepare.html, checked-by: src/prepare.c, matrix: context, detail)

R-37936-22853-22443-15784-22618-50674-60606-55303

  If UTF16 input text contains invalid unicode characters, then SQLite might change those invalid characters into the unicode replacement character: U+FFFD. (source: c3ref/bind_blob.html, matrix: context, detail)

R-37997-42187-51725-59091-37072-50205-56712-26602

  The difference between the effect of a RESTRICT action and normal foreign key constraint enforcement is that the RESTRICT action processing happens as soon as the field is updated - not at the end of the current statement as it would with an immediate constraint, or at the end of the current transaction as it would with a deferred constraint. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys16.test, matrix: context, detail)

R-38023-18396-22713-13690-61527-29951-04231-55806

  It is an error to use a "*" or "alias.*" expression in any context other than a result expression list. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-38049-07913-57133-40179-27689-18844-57300-61225

  If any other error occurs while processing an attached database, processing is abandoned and the error code is returned to the caller immediately. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, matrix: context, detail)

R-38049-49177-51808-41050-10295-13822-05309-22802

  The anQueue field is an array of mxLevel+1 unsigned integers that tell the current number of elements in the priority queue at each level. (source: rtree.html, matrix: context, detail)

R-38062-30057-54968-60320-51568-47118-43997-50197

  In partial indexes, only some subset of the rows in the table have corresponding index entries. (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-38083-64261-20639-49699-39897-18481-13344-23243

  In other words, calls to xUnpin() on a cache with bPurgeable set to false will always have the "discard" flag set to true. (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-38091-32352-01038-12567-23855-46288-57631-62410

  The maximum parameter number is set at compile-time by the SQLITE_MAX_VARIABLE_NUMBER macro. (source: lang_expr.html, checked-by: src/main.c, matrix: context, detail)

R-38128-34102-03228-01716-42650-19152-18652-04810

  The sqlite3_wal_autocheckpoint(D,N) is a wrapper around sqlite3_wal_hook() that causes any database on database connection D to automatically checkpoint after committing a transaction if there are N or more frames in the write-ahead log file. (source: c3ref/wal_autocheckpoint.html, checked-by: tcl/e_walauto.test, matrix: context, detail)

R-38176-56274-44779-06953-35503-33902-10868-27976

  In a database with ptrmap pages, the first ptrmap page is page 2. (source: fileformat2.html, matrix: context, detail)

R-38200-45242-44126-59333-52626-62279-09263-45295

  The sqlite3_load_extension() interface returns SQLITE_OK on success and SQLITE_ERROR if something goes wrong. (source: c3ref/load_extension.html, matrix: context, detail)

R-38207-48996-22949-56982-35182-46285-03543-37900

  If zDb is not NULL (or a zero length string) and is not the name of any attached database, SQLITE_ERROR is returned to the caller. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, matrix: context, detail)

R-38219-53002-00313-45584-37253-57007-40981-19888

  If no unused ROWID can be found after a reasonable number of attempts, the insert operation fails with an SQLITE_FULL error. (source: autoinc.html, checked-by: src/vdbe.c, th3/cov1/vdbe23.test, matrix: context, detail)

R-38229-40159-56776-58417-62683-03427-34499-02992

  If the callback function to sqlite3_exec() returns non-zero, then sqlite3_exec() will return SQLITE_ABORT. (source: rescode.html, checked-by: src/legacy.c, th3/cov1/legacy01.test, matrix: context, detail)

R-38242-53217-63508-42050-45799-27349-00700-51305

  "SEARCH" indicates that only a subset of the table rows are visited. (source: eqp.html, matrix: context, detail)

R-38255-01123-17984-58641-36613-29376-16056-55612

  If the filename is ":memory:", then a private, temporary in-memory database is created for the connection. (source: c3ref/open.html, checked-by: th3/cov1/sharedcache03.test, matrix: context, detail)

R-38260-37719-07465-52549-18983-56456-60761-04524

  The VFS is required to either truncate or zero the header of the wal-index when the last connection to it closes. (source: fileformat2.html, matrix: context, detail)

R-38263-04539-19713-53246-37611-46550-04065-41705

  Note that the unary *+* operator also removes type affinity from an expression, and in some cases this can cause subtle changes in the meaning of an expression. (source: optoverview.html, matrix: context, detail)

R-38293-42495-20916-29854-03664-36898-47028-10197

  Prior savepoints, even savepoints with matching savepoint-names, are unchanged. (source: lang_savepoint.html, matrix: context, detail)

R-38308-24406-60432-36844-44723-02085-25022-07693

  SQLite attempts to use an index to satisfy the ORDER BY clause of a query when possible. (source: optoverview.html, matrix: context, detail)

R-38336-05023-13605-39367-03302-30111-01531-40111

  Hence explicitly specifying FOR EACH ROW is optional. (source: lang_createtrigger.html, matrix: context, detail)

R-38392-49970-12862-30349-17432-31139-60846-54763

  If the action code is SQLITE_READ and the callback returns SQLITE_IGNORE then the prepared statement statement is constructed to substitute a NULL value in place of the table column that would have been read if SQLITE_OK had been returned. (source: c3ref/set_authorizer.html, checked-by: tcl/auth.test, th3/cov1/auth01.test, matrix: context, detail)

R-38412-06710-13373-27041-27382-60302-02109-00077

  If the name of the table is unique across all attached databases and the main and temp databases, then the schema-name prefix is not required. (source: lang_attach.html, checked-by: th3/req1/attach01.test, matrix: context, detail)

R-38422-04402-49671-03749-58225-12387-56102-01352

  The column from the dataset on the left-hand side of the join-operator is considered to be on the left-hand side of the comparison operator (=) for the purposes of collation sequence and affinity precedence. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-38462-47168-00802-29232-37957-12454-50485-62719

  The number of system calls for filesystem operations is reduced, possibly resulting in a small performance increase. (source: pragma.html, checked-by: th3/req1/pragma05.test, matrix: context, detail)

R-38465-03616-05704-04458-16230-08535-12299-37595

  If there is an ON clause then the ON expression is evaluated for each row of the cartesian product as a boolean expression. Only rows for which the expression evaluates to true are included from the dataset. (source: lang_select.html, checked-by: tcl/e_select.test, tcl/e_select2.test, matrix: context, detail)

R-38470-19236-05585-14334-15897-63539-60552-16628

  As with all other SQLite APIs, those whose names end with "16" return UTF-16 encoded strings and the other functions return UTF-8. (source: c3ref/column_database_name.html, matrix: context, detail)

R-38485-20010-44949-34877-39366-11397-10597-42284

  If a table contains a column of type INTEGER PRIMARY KEY, then that column becomes an alias for the ROWID. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-38493-22774-30789-51088-59525-02333-30794-32184

  when sqlite3_set_auxdata() is invoked again on the same parameter (source: c3ref/get_auxdata.html, matrix: context, detail)

R-38513-43475-55678-22086-42456-40584-55564-45510

  A call to xRelease(X,M) invalidates all savepoints where N>=M. (source: vtab.html, matrix: context, detail)

R-38515-45264-03335-50980-08297-28344-12265-07348

  An UPDATE statement is used to modify a subset of the values stored in zero or more rows of the database table identified by the qualified-table-name specified as part of the UPDATE statement. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-38536-04510-23157-49681-06132-47285-44686-09674

  The quote(X) function returns the text of an SQL literal which is the value of its argument suitable for inclusion into an SQL statement. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, matrix: context, detail)

R-38545-41243-15928-60739-42424-40199-61520-19344

  If SQLite determines that invoking the busy handler could result in a deadlock, it will go ahead and return SQLITE_BUSY to the application instead of invoking the busy handler. (source: c3ref/busy_handler.html, checked-by: th3/req1/busy01.test, matrix: context, detail)

R-38577-07276-49824-55947-21917-12317-50155-56118

  If the query string is present, then all query parameters are passed through into the xOpen method of the underlying VFS. (source: uri.html, matrix: context, detail)

R-38578-34175-46775-59738-25546-18239-05883-23898

  If an SQLITE_BUSY error is encountered when processing one or more of the attached WAL databases, the operation is still attempted on any remaining attached databases and SQLITE_BUSY is returned at the end. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, matrix: context, detail)

R-38590-62769-37174-11350-15307-56847-39156-23447

  The first parameter to the authorizer callback is a copy of the third parameter to the sqlite3_set_authorizer() interface. (source: c3ref/set_authorizer.html, checked-by: src/tclsqlite.c, th3/th3util.c, matrix: context, detail)

R-38595-30726-57286-21229-43510-46199-10154-57516

  If the value N is out of range or if the N-th parameter is nameless, then NULL is returned. (source: c3ref/bind_parameter_name.html, checked-by: th3/req1/bind04.test, matrix: context, detail)

R-38620-19499-44951-35069-39820-53253-57753-11041

  In a CASE with a base expression, the base expression is evaluated just once and the result is compared against the evaluation of each WHEN expression from left to right. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-38640-56094-37919-00442-61763-52765-52692-27177

  The "int" variable pointed to by the V parameter will be set to the "select-id" for the X-th loop. (source: c3ref/c_scanstat_est.html, matrix: context, detail)

R-38644-64912-46499-33348-47960-41753-16072-56504

  If the right-most element of a compound SELECT is a VALUES clause, then no ORDER BY clause is allowed on that statement. (source: lang_select.html, checked-by: th3/req1/select02.test, matrix: context, detail)

R-38650-02327-39862-58764-51816-33051-52085-34596

  The immutable query parameter is a boolean that signals to SQLite that the underlying database file is held on read-only media and cannot be modified, even by another process with elevated privileges. (source: uri.html, matrix: context, detail)

R-38720-18127-00182-16789-56682-25353-36594-39383

  The default setting is determined by the SQLITE_ALLOW_COVERING_INDEX_SCAN compile-time option, or is "on" if that compile-time option is omitted. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/global.c, matrix: context, detail)

R-38731-06596-31810-47089-31718-16313-64789-42383

  The "utc" modifier is the opposite of "localtime". "utc" assumes that the string to its left is in the local timezone and adjusts that string to be in UTC. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-38759-38789-04186-61984-59919-00444-32947-07826

  Operators IS and IS NOT have the same precedence as =. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-38787-59790-48915-64090-33059-22783-12299-30230

  If the SQLITE_FCNTL_PRAGMA file control returns SQLITE_NOTFOUND, then normal PRAGMA processing continues. (source: c3ref/c_fcntl_begin_atomic_write.html, checked-by: th3/cov1/pragma24.test, matrix: context, detail)

R-38799-08373-51877-49685-25873-19436-11233-20221

  URI filenames can be enabled or disabled using the SQLITE_USE_URI=1 or SQLITE_USE_URI=0 compile-time options. (source: uri.html, checked-by: src/global.c, matrix: context, detail)

R-38815-48046-28937-36081-10893-02265-15426-25349

  A frame is considered valid if and only if the following conditions are true: The salt-1 and salt-2 values in the frame-header match salt values in the wal-header The checksum values in the final 8 bytes of the frame-header exactly match the checksum computed consecutively on the first 24 bytes of the WAL header and the first 8 bytes and the content of all frames up to and including the current frame. (source: fileformat2.html, matrix: context, detail)

R-38828-57497-43339-57489-42530-28213-54283-40875

  When a SAVEPOINT is the outer-most savepoint and it is not within a BEGIN...COMMIT then the behavior is the same as BEGIN DEFERRED TRANSACTION. (source: lang_savepoint.html, matrix: context, detail)

R-38841-33525-61370-32823-20999-44685-25709-53990

  Application code is allowed to modify the sqlite_sequence table, to add new rows, to delete rows, or to modify existing rows. (source: fileformat2.html, matrix: context, detail)

R-38910-65521-60645-02772-59473-48927-46815-22731

  The "const char *" variable pointed to by the V parameter will be set to a zero-terminated UTF-8 string containing the name of the index or table used for the X-th loop. (source: c3ref/c_scanstat_est.html, checked-by: th3/cov1/status02.test, matrix: context, detail)

R-38914-26427-29082-17331-29986-21952-39833-10934

  The total_changes() function returns the number of row changes caused by INSERT, UPDATE or DELETE statements since the current database connection was opened. (source: lang_corefunc.html, checked-by: th3/cov1/func05.test, matrix: context, detail)

R-38971-13593-63134-41706-45438-37598-45923-53388

  Note that a declared type of "FLOATING POINT" would give INTEGER affinity, not REAL affinity, due to the "INT" at the end of "POINT". (source: datatype3.html, checked-by: th3/req1/datatype3_02.test, matrix: context, detail)

R-38973-52184-38987-24216-42448-05561-19819-59369

  If the optional ESCAPE clause is present, then the like() function is invoked with three arguments. (source: lang_corefunc.html, checked-by: th3/req1/func02.test, matrix: context, detail)

R-38980-08445-54197-34551-31600-64664-60502-04654

  NOCASE does not implement a general purpose unicode caseless comparison. (source: fileformat2.html, matrix: context, detail)

R-38989-21359-13709-49366-18905-24783-41677-06526

  The szExtra parameter will a number less than 250. (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-39000-44986-06007-27676-18826-64674-54503-26539

  If S is NULL, then the highest transaction state of any schema on database connection D is returned. (source: c3ref/txn_state.html, matrix: context, detail)

R-39009-25596-33829-41361-38484-11658-48369-57903

  The result of the CASE expression is the evaluation of the THEN expression that corresponds to the first WHEN expression that evaluates to true. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-39020-65330-19381-32057-25425-01859-32299-49676

  The COLLATE clause of the column definition is used to define alternative collating functions for a column. (source: datatype3.html, checked-by: th3/req1/datatype3_09.test, matrix: context, detail)

R-39051-42271-46025-06225-43154-22193-07696-21282

  The second form attempts to modify the maximum page count. (source: pragma.html, checked-by: th3/req1/pragma12.test, matrix: context, detail)

R-39070-64522-51812-62435-11898-58079-59310-06231

  The sqlite3_db_cacheflush(D) interface flushes caches for all schemas - "main", "temp", and any attached databases. (source: c3ref/db_cacheflush.html, matrix: context, detail)

R-39073-45389-04336-35554-15796-29115-57398-44032

  If M is -1 in the initial journal header, then the number of page records that follow is computed by computing how many page records will fit in the available space of the remainder of the journal file. (source: fileformat2.html, matrix: context, detail)

R-39074-57615-41505-43616-22624-34066-27860-62726

  The SQLITE_OMIT_TRACE compile-time option causes sqlite3_expanded_sql() to always return NULL. (source: c3ref/expanded_sql.html, checked-by: th3/req1/sql01.test, matrix: context, detail)

R-39082-45490-57705-20308-15536-26647-22917-12593

  The query above will use the po_parent index to help find the answer, since the po_parent index contains entries for all rows of interest. (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-39084-14613-42485-09805-36660-25752-30462-34243

  The sqlite3_str_errcode(X) method returns SQLITE_NOMEM following any out-of-memory error, or SQLITE_TOOBIG if the size of the dynamic string exceeds SQLITE_MAX_LENGTH, or SQLITE_OK if there have been no errors. (source: c3ref/str_errcode.html, matrix: context, detail)

R-39086-42574-52066-34566-03603-26293-15630-13712

  The third argument to xCreate(), bPurgeable, is true if the cache being created will be used to cache database pages of a file stored on disk, or false if it is used for an in-memory database. (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-39088-19376-30403-42071-52241-63734-59003-40185

  The sqlite3_value object returned by sqlite3_column_value() is unprotected. (source: c3ref/value.html, checked-by: th3/req1/value01.test, matrix: context, detail)

R-39089-10219-02970-26628-53332-63736-48500-08755

  The s1 value spans all 32-bit integer terms of the sequence whereas s0 omits the final term. (source: fileformat2.html, matrix: context, detail)

R-39100-27317-10483-05917-57976-22690-13501-50723

  The SQLITE_CONFIG_PCACHE_HDRSZ option takes a single parameter which is a pointer to an integer and writes into that integer the number of extra bytes per page required for each page in SQLITE_CONFIG_PAGECACHE. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, th3/cov1/main42.test, matrix: context, detail)

R-39150-60222-54489-42043-19266-00482-07233-17932

  On a cache where bPurgeable is false, SQLite will never invoke xUnpin() except to deliberately delete a page. (source: c3ref/pcache_methods2.html, checked-by: th3/th3pcache.c, matrix: context, detail)

R-39210-36906-47474-04238-18863-57364-16133-33806

  "b=6" will match to "6=b" as long as "b=6" is on the index and "6=b" is in the query. (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-39221-43493-49031-48260-11050-48204-23096-55403

  The sqlite3_mutex_leave() routine exits a mutex that was previously entered by the same thread. (source: c3ref/mutex_alloc.html, matrix: context, detail)

R-39225-16568-52968-30010-37247-11603-25439-49402

  The expression of a generated column may not directly reference the ROWID, though it can reference the INTEGER PRIMARY KEY column, which is often the same thing. (source: gencol.html, matrix: context, detail)

R-39254-55835-64728-03186-59811-05640-07786-15038

  Each entry in the index b-tree corresponds to a single row in the associated SQL table. (source: fileformat2.html, matrix: context, detail)

R-39265-04070-30004-05781-22531-14920-64985-48690

  If no matching expression can be found in the result columns of any constituent SELECT, it is an error. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-39279-48828-00404-43812-37996-18739-13104-15317

  The order of values in the record is the same as the order of columns in the SQL table definition. (source: fileformat2.html, matrix: context, detail)

R-39332-27982-27049-48904-10655-02053-00990-04758

  The subquery does not use LIMIT or the outer query does not use aggregates. (source: optoverview.html, matrix: context, detail)

R-39350-14264-06804-50075-43758-39518-52551-62265

  These routines open an SQLite database file as specified by the filename argument. (source: c3ref/open.html, matrix: context, detail)

R-39368-64333-53302-20010-22332-46980-48834-46750

  In a compound SELECT, all the constituent SELECTs must return the same number of result columns. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-39412-46882-37101-45160-49245-06434-49198-35151

  An application-defined function is permitted to call other SQLite interfaces. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc06.test, matrix: context, detail)

R-39414-35489-25303-10592-22636-36530-45454-18784

  The infix GLOB operator is implemented by calling the function glob(Y,X) and can be modified by overriding that function. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-39448-56079-43024-42660-00434-04264-13777-54050

  The filename argument sqlite3_open16() is converted from UTF16 native byte order into UTF8 prior to processing. (source: uri.html, matrix: context, detail)

R-39464-12723-18801-15682-15503-09131-15880-06935

  The return value from sqlite3_column_blob() for a zero-length BLOB is a NULL pointer. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, matrix: context, detail)

R-39464-36566-10218-24417-22703-07867-12954-27805

  The first time the database is written, an exclusive lock is obtained and held. (source: pragma.html, checked-by: th3/req1/pragma04.test, matrix: context, detail)

R-39544-28997-13653-57291-53593-51283-21786-51117

  In other words, the first column is 0 if the equivalent call to sqlite3_wal_checkpoint_v2() would have returned SQLITE_OK or 1 if the equivalent call would have returned SQLITE_BUSY. (source: pragma.html, matrix: context, detail)

R-39556-50570-30565-00761-35102-37425-01790-22325

  The progress handler is also disabled by setting N to a value less than 1. (source: c3ref/progress_handler.html, checked-by: th3/req1/progress01.test, matrix: context, detail)

R-39564-36305-13838-22783-16141-24782-64457-11535

  The sqlite_compileoption_used() SQL function is a wrapper around the sqlite3_compileoption_used() C/C++ function. (source: lang_corefunc.html, checked-by: src/func.c, th3/cov1/ctime02.test, matrix: context, detail)

R-39578-54133-12312-25444-39025-43860-65200-11026

  The SQLITE_FCNTL_OVERWRITE opcode is invoked by SQLite after opening a write transaction to indicate that, unless it is rolled back for some reason, the entire database file will be overwritten by the current transaction. (source: c3ref/c_fcntl_begin_atomic_write.html, matrix: context, detail)

R-39608-49000-51968-24842-19070-08094-34539-25072

  This pragma sets or queries the database connection locking-mode. (source: pragma.html, checked-by: th3/req1/pragma04.test, matrix: context, detail)

R-39614-35715-21681-03013-09842-54185-10366-26621

  When the WHERE is omitted from a DELETE statement and the table being deleted has no triggers, SQLite uses an optimization to erase the entire table content without having to visit each row of the table individually. (source: lang_delete.html, matrix: context, detail)

R-39616-20555-02533-15918-45822-50476-08959-13235

  Both GLOB and LIKE may be preceded by the NOT keyword to invert the sense of the test. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-39625-59133-51160-16821-08966-29861-61919-63168

  A USING or ON clause may not be added to a join that specifies the NATURAL keyword. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-39692-12488-54491-44352-04912-13609-39585-46004

  Deferred foreign key constraints are not checked until the transaction tries to COMMIT. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys12.test, th3/req1/foreignkeys14.test, matrix: context, detail)

R-39719-17021-25795-58953-42832-28593-26146-38577

  The sqlite3_commit_hook(D,C,P) and sqlite3_rollback_hook(D,C,P) functions return the P argument from the previous call of the same function on the same database connection D, or NULL for the first call for each function on D. (source: c3ref/commit_hook.html, matrix: context, detail)

R-39746-16618-18331-39876-26719-11435-38479-45574

  It is not possible to change the text encoding of a database after it has been created and any attempt to do so will be silently ignored. (source: pragma.html, checked-by: th3/req1/pragma16.test, matrix: context, detail)

R-39763-46240-25727-03918-12212-03992-13820-06726

  PRAGMA schema.journal_mode; PRAGMA schema.journal_mode = DELETE | TRUNCATE | PERSIST | MEMORY | WAL | OFF This pragma queries or sets the journal mode for databases associated with the current database connection. (source: pragma.html, checked-by: th3/req1/pragma23.test, matrix: context, detail)

R-39822-07822-55219-05739-15484-26699-12744-24448

  In this case the new table is created in the named database. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-39822-14939-20605-05288-51207-58465-58259-08970

  If the transaction has already been rolled back automatically by the error response, then the ROLLBACK command will fail with an error, but no harm is caused by this. (source: lang_transaction.html, matrix: context, detail)

R-39910-14723-21123-44064-38823-12161-58690-10248

  A comma (",") is used as the separator if Y is omitted. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-39930-13329-18334-04678-35004-32482-06305-13006

  The sqlite3_int64 variable pointed to by the V parameter will be set to the total number of rows examined by all iterations of the X-th loop. (source: c3ref/c_scanstat_est.html, checked-by: th3/cov1/status02.test, matrix: context, detail)

R-40025-59984-53912-08799-37788-65154-58103-39921

  Expressions in an index may only refer to columns in the table that is being indexed. (source: lang_createindex.html, matrix: context, detail)

R-40026-10531-12029-61961-20483-43769-01249-19476

  If SQLite is compiled with the SQLITE_ENABLE_UPDATE_DELETE_LIMIT compile-time option, then the syntax of the DELETE statement is extended by the addition of optional ORDER BY and LIMIT clauses: (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-40045-04159-18257-36948-62852-01097-02415-08499

  SQLite ensures that *pzErrMsg is NULL before calling the xEntryPoint(). (source: c3ref/auto_extension.html, checked-by: th3/req1/autoext01.test, matrix: context, detail)

R-40079-54503-52433-22063-65278-03713-13772-01502

  The BETWEEN operator is logically equivalent to a pair of comparisons. "x BETWEEN y AND z" is equivalent to "x>=y AND x<=z" except that with BETWEEN, the x expression is only evaluated once. (source: lang_expr.html, checked-by: tcl/e_expr.test, th3/cov1/rowvalue04.test, matrix: context, detail)

R-40086-60101-35729-43768-42445-10732-59805-35730

  If the FORMAT argument is missing or NULL then the result is NULL. (source: lang_corefunc.html, checked-by: tcl/printf2.test, th3/cov1/printf08.test, matrix: context, detail)

R-40134-30296-44811-22193-40834-03348-00642-51152

  Table zTable is a WITHOUT ROWID table (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, tcl/without_rowid5.test, th3/cov1/vdbeblob01.test, matrix: context, detail)

R-40137-26050-25715-27051-43009-42599-25608-04347

  If the mode option is set to "rw", then the database is opened for read-write (but not create) access, as if SQLITE_OPEN_READWRITE (but not SQLITE_OPEN_CREATE) had been set. (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-40197-14811-29578-36290-28063-57666-21739-57478

  The dropped table is completely removed from the database schema and the disk file. (source: lang_droptable.html, checked-by: th3/req1/droptable01.test, matrix: context, detail)

R-40212-32858-03884-52961-15925-53384-61113-63305

  Therefore, auto-vacuuming must be turned on before any tables are created. (source: pragma.html, checked-by: th3/req1/pragma07.test, matrix: context, detail)

R-40219-59128-49321-57557-20784-05955-23042-57460

  The T argument is one of the SQLITE_TRACE constants to indicate why the callback was invoked. (source: c3ref/trace_v2.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-40233-33496-43567-58551-03815-59938-27256-59385

  The nolock query parameter is a boolean that disables all calls to the xLock, xUnlock, and xCheckReservedLock methods of the VFS when true. (source: uri.html, matrix: context, detail)

R-40235-17052-28075-57665-18059-48204-40601-49682

  The update hook is not invoked for rows that are deleted by the REPLACE conflict resolution strategy. (source: lang_conflict.html, checked-by: th3/req1/conflict02.test, matrix: context, detail)

R-40244-56906-37355-29196-11093-05053-42353-15016

  If the 5th parameter to sqlite3_exec() is not NULL and no errors occur, then sqlite3_exec() sets the pointer in its 5th parameter to NULL before returning. (source: c3ref/exec.html, checked-by: th3/req1/exec01.test, matrix: context, detail)

R-40248-50202-39876-24554-56269-52121-36535-08663

  The sqlite3_cancel_auto_extension(X) routine returns 1 if initialization routine X was successfully unregistered and it returns 0 if X was not on the list of initialization routines. (source: c3ref/cancel_auto_extension.html, matrix: context, detail)

R-40260-16838-48833-50335-31686-26847-17814-00082

  The number of coordinates is 2 for a 1-dimensional R*Tree, 4 for a 2-dimensional R*Tree, 6 for a 3-dimensional R*Tree, and so forth. (source: rtree.html, matrix: context, detail)

R-40275-54363-02570-13891-25879-32462-51713-20144

  If no COLLATE clause is specified, the default collation sequence is BINARY. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-40297-14464-07991-25596-41588-39255-21146-34618

  The INDEXED BY phrase forces the SQLite query planner to use a particular named index on a DELETE, SELECT, or UPDATE statement. (source: lang_indexedby.html, checked-by: tcl/indexedby.test, matrix: context, detail)

R-40298-31327-08313-07924-25737-24102-08430-39905

  The LIKE optimization might occur if the column named on the left of the operator is indexed using the built-in BINARY collating sequence and case_sensitive_like is turned on. Or the optimization might occur if the column is indexed using the built-in NOCASE collating sequence and the case_sensitive_like mode is off. These are the only two combinations under which LIKE operators will be optimized. (source: optoverview.html, checked-by: th3/cov1/where03.test, th3/cov1/where03b.test, matrix: context, detail)

R-40318-26723-38949-62709-27455-61275-20452-62962

  BLOB values (even serial types 12 and larger) sort last and in the order determined by memcmp(). (source: fileformat2.html, checked-by: th3/req1/fileformat05.test, matrix: context, detail)

R-40355-56314-02785-21892-27630-10277-00128-03405

  When the callback is invoked, the first argument passed is a copy of the second argument to sqlite3_collation_needed() or sqlite3_collation_needed16(). The second argument is the database connection. The third argument is one of SQLITE_UTF8, SQLITE_UTF16BE, or SQLITE_UTF16LE, indicating the most desirable form of the collation sequence function required. The fourth parameter is the name of the required collation sequence. (source: c3ref/collation_needed.html, matrix: context, detail)

R-40361-64162-53893-43519-22401-31532-23705-29102

  Autocommit mode is on by default. (source: c3ref/get_autocommit.html, matrix: context, detail)

R-40373-33294-50231-39382-53294-24447-44855-24711

  SQLite makes a copy of the sqlite3_pcache_methods2 object. (source: c3ref/c_config_covering_index_scan.html, checked-by: th3/th3pcache.c, matrix: context, detail)

R-40383-06816-10485-50532-53566-05766-27128-48276

  The sqlite3_compileoption_used() function returns 0 or 1 indicating whether the specified option was defined at compile time. (source: c3ref/compileoption_get.html, checked-by: th3/cov1/ctime01.test, matrix: context, detail)

R-40390-09039-54106-21086-56168-24022-18205-41129

  These functions add, remove, or modify a collation associated with the database connection specified as the first argument. (source: c3ref/create_collation.html, checked-by: th3/req1/createcoll01.test, matrix: context, detail)

R-40460-39888-52540-38305-24333-10191-58577-29064

  A call to sqlite3_snapshot_open(D,S,P) will fail if the database connection D does not know that the database file for schema S is in WAL mode. A database connection might not know that the database file is in WAL mode if there has been no prior I/O on that database connection, or if the database entered WAL mode after the most recent I/O on the database connection. (source: c3ref/snapshot_open.html, matrix: context, detail)

R-40463-24712-34752-07038-54630-26227-29776-31431

  SQLITE_DBSTATUS_CACHE_MISS This parameter returns the number of pager cache misses that have occurred. (source: c3ref/c_dbstatus_options.html, matrix: context, detail)

R-40472-60438-03331-36186-60982-36973-59940-12981

  Columns that do not appear in the list of assignments are left unmodified. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-40482-20265-47732-31040-18704-35090-36000-12311

  The third column is the name of the table that is referred to. (source: pragma.html, checked-by: tcl/fkey5.test, th3/cov1/fkey23.test, matrix: context, detail)

R-40490-08523-63255-17373-12821-43863-07916-14588

  The sqlite3_str_length(X) method returns the current length, in bytes, of the dynamic string under construction in sqlite3_str object X. (source: c3ref/str_errcode.html, matrix: context, detail)

R-40502-12262-42819-60807-51435-51687-55446-47633

  If SQLITE_IOERR_XXX, SQLITE_NOMEM, or SQLITE_READONLY is returned, then there is no point in retrying the call to sqlite3_backup_step(). These errors are considered fatal. (source: c3ref/backup_finish.html, matrix: context, detail)

R-40541-16535-13486-20808-32771-40014-56894-53399

  This pragma returns the names of compile-time options used when building SQLite, one option per row. (source: pragma.html, checked-by: th3/req1/pragma13.test, matrix: context, detail)

R-40541-54897-33607-37262-17474-57290-09312-25628

  For the purposes of this API, a transaction is said to have been rolled back if an explicit "ROLLBACK" statement is executed, or an error or constraint causes an implicit rollback to occur. (source: c3ref/commit_hook.html, matrix: context, detail)

R-40564-64233-62609-55740-51668-02472-22352-36166

  No affinities are applied to any values as the result of a GROUP by clause. (source: datatype3.html, checked-by: th3/req1/datatype3_07.test, matrix: context, detail)

R-40597-22164-08785-17254-28069-60974-16591-44156

  The result of avg() is NULL if and only if there are no non-NULL inputs. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-40598-36595-56877-54174-64761-50948-11892-46483

  For each affected row, the named columns are set to the values found by evaluating the corresponding scalar expressions. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-40602-24566-60725-06279-09295-25327-26293-64572

  The schema-names 'main' and 'temp' refer to the main database and the database used for temporary tables. (source: lang_attach.html, checked-by: th3/req1/attach01.test, matrix: context, detail)

R-40630-02268-40288-03121-46855-38283-56768-00095

  If used within a SELECT that uses the "query by rowid" or "linear scan" strategies, then the snippet and offsets both return an empty string, and the matchinfo function returns a blob value zero bytes in size. (source: fts3.html, checked-by: tcl/fts3snippet.test, matrix: context, detail)

R-40641-22898-05833-02924-09975-01966-21919-53888

  The name of the column being indexed, or NULL if the index-column is the rowid of the table being indexed or an expression. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15x.test, matrix: context, detail)

R-40676-08516-16968-48123-39083-47673-52246-45004

  Inserts into WITHOUT ROWID tables are not recorded. (source: c3ref/last_insert_rowid.html, checked-by: th3/cov1/withoutrowid01.test, matrix: context, detail)

R-40682-45237-21409-00125-10329-07254-01818-58163

  As with the LIKE operator, the sqlite3_strlike(P,X,E) function is case insensitive - equivalent upper and lower case ASCII characters match one another. (source: c3ref/strlike.html, matrix: context, detail)

R-40729-56447-32753-40044-54162-25797-56212-55799

  Duplicate rows are removed from the results of INTERSECT and EXCEPT operators before the result set is returned. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-40745-32628-44360-54833-19873-28133-21062-02308

  However xMutexAlloc() may use SQLite memory allocation for a fast or recursive mutex. (source: c3ref/mutex_methods.html, matrix: context, detail)

R-40779-12285-51949-10144-43789-15381-05710-53892

  The first column is usually 0 but will be 1 if a RESTART or FULL or TRUNCATE checkpoint was blocked from completing, for example because another thread or process was actively using the database. (source: pragma.html, checked-by: th3/req1/pragma29.test, matrix: context, detail)

R-40798-35269-51954-12592-52405-01125-52034-02657

  Warning: misuse of this pragma can easily result in a corrupt database file. (source: pragma.html, checked-by: th3/req1/pragma30.test, matrix: context, detail)

R-40812-03570-58737-26450-04451-50021-12578-43661

  If no negative ROWID values are inserted explicitly, then automatically generated ROWID values will always be greater than zero. (source: autoinc.html, checked-by: src/vdbe.c, th3/cov1/vdbe23.test, matrix: context, detail)

R-40858-03003-08666-12472-31051-52566-61637-28947

  The fourth parameter to sqlite3_open_v2() is the name of the sqlite3_vfs object that defines the operating system interface that the new database connection should use. (source: c3ref/open.html, matrix: context, detail)

R-40874-07817-64808-61349-14164-22324-19538-25900

  In those routines that have a fourth argument, its value is the number of bytes in the parameter. To be clear: the value is the number of bytes in the value, not the number of characters. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-40892-13487-22632-16999-05016-52970-57179-01588

  An attempt to execute COMMIT might also result in an SQLITE_BUSY return code if an another thread or process has an open read connection. (source: lang_transaction.html, matrix: context, detail)

R-40912-17796-52858-33167-65116-31464-10604-52940

  Only an effective call of sqlite3_initialize() does any initialization. All other calls are harmless no-ops. (source: c3ref/initialize.html, matrix: context, detail)

R-40921-47946-20610-64910-18137-09746-01061-06361

  Another limitation of the histogram data is that it only applies to the left-most column on an index. (source: optoverview.html, matrix: context, detail)

R-40949-19585-05483-44375-20599-28045-28956-60873

  The fifth byte through the last usable byte are used to hold overflow content. (source: fileformat2.html, matrix: context, detail)

R-40949-22892-24068-33862-21333-32882-13770-09171

  The third integer is the number number of rows in the index that have the same value for the first two columns. (source: fileformat2.html, matrix: context, detail)

R-40975-20399-26495-18141-01831-14670-61544-00270

  If N is a negative number or something other than an integer value, then the pragma behaves as if the N argument was omitted. (source: pragma.html, matrix: context, detail)

R-40979-20331-65132-35120-47137-32709-07069-35596

  The SQLITE_DBCONFIG_ENABLE_QPSG option activates or deactivates the query planner stability guarantee (QPSG). When the QPSG is active, a single SQL query statement will always use the same algorithm regardless of values of bound parameters. (source: c3ref/c_dbconfig_defensive.html, checked-by: th3/cov1/qpsg01.test, th3/cov1/qpsg02.test, matrix: context, detail)

R-41004-58299-09133-05321-11963-32065-55865-10893

  The parameter P is passed through as the only parameter to the callback function X. (source: c3ref/progress_handler.html, checked-by: th3/req1/progress01.test, matrix: context, detail)

R-41025-56247-28274-26451-36451-44569-58431-11817

  Otherwise, the affinity is NUMERIC. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-41040-47502-07753-07518-58818-60449-29305-32446

  Autocheckpointing is enabled by default with an interval of 1000 or SQLITE_DEFAULT_WAL_AUTOCHECKPOINT. (source: pragma.html, matrix: context, detail)

R-41050-23052-29095-23436-46083-00331-23025-31647

  The first (query) form will return the synchronous setting as an integer. (source: pragma.html, matrix: context, detail)

R-41051-26626-32657-27004-34667-60114-13297-41837

  In more recent versions of SQLite, the ROLLBACK will proceed and pending statements will often be aborted, causing them to return an SQLITE_ABORT or SQLITE_ABORT_ROLLBACK error. (source: lang_transaction.html, matrix: context, detail)

R-41062-34431-24503-40012-23472-27163-07838-01416

  Parent and child keys must have the same cardinality. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys11.test, matrix: context, detail)

R-41103-34171-63381-59793-03319-04831-02307-39561

  If an error occurs while evaluating the SQL statements passed into sqlite3_exec(), then execution of the current statement stops and subsequent statements are skipped. (source: c3ref/exec.html, checked-by: th3/req1/exec01.test, matrix: context, detail)

R-41129-04825-55392-49717-44063-44499-04205-01374

  PRAGMA schema.secure_delete; PRAGMA schema.secure_delete = boolean|FAST Query or change the secure-delete setting. (source: pragma.html, checked-by: th3/cov1/pragma20.test, th3/cov1/pragma21.test, matrix: context, detail)

R-41132-04368-54784-12197-53730-05205-63815-61247

  Comments do not nest. (source: lang_comment.html, checked-by: th3/req1/comment01.test, matrix: context, detail)

R-41134-27890-19387-23998-27179-40954-57167-14106

  When you change the cache size using the cache_size pragma, the change only endures for the current session. (source: pragma.html, checked-by: th3/req1/pragma09.test, matrix: context, detail)

R-41146-12423-20310-63569-37846-41405-23151-59633

  SQLite attempts to transform the result of the generating expression into that datatype using the same affinity rules as for ordinary columns. (source: gencol.html, matrix: context, detail)

R-41161-50390-16822-36301-43678-58977-40657-30512

  If this parameter is -1, then the SQL function or aggregate may take any number of arguments between 0 and the limit set by sqlite3_limit(SQLITE_LIMIT_FUNCTION_ARG). (source: c3ref/create_function.html, checked-by: th3/req1/createfunc02.test, matrix: context, detail)

R-41183-50724-01751-26515-20432-60241-55721-62765

  The returned string is valid until the prepared statement is destroyed using sqlite3_finalize() or until the statement is automatically reprepared by the first call to sqlite3_step() for a particular run or until the same information is requested again in a different encoding. (source: c3ref/column_database_name.html, matrix: context, detail)

R-41220-51800-40113-04594-39111-44246-00162-60024

  This option sets the threading mode to Serialized. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, matrix: context, detail)

R-41246-06467-15697-52258-02048-61500-49466-56999

  The multi-argument max() function searches its arguments from left to right for an argument that defines a collating function and uses that collating function for all string comparisons. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-41299-52117-33031-60403-48286-21515-32111-27387

  If no error (SQLITE_BUSY or otherwise) is encountered while processing the attached databases, SQLITE_OK is returned. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, matrix: context, detail)

R-41332-12947-25232-24036-57064-07925-19702-44154

  Page 1 of a database file is the root page of a table b-tree that holds a special table named "sqlite_schema". (source: fileformat2.html, matrix: context, detail)

R-41361-32452-08540-06268-11369-38463-57924-37597

  The "pk" column in the result set is zero for columns that are not part of the primary key, and is the index of the column in the primary key for columns that are part of the primary key. (source: pragma.html, matrix: context, detail)

R-41381-35999-48332-52888-17487-39096-22671-62741

  If the third parameter to sqlite3_result_error() or sqlite3_result_error16() is non-negative then SQLite takes that many bytes (not characters) from the 2nd parameter as the error message. (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-41411-18837-33884-40601-61407-45364-54319-00196

  If the keywords PRIMARY KEY are added to a column definition, then the primary key for the table consists of that single column. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-41417-64456-42642-02544-40631-11378-24048-47614

  The WAL journaling mode uses a write-ahead log instead of a rollback journal to implement transactions. (source: pragma.html, checked-by: th3/req1/pragma24.test, matrix: context, detail)

R-41435-15049-20553-57196-01541-07225-45251-60631

  When temp_store is DEFAULT (0), the compile-time C preprocessor macro SQLITE_TEMP_STORE is used to determine where temporary tables and indices are stored. (source: pragma.html, matrix: context, detail)

R-41438-32603-17646-55492-38195-10504-33475-54382

  This columns is NULL if the column is the rowid or an expression. (source: pragma.html, matrix: context, detail)

R-41438-41245-47933-47570-18885-03208-62677-50789

  This can result in a table that contains data that is in violation of the CHECK constraint. (source: lang_altertable.html, checked-by: th3/req1/altertable01.test, matrix: context, detail)

R-41444-49665-13532-29136-56203-03908-49213-31629

  Other integer type names like "INT" or "BIGINT" or "SHORT INTEGER" or "UNSIGNED INTEGER" causes the primary key column to behave as an ordinary table column with integer affinity and a unique index, not as an alias for the rowid. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-41470-32236-05158-07794-46704-63040-13347-49238

  The aConstraint[] array only reports WHERE clause terms that are relevant to the particular virtual table being queried. (source: c3ref/index_info.html, matrix: context, detail)

R-41499-47058-04189-19670-59283-14956-02456-13763

  The leftmost column is number 0. (source: c3ref/column_name.html, matrix: context, detail)

R-41519-43313-49943-13325-32316-49786-47625-55988

  If N is out of range, sqlite3_compileoption_get() returns a NULL pointer. (source: c3ref/compileoption_get.html, checked-by: th3/cov1/ctime01.test, matrix: context, detail)

R-41531-51083-45051-37425-19674-01432-09098-10672

  Every new database connection defaults to having the auto-checkpoint enabled with a threshold of 1000 or SQLITE_DEFAULT_WAL_AUTOCHECKPOINT pages. (source: c3ref/wal_autocheckpoint.html, checked-by: tcl/e_walauto.test, matrix: context, detail)

R-41548-42669-47727-24774-07572-16450-39601-00236

  However, using auto_vacuum can lead to extra database file fragmentation. (source: lang_vacuum.html, matrix: context, detail)

R-41613-20553-43985-38699-33284-42636-36954-15318

  The sqlite3_wal_checkpoint(D,X) is equivalent to sqlite3_wal_checkpoint_v2(D,X,SQLITE_CHECKPOINT_PASSIVE,0,0). (source: c3ref/wal_checkpoint.html, checked-by: src/main.c, tcl/e_walckpt.test, th3/req1/checkpoint01.test, matrix: context, detail)

R-41621-22586-12548-60539-44942-45128-18412-02664

  As an example, consider the following SQL: CREATE TABLE ex25(a,b,c,d,e,PRIMARY KEY(d,c,a)) WITHOUT rowid; CREATE INDEX ex25ce ON ex25(c,e); CREATE INDEX ex25acde ON ex25(a,c,d,e); CREATE INDEX ex25ae ON ex25(a COLLATE nocase,e); Each row in the ex25ce index is a record with these columns: c, e, d, a. The first two columns are the columns being indexed, c and e. The remaining columns are the primary key of the corresponding table row. Normally, the primary key would be columns d, c, and a, but because column c already appears earlier in the index, it is omitted from the key suffix. (source: fileformat2.html, checked-by: th3/req1/fileformat04.test, matrix: context, detail)

R-41640-10889-37891-53855-47925-09375-30702-30304

  The filename returned by this function is the output of the xFullPathname method of the VFS. (source: c3ref/db_filename.html, checked-by: th3/cov1/attach04.test, matrix: context, detail)

R-41650-20872-58221-16141-48271-22021-38019-62849

  No regexp() user function is defined by default and so use of the REGEXP operator will normally result in an error message. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-41653-15278-35465-27999-04338-56048-26181-52623

  The foreign_key_check pragma checks the database, or the table called "table-name", for foreign key constraints that are violated. The foreign_key_check pragma returns one row output for each foreign key violation. (source: pragma.html, checked-by: tcl/fkey5.test, th3/cov1/fkey23.test, matrix: context, detail)

R-41671-45444-43968-05404-57044-18687-11501-21021

  The format string supports the most common substitutions found in the strftime() function from the standard C library plus two new substitutions, %f and %J. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-41719-33203-52232-61281-45744-11728-08852-57887

  The sqlite_stat4.nLt column holds a list of N integers where the K-th integer is the approximate number of entries in the index whose K left-most columns are collectively less than the K left-most columns of the sample. (source: fileformat2.html, matrix: context, detail)

R-41719-58677-16610-62099-11420-34570-29798-59249

  Any SQL statement variables that had values bound to them using the sqlite3_bind_*() API retain their values. (source: c3ref/reset.html, checked-by: th3/req1/clearbind01.test, matrix: context, detail)

R-41778-26203-39333-15071-00697-32758-59991-57440

  SQLITE_LIMIT_ATTACHED The maximum number of attached databases. (source: c3ref/c_limit_attached.html, checked-by: tcl/sqllimits1.test, th3/req1/limit02.test, matrix: context, detail)

R-41784-13339-39195-36557-35011-50589-62735-17221

  Tip: If the command "PRAGMA foreign_keys" returns no data instead of a single row containing "0" or "1", then the version of SQLite you are using does not support foreign keys (either because it is older than 3.6.19 or because it was compiled with SQLITE_OMIT_FOREIGN_KEY or SQLITE_OMIT_TRIGGER defined). (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys05.test, matrix: context, detail)

R-41795-40039-43827-16838-58364-41518-15809-62342

  These three ways of committing a transaction correspond to the DELETE, TRUNCATE, and PERSIST settings, respectively, of the journal_mode pragma. (source: fileformat2.html, matrix: context, detail)

R-41796-02552-46731-27208-23017-23175-41935-19333

  The columns referenced in the WHERE clause of a partial index can be any of the columns in the table, not just columns that happen to be indexed. (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-41837-07814-38752-23130-22847-42887-22849-22070

  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. (source: c3ref/interrupt.html, matrix: context, detail)

R-41898-15939-51576-48964-07633-48670-39877-19524

  The sqlite3_value_text16be() and sqlite3_value_text16le() interfaces extract UTF-16 strings as big-endian and little-endian respectively. (source: c3ref/value_blob.html, checked-by: th3/req1/value02.test, th3/req1/value03.test, matrix: context, detail)

R-41914-07968-11618-38374-65120-62637-18868-18201

  Pragma integrity_check will return at most N errors before the analysis quits, with N defaulting to 100. (source: pragma.html, checked-by: th3/req1/integrityck01.test, matrix: context, detail)

R-41921-05214-15323-21890-34251-22434-34985-19293

  The likelihood(X,Y) function returns argument X unchanged. (source: lang_corefunc.html, checked-by: tcl/func3.test, matrix: context, detail)

R-41959-38737-02891-22407-44809-18467-12520-20988

  Otherwise, if this function is passed a valid open blob handle, the values returned by the sqlite3_errcode() and sqlite3_errmsg() functions are set before returning. (source: c3ref/blob_close.html, checked-by: tcl/e_blobclose.test, matrix: context, detail)

R-41964-12887-53267-54582-29615-62168-19001-17157

  Create a partial index by adding a WHERE clause to the end of an ordinary CREATE INDEX statement. (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-41969-26805-23474-17997-34431-40001-19681-04714

  If the application crashes in the middle of a transaction when the OFF journaling mode is set, then the database file will very likely go corrupt. (source: pragma.html, checked-by: th3/req1/pragma25.test, matrix: context, detail)

R-41970-42722-40683-07259-21331-17616-49232-32709

  This pragma queries or sets the write-ahead log auto-checkpoint interval. (source: pragma.html, matrix: context, detail)

R-41999-52998-34503-61762-41637-15807-51046-53346

  The definition of LIKE pattern matching used in sqlite3_strlike(P,X,E) is the same as for the "X LIKE P ESCAPE E" operator in the SQL dialect understood by SQLite. (source: c3ref/strlike.html, matrix: context, detail)

R-42015-34236-37938-25676-18354-23739-35368-22470

  The sqlite3_value_frombind(X) interface returns non-zero if the value X originated from one of the sqlite3_bind() interfaces. (source: c3ref/value_blob.html, matrix: context, detail)

R-42024-63312-61234-05516-46921-52814-12711-65369

  RESTART blocks concurrent writers while it is running, but allowed readers to proceed. (source: pragma.html, matrix: context, detail)

R-42037-15614-06254-40391-55101-11302-16506-13295

  The DROP INDEX statement removes an index added with the CREATE INDEX statement. (source: lang_dropindex.html, matrix: context, detail)

R-42037-37826-09680-08362-57128-46753-57920-34709

  The default match() function implementation raises an exception and is not really useful for anything. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-42043-38025-54022-62680-37100-38992-27371-65527

  The C argument is a copy of the context pointer passed in as the fourth argument to sqlite3_trace_v2(). (source: c3ref/c_trace.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-42049-24001-08911-07479-20981-30990-05153-14571

  A subsequent call to xRollbackTo(X,R) means that the state of the virtual table should return to what it was when xSavepoint(X,R) was last called. (source: vtab.html, matrix: context, detail)

R-42053-10634-10178-57084-38599-37696-52821-41019

  Setting the heap limits to zero disables the heap limiter mechanism. (source: c3ref/hard_heap_limit64.html, checked-by: th3/req1/softheaplimit02.test, matrix: context, detail)

R-42059-47211-64082-08084-07412-31027-38938-26624

  If the argument N is positive then the suggested cache size is set to N. (source: pragma.html, checked-by: src/pcache.c, tcl/pragma.test, matrix: context, detail)

R-42089-41020-28633-04847-35892-58431-48484-20358

  If no transaction is active (other than the implied transaction that is created on every command) then the ROLLBACK resolution algorithm works the same as the ABORT algorithm. (source: lang_conflict.html, checked-by: th3/req1/conflict01.test, matrix: context, detail)

R-42106-50385-56441-15914-62934-29085-54052-00189

  Hexadecimal integer literals are interpreted as 64-bit two's-complement integers and are thus limited to sixteen significant digits of precision. (source: lang_expr.html, checked-by: th3/req1/expr01.test, matrix: context, detail)

R-42136-40354-42275-03158-50011-22774-46135-65161

  The sqlite3_update_hook(D,C,P) function returns the P argument from the previous call on the same database connection D, or NULL for the first call on D. (source: c3ref/update_hook.html, checked-by: th3/cov1/main15.test, matrix: context, detail)

R-42144-12179-61067-60521-47776-40756-33656-09079

  The third parameter to sqlite3_preupdate_hook() is passed through as the first parameter to callbacks. (source: c3ref/preupdate_count.html, matrix: context, detail)

R-42164-62580-24188-26678-17421-37500-23009-49649

  In addition to the tables, indexes, views, and triggers created by the application and/or the developer using CREATE statements SQL, the sqlite_schema table may contain zero or more entries for internal schema objects that are created by SQLite for its own internal use. (source: fileformat2.html, matrix: context, detail)

R-42168-23975-08359-11434-07624-62565-20004-56753

  Built-in functions may be overloaded by new application-defined functions. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc01.test, th3/req1/createfunc05.test, matrix: context, detail)

R-42196-45693-64496-49282-35220-26786-47093-56372

  The collating function callback is invoked with a copy of the pArg application data pointer and with two strings in the encoding specified by the eTextRep argument. (source: c3ref/create_collation.html, checked-by: th3/req1/createcoll01.test, matrix: context, detail)

R-42199-02842-23017-63561-09592-29870-10052-07819

  After a complete checkpoint, if no other connections are in transactions that use the WAL, then subsequent write transactions can overwrite the WAL file from the beginning. (source: fileformat2.html, matrix: context, detail)

R-42207-04347-65478-63733-46803-43649-38770-36227

  In other words, if the pattern is like this: column LIKE x% column GLOB x* then the original LIKE or GLOB tests are disabled when the virtual terms constrain an index because in that case we know that all of the rows selected by the index will pass the LIKE or GLOB test. (source: optoverview.html, matrix: context, detail)

R-42243-62806-04242-02019-64725-25394-01618-23361

  The call to xRollbackTo(X,R) will invalidate all savepoints with N>R; none of the invalided savepoints will be rolled back or released without first being reinitialized by a call to xSavepoint(). (source: vtab.html, matrix: context, detail)

R-42264-30503-59734-27182-09604-54439-24686-19729

  The SQLITE_MAX_TRIGGER_DEPTH and SQLITE_LIMIT_TRIGGER_DEPTH settings determine the maximum allowable depth of trigger program recursion. For the purposes of these limits, foreign key actions are considered trigger programs. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys24.test, matrix: context, detail)

R-42297-37851-22979-34861-45337-51350-47253-02521

  The parameter name must be given in UTF-8 even if the original statement was prepared from UTF-16 text using sqlite3_prepare16_v2() or sqlite3_prepare16_v3(). (source: c3ref/bind_parameter_index.html, checked-by: th3/req1/bind03.test, matrix: context, detail)

R-42315-53658-63706-40087-63101-17320-03632-52756

  This routine sets a busy handler that sleeps for a specified amount of time when a table is locked. (source: c3ref/busy_timeout.html, checked-by: th3/cov1/main21.test, matrix: context, detail)

R-42316-09582-63519-16650-16131-27933-31807-16513

  If there is no explicit DEFAULT clause attached to a column definition, then the default value of the column is NULL. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-42333-10376-25894-44230-56156-46004-61943-25934

  The incremental_vacuum pragma has no effect if the database is not in auto_vacuum=incremental mode or if there are no pages on the freelist. (source: pragma.html, checked-by: th3/req1/pragma21.test, matrix: context, detail)

R-42353-38420-62893-47772-45609-25296-37398-15241

  If the busy callback returns 0, then no additional attempts are made to access the database and SQLITE_BUSY is returned to the application. (source: c3ref/busy_handler.html, checked-by: th3/req1/busy01.test, matrix: context, detail)

R-42363-29104-39854-61131-26966-39533-29446-04460

  SQLITE_LIMIT_VARIABLE_NUMBER The maximum index number of any parameter in an SQL statement. (source: c3ref/c_limit_attached.html, checked-by: tcl/sqllimits1.test, th3/req1/limit02.test, matrix: context, detail)

R-42393-33810-20509-47326-15941-02937-41283-04621

  If Z is not initially a string, it is cast to a UTF-8 string prior to processing. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-42401-19613-44791-55246-19167-45900-28933-57755

  If offset iOffset is less than N bytes from the end of the BLOB, SQLITE_ERROR is returned and no data is read. (source: c3ref/blob_read.html, checked-by: th3/cov1/vdbeblob01.test, matrix: context, detail)

R-42412-59321-17229-61863-37154-26359-45547-07737

  Tip: If the application requires a stricter relationship between artist and track, where NULL values are not permitted in the trackartist column, simply add the appropriate "NOT NULL" constraint to the schema. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys02.test, matrix: context, detail)

R-42415-59396-18993-18875-54415-33588-07688-24488

  Or the pragma might run during sqlite3_step() just like normal SQL statements. (source: pragma.html, checked-by: th3/req1/pragma06.test, matrix: context, detail)

R-42420-56072-06217-40848-64970-52103-43558-36371

  The highwater mark associated with SQLITE_DBSTATUS_CACHE_HIT is always 0. (source: c3ref/c_dbstatus_options.html, checked-by: src/status.c, matrix: context, detail)

R-42475-05522-33974-48486-41062-27037-25414-59266

  SQLITE_DBSTATUS_STMT_USED This parameter returns the approximate number of bytes of heap and lookaside memory used by all prepared statements associated with the database connection. (source: c3ref/c_dbstatus_options.html, checked-by: th3/req1/dbstatus01.test, matrix: context, detail)

R-42511-39459-28264-29563-43720-13525-46264-32619

  PRIMARY KEY, UNIQUE and NOT NULL constraints may be explicitly assigned a default conflict resolution algorithm by including a conflict-clause in their definitions. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-42511-45809-64803-32183-55869-46108-05938-14656

  If the Y argument is omitted, trim(X) removes spaces from both ends of X. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-42531-52874-22459-56160-55887-19020-25957-01415

  If the join-operator is a "LEFT JOIN" or "LEFT OUTER JOIN", then after the ON or USING filtering clauses have been applied, an extra row is added to the output for each row in the original left-hand input dataset that corresponds to no rows at all in the composite dataset (if any). (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-42556-20460-59163-07637-16181-08925-43211-33857

  There can only be a single busy handler for a particular database connection at any given moment. If another busy handler was defined (using sqlite3_busy_handler()) prior to calling this routine, that other busy handler is cleared. (source: c3ref/busy_timeout.html, checked-by: th3/req1/busy01.test, matrix: context, detail)

R-42584-44456-56130-43487-49627-44255-00000-11489

  To always truncate rollback journals and WAL files to their minimum size, set the journal_size_limit to zero. (source: pragma.html, matrix: context, detail)

R-42620-22184-27875-60566-02937-27650-15183-08626

  If this means the parameter would be assigned a number greater than SQLITE_MAX_VARIABLE_NUMBER, it is an error. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-42639-56137-32346-60663-52828-48959-18769-50856

  Each entry in most SQLite tables (except for WITHOUT ROWID tables) has a unique 64-bit signed integer key called the "rowid". (source: c3ref/last_insert_rowid.html, checked-by: th3/cov1/withoutrowid01.test, matrix: context, detail)

R-42640-12758-34834-48042-16634-19699-19506-39894

  For example, if the internal representation is FLOAT and a text result is requested, sqlite3_snprintf() is used internally to perform the conversion automatically. (source: c3ref/column_blob.html, checked-by: th3/req1/column02.test, matrix: context, detail)

R-42648-01192-24711-57227-24478-04310-65154-26465

  Notice that the type VARCHAR contains the string "CHAR" and is thus assigned TEXT affinity. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-42657-00400-11552-47738-28049-57819-30867-53665

  If the integer at offset 52 is non-zero then it is the page number of the largest root page in the database file, the database file will contain ptrmap pages, and the mode must be either auto_vacuum or incremental_vacuum. (source: fileformat2.html, matrix: context, detail)

R-42660-47528-56905-42571-24684-45816-05890-54288

  A statement is judged to be complete if it ends with a semicolon token and is not a prefix of a well-formed CREATE TRIGGER statement. (source: c3ref/complete.html, checked-by: th3/cov1/complete01.test, matrix: context, detail)

R-42670-46183-00438-39556-01982-63614-08671-47686

  If the result is a numeric value then sqlite3_column_bytes16() uses sqlite3_snprintf() to convert that value to a UTF-16 string and returns the number of bytes in that string. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, matrix: context, detail)

R-42680-10017-09402-35540-35488-37864-08326-19321

  The first host parameter has an index of 1, not 0. (source: c3ref/bind_parameter_name.html, checked-by: th3/req1/bind04.test, matrix: context, detail)

R-42757-24221-43746-48434-02480-64556-26113-38051

  The second parameter szExtra is a number of bytes of extra storage associated with each page cache entry. (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-42776-35033-43191-08460-16792-47540-52989-38911

  If an SQL function is nearly deterministic (which is to say, if it only rarely changes, like sqlite_version()) and it is used in an index that becomes corrupt, the corruption can be fixed by running REINDEX. (source: deterministic.html, matrix: context, detail)

R-42790-23372-13524-47335-35146-00064-12684-28505

  The sqlite3_db_config() interface will return a non-zero error code if a discontinued or unsupported configuration option is invoked. (source: c3ref/c_dbconfig_defensive.html, checked-by: src/main.c, th3/req1/dbconfig01.test, matrix: context, detail)

R-42798-04097-62077-21747-11472-32542-49000-45202

  The leftmost SQL parameter has an index of 1. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-42811-40895-19437-55912-12563-37813-52753-07207

  The real tables underlying the view are not modified (except possibly explicitly, by a trigger program). (source: lang_createtrigger.html, matrix: context, detail)

R-42868-39706-29794-00885-30480-27776-00308-11610

  In other words, the filename will be an absolute pathname, even if the filename used to open the database originally was a URI or relative pathname. (source: c3ref/db_filename.html, checked-by: th3/cov1/attach04.test, matrix: context, detail)

R-42881-44982-56235-44486-35660-20338-31764-62780

  The name of the table to be modified in an UPDATE, DELETE, or INSERT statement must be an unqualified table name. In other words, one must use just "tablename" not "database.tablename" when specifying the table. (source: lang_createtrigger.html, matrix: context, detail)

R-42924-00638-21387-26968-40165-13268-56405-46606

  The current implementation only uses the lower 31 bits of the N value - higher order bits are silently ignored. Future versions of SQLite might begin using higher order bits. (source: pragma.html, matrix: context, detail)

R-42938-07030-34028-51732-04227-55156-04511-38808

  If this means the parameter number is greater than SQLITE_MAX_VARIABLE_NUMBER, it is an error. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-42967-40755-03922-54202-06529-32553-15493-34553

  Each term of aOrderBy records a column of the ORDER BY clause. (source: c3ref/index_info.html, matrix: context, detail)

R-42990-60904-19508-54128-30417-12976-04052-35475

  The void pointer that is the second argument to SQLITE_CONFIG_LOG is passed through as the first parameter to the application-defined logger function whenever that function is invoked. (source: c3ref/c_config_covering_index_scan.html, checked-by: th3/cov1/log01.test, matrix: context, detail)

R-42999-28458-07893-62789-61417-10043-42121-06014

  The sqlite3_strglob(P,X) interface returns zero if and only if string X matches the GLOB pattern P. (source: c3ref/strglob.html, checked-by: th3/cov1/glob01.test, matrix: context, detail)

R-43036-46756-34715-46322-50618-48036-10639-21553

  If "ro" is specified, then the database is opened for read-only access, just as if the SQLITE_OPEN_READONLY flag had been set in the third argument to sqlite3_open_v2(). (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-43040-62530-50072-37699-18765-48451-48404-22344

  The text of the child CREATE TABLE statement or statements stored in the sqlite_schema table are modified to reflect the new parent table name. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys21.test, matrix: context, detail)

R-43042-22504-56439-09446-23422-01554-61314-54021

  No error messages are generated if an unknown pragma is issued. (source: pragma.html, checked-by: th3/req1/pragma03.test, matrix: context, detail)

R-43042-25245-03668-43553-25952-57766-42536-13209

  If the mode option is set to "memory" then a pure in-memory database that never reads or writes from disk is used. (source: c3ref/open.html, checked-by: th3/cov1/sharedcache03.test, matrix: context, detail)

R-43054-54832-47023-01210-19130-31903-59197-27649

  The "SET DEFAULT" actions are similar to "SET NULL", except that each of the child key columns is set to contain the columns default value instead of NULL. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys16.test, matrix: context, detail)

R-43058-16959-43788-45364-39792-51782-37660-38644

  The amount of space allocated by sqlite3_aggregate_context(C,N) is determined by the N parameter on first successful call. Changing the value of N in any subsequent call to sqlite3_aggregate_context() within the same aggregate function instance will not resize the memory allocation. (source: c3ref/aggregate_context.html, checked-by: th3/req1/aggcntx01.test, matrix: context, detail)

R-43060-16536-10698-60756-41285-15374-61767-21299

  The profile callback time is in units of nanoseconds, however the current implementation is only capable of millisecond resolution so the six least significant digits in the time are meaningless. (source: c3ref/profile.html, checked-by: th3/cov1/main16.test, matrix: context, detail)

R-43064-28843-60545-11344-25729-47633-22876-03755

  For each table read by the query, the output of EXPLAIN QUERY PLAN includes a record for which the value in the "detail" column begins with either "SCAN" or "SEARCH". (source: eqp.html, matrix: context, detail)

R-43076-48302-39117-06885-40232-30421-32965-23901

  The sqlite3_extended_result_codes() routine enables or disables the extended result codes feature of SQLite. (source: c3ref/extended_result_codes.html, checked-by: th3/cov1/main06.test, matrix: context, detail)

R-43156-15813-49564-25791-10742-05152-48657-05796

  The SQLITE_FCNTL_BUSYHANDLER file-control may be invoked by SQLite on the database file handle shortly after it is opened in order to provide a custom VFS with access to the connection's busy-handler callback. (source: c3ref/c_fcntl_begin_atomic_write.html, matrix: context, detail)

R-43164-44276-05448-08571-37890-01247-49300-00926

  If there is no prefix that can be interpreted as an integer number, the result of the conversion is 0. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-43172-64399-63789-05300-15599-35833-47014-02400

  The 4-byte big-endian integer at offset 68 is an "Application ID" that can be set by the PRAGMA application_id command in order to identify the database as belonging to or associated with a particular application. (source: fileformat2.html, checked-by: th3/req1/fileformat03.test, matrix: context, detail)

R-43190-62442-20010-51227-34344-19852-62865-03762

  In other words, the schema-name. prefix on the table name of the UPDATE is not allowed within triggers. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-43217-29904-47266-41497-40047-57138-51637-14307

  This routine returns the N-th compile-time option used to build SQLite or NULL if N is out of range. (source: lang_corefunc.html, checked-by: th3/cov1/ctime02.test, matrix: context, detail)

R-43230-40115-50366-23982-20450-64068-63336-08552

  Any process or thread can select READ UNCOMMITTED isolation, but SERIALIZABLE will still be used except between connections that share a common page and schema cache. (source: pragma.html, matrix: context, detail)

R-43237-50879-06987-12679-64583-33041-22126-56366

  If the database schema changes, instead of returning SQLITE_SCHEMA as it always used to do, sqlite3_step() will automatically recompile the SQL statement and try to run it again. (source: c3ref/prepare.html, checked-by: th3/req1/prepare02.test, matrix: context, detail)

R-43249-19882-52899-37517-44560-32908-46536-34852

  The third through sixth parameters to the callback are either NULL pointers or zero-terminated strings that contain additional details about the action to be authorized. (source: c3ref/set_authorizer.html, checked-by: src/auth.c, th3/cov1/auth05.test, matrix: context, detail)

R-43263-13491-37815-28347-01820-41692-00359-07852

  The total number of bytes in all fragments is stored in the fifth field of the b-tree page header. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-43273-35828-43292-36541-60340-59124-40866-23243

  Because the source database is not locked between calls to sqlite3_backup_step(), the source database may be modified mid-way through the backup process. (source: c3ref/backup_finish.html, matrix: context, detail)

R-43309-20049-45767-17244-13943-35472-42649-06268

  If there is no INTEGER PRIMARY KEY column, then the outputs for the rowid are set as follows: data type: "INTEGER" collation sequence: "BINARY" not null: 0 primary key: 1 auto increment: 0 (source: c3ref/table_column_metadata.html, checked-by: th3/cov1/metadata01.test, matrix: context, detail)

R-43310-35438-04399-12485-38547-48138-39815-28430

  The ORDER BY and LIMIT clauses on UPDATE and DELETE statements are not supported. ORDER BY and LIMIT are not normally supported for UPDATE or DELETE in any context but can be enabled for top-level statements using the SQLITE_ENABLE_UPDATE_DELETE_LIMIT compile-time option. However, that compile-time option only applies to top-level UPDATE and DELETE statements, not UPDATE and DELETE statements within triggers. (source: lang_createtrigger.html, matrix: context, detail)

R-43316-37308-43115-39313-41984-23156-09755-42929

  A value of 2 (0x02) means the page is an interior index b-tree page. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-43328-56724-38269-63059-47788-20047-48832-13506

  If a column has the type INTEGER PRIMARY KEY AUTOINCREMENT then a slightly different ROWID selection algorithm is used. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-43340-55464-08586-38170-34053-21521-23708-51540

  The database header also stores the page number of the first freelist trunk page as a 4-byte big-endian integer at an offset of 32 from the beginning of the file. (source: fileformat2.html, matrix: context, detail)

R-43363-59092-12659-08651-39134-62372-15667-15588

  If aConstraintUsage[].omit is true, then the constraint is assumed to be fully handled by the virtual table and might not be checked again by the byte code. (source: c3ref/index_info.html, matrix: context, detail)

R-43382-54865-31574-52044-42032-61533-34154-44077

  Each SQL index, whether explicitly declared via a CREATE INDEX statement or implied by a UNIQUE or PRIMARY KEY constraint, corresponds to an index b-tree in the database file. (source: fileformat2.html, matrix: context, detail)

R-43399-09409-02985-19756-28234-54022-20282-22241

  This means that if the changes() SQL function (or similar) is used by the first INSERT, UPDATE or DELETE statement within a trigger, it returns the value as set when the calling statement began executing. (source: c3ref/changes.html, checked-by: tcl/e_changes.test, matrix: context, detail)

R-43412-05248-04352-15247-64896-14746-56138-24199

  SQLITE_DBSTATUS_LOOKASIDE_USED This parameter returns the number of lookaside memory slots currently checked out. (source: c3ref/c_dbstatus_options.html, checked-by: th3/req1/dbstatus01.test, matrix: context, detail)

R-43415-05262-05879-65095-11903-46844-51636-40644

  The filename argument is interpreted as UTF-8 for sqlite3_open() and sqlite3_open_v2() and as UTF-16 in the native byte order for sqlite3_open16(). (source: c3ref/open.html, checked-by: th3/req1/autoext01.test, matrix: context, detail)

R-43433-49136-61285-59919-49849-25550-47556-02276

  Transactions can be DEFERRED, IMMEDIATE, or EXCLUSIVE. (source: lang_transaction.html, matrix: context, detail)

R-43442-30789-40705-27465-13407-54814-56874-21617

  SQLITE_STATUS_SCRATCH_OVERFLOW No longer used. SQLITE_STATUS_SCRATCH_SIZE No longer used. SQLITE_STATUS_PARSER_STACK The *pHighwater parameter records the deepest parser stack. The *pCurrent value is undefined. The *pHighwater value is only meaningful if SQLite is compiled with YYTRACKMAXSTACKDEPTH. (source: c3ref/c_status_malloc_count.html, matrix: context, detail)

R-43443-20296-62064-61017-62025-48147-54408-20485

  SQLITE_PREPARE_PERSISTENT The SQLITE_PREPARE_PERSISTENT flag is a hint to the query planner that the prepared statement will be retained for a long time and probably reused many times. (source: c3ref/c_prepare_normalize.html, matrix: context, detail)

R-43448-12354-12620-62746-36446-48855-45456-57112

  When there are attached databases and no database is specified in the pragma, all databases have their secure-delete setting altered. (source: pragma.html, checked-by: th3/cov1/pragma20.test, th3/cov1/pragma21.test, matrix: context, detail)

R-43455-30330-13340-63618-42639-11266-34972-33026

  The main and temp databases cannot be attached or detached. (source: lang_attach.html, checked-by: th3/req1/attach01.test, matrix: context, detail)

R-43464-09689-21831-49515-17205-20394-62676-59001

  The likely(X) function is a no-op that the code generator optimizes away so that it consumes no CPU cycles at run-time (that is, during calls to sqlite3_step()). (source: lang_corefunc.html, checked-by: tcl/func3.test, matrix: context, detail)

R-43475-58499-15568-06638-27533-08364-56193-27126

  SQLite avoids reading or writing freelist leaf pages in order to reduce disk I/O. (source: fileformat2.html, matrix: context, detail)

R-43482-09713-62461-41415-00231-20987-55224-61145

  In this mode the VACUUM command can be used to rebuild the entire database file and thus reclaim unused disk space. (source: pragma.html, checked-by: th3/req1/pragma07.test, matrix: context, detail)

R-43492-30972-07405-10322-20447-24571-17673-28262

  Similarly, index columns will not normally be used (for indexing purposes) if they are to the right of a column that is constrained only by inequalities. (source: optoverview.html, matrix: context, detail)

R-43520-58856-06723-52893-53353-04776-19721-26256

  The MEMORY journaling mode stores the rollback journal in volatile RAM. (source: pragma.html, checked-by: th3/req1/pragma25.test, matrix: context, detail)

R-43521-55927-08457-46227-28920-39349-41728-53227

  If the right-hand side is a parameter that is bound to a string, then this optimization is only attempted if the prepared statement containing the expression was compiled with sqlite3_prepare_v2() or sqlite3_prepare16_v2(). (source: optoverview.html, matrix: context, detail)

R-43522-35548-12073-03111-59330-30466-17240-55087

  Casting a value to a type-name with no affinity causes the value to be converted into a BLOB. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-43573-23448-48051-43416-34138-28993-49586-17736

  A SELECT statement enclosed in parentheses is a subquery. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-43589-15127-43886-39082-32655-09009-64323-07852

  The sqlite3_mutex_free() routine deallocates a previously allocated dynamic mutex. (source: c3ref/mutex_alloc.html, matrix: context, detail)

R-43609-64396-32492-00883-25685-46145-60531-30223

  The application wants to prevent other processes from accessing the database file. (source: pragma.html, checked-by: th3/req1/pragma04.test, matrix: context, detail)

R-43620-20913-52855-36210-21307-33610-27291-15644

  Only an effective call to sqlite3_shutdown() does any deinitialization. All other valid calls to sqlite3_shutdown() are harmless no-ops. (source: c3ref/initialize.html, matrix: context, detail)

R-43641-06233-62582-50959-46555-19334-21762-55443

  Generated columns may not be used as part of the PRIMARY KEY. (source: gencol.html, matrix: context, detail)

R-43642-56306-35814-07631-25075-47179-35702-00473

  By default, URI handling is globally disabled. The default value may be changed by compiling with the SQLITE_USE_URI symbol defined. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/global.c, matrix: context, detail)

R-43646-40507-46737-61854-04250-53447-25357-32059

  The checksum is an unsigned 32-bit integer computed as follows: Initialize the checksum to the checksum nonce value found in the journal header at offset 12. Initialize index X to be N-200 (where N is the size of a database page in bytes. Interpret the byte at offset X into the page as an 8-bit unsigned integer and add the value of that integer to the checksum. Subtract 200 from X. If X is greater than or equal to zero, go back to step 3. (source: fileformat2.html, matrix: context, detail)

R-43689-60751-17173-17363-04961-34787-47888-07177

  SQLITE_DBSTATUS_CACHE_SPILL This parameter returns the number of dirty cache entries that have been written to disk in the middle of a transaction due to the page cache overflowing. Transactions are more efficient if they are written to disk all at once. When pages spill mid-transaction, that introduces additional overhead. This parameter can be used help identify inefficiencies that can be resolved by increasing the cache size. SQLITE_DBSTATUS_DEFERRED_FKS This parameter returns zero for the current value if and only if all foreign key constraints (deferred or immediate) have been resolved. (source: c3ref/c_dbstatus_options.html, matrix: context, detail)

R-43693-30522-63226-58235-18305-62021-52549-18888

  If the expression is the alias of a table or subquery in the FROM clause followed by ".*" then all columns from the named table or subquery are substituted for the single expression. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-43696-56835-52509-34515-30380-28351-43291-45019

  If a term of the form "6=b" appears in the index, it will never match anything. (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-43700-31930-54080-27091-31266-57199-30903-39458

  The sqlite_sequence table is created and initialized automatically whenever a normal table that contains an AUTOINCREMENT column is created. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-43713-34954-61284-51343-43182-28146-52130-40042

  The xMutexEnd method defined by this structure is invoked as part of system shutdown by the sqlite3_shutdown() function. (source: c3ref/mutex_methods.html, matrix: context, detail)

R-43737-39999-60785-41458-46023-21259-00950-21702

  Every valid SQLite database file begins with the following 16 bytes (in hex): 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-43753-41505-35386-09439-04210-20192-61863-65048

  For an index, the tbl_name is the name of the table that is indexed. (source: fileformat2.html, matrix: context, detail)

R-43754-40546-54172-00360-10157-15070-11211-43243

  The SQLITE_TRACE_PROFILE callback is invoked when the statement finishes. (source: c3ref/c_trace.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-43797-56749-02967-54481-29642-02482-32480-02233

  In NORMAL locking-mode (the default unless overridden at compile-time using SQLITE_DEFAULT_LOCKING_MODE), a database connection unlocks the database file at the conclusion of each read or write transaction. (source: pragma.html, checked-by: th3/req1/pragma04.test, matrix: context, detail)

R-43820-61705-52813-55767-43715-42880-00775-50924

  The purpose of the unlikely(X) function is to provide a hint to the query planner that the argument X is a boolean value that is usually not true. (source: lang_corefunc.html, checked-by: th3/cov1/where42.test, matrix: context, detail)

R-43823-35025-00176-30164-46726-64409-48434-13396

  The schema cookie is a 4-byte big-endian integer at offset 40 that is incremented whenever the database schema changes. (source: fileformat2.html, matrix: context, detail)

R-43833-46001-07535-07747-23355-16276-19014-45982

  If idx is out of range - less than zero or greater than or equal to the total number of loops used to implement the statement - a non-zero value is returned and the variable that pOut points to is unchanged. (source: c3ref/stmt_scanstatus.html, checked-by: th3/cov1/status02.test, matrix: context, detail)

R-43879-08025-52526-08970-15750-21422-30684-37873

  Attaching a "REFERENCES " clause to a column definition creates a foreign key constraint that maps the column to the primary key of . (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys09.test, matrix: context, detail)

R-43881-23456-20563-20957-51474-28716-20128-57454

  when sqlite3_reset() or sqlite3_finalize() is called for the SQL statement (source: c3ref/get_auxdata.html, matrix: context, detail)

R-43895-16198-12902-10668-43383-15391-26544-03216

  When coercing a string value in the format of a hexadecimal integer into an integer value, the conversion process stops when the 'x' character is seen so the resulting integer value is always zero. (source: lang_expr.html, checked-by: th3/req1/expr01.test, matrix: context, detail)

R-43996-29471-48886-45304-51416-12121-07825-19150

  SQLITE_LIMIT_COLUMN The maximum number of columns in a table definition or in the result set of a SELECT or the maximum number of columns in an index or in an ORDER BY or GROUP BY clause. (source: c3ref/c_limit_attached.html, checked-by: tcl/sqllimits1.test, th3/req1/limit02.test, matrix: context, detail)

R-44013-13102-10441-32146-65192-28233-37032-42173

  The mode parameter may be set to either "ro", "rw", "rwc", or "memory". Attempting to set it to any other value is an error (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-44028-31666-03936-19748-14191-58058-00871-01668

  The P parameter can be a NULL pointer. (source: c3ref/randomness.html, checked-by: th3/cov1/random01.test, matrix: context, detail)

R-44050-47362-62664-60634-46008-39199-23714-03291

  If the SELECT statement is a non-aggregate query, then each expression in the result expression list is evaluated for each row in the dataset filtered by the WHERE clause. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-44053-64068-31529-32657-44606-24557-47766-35713

  The subquery has a FROM clause. (source: optoverview.html, matrix: context, detail)

R-44062-08550-47406-04162-18234-03785-06690-48010

  If a DELETE statement has a LIMIT clause, the maximum number of rows that will be deleted is found by evaluating the accompanying expression and casting it to an integer value. (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-44114-07168-48628-58571-39460-30302-43731-62236

  The first parameter is the database connection to which the SQL function is to be added. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc01.test, matrix: context, detail)

R-44118-24115-09333-12766-04940-32044-13276-33930

  Generated columns may not have a default value (they may not use the "DEFAULT" clause). (source: gencol.html, matrix: context, detail)

R-44130-32593-50612-23115-00910-25537-42820-39348

  If an ORDER BY expression is not an integer alias, then SQLite searches the left-most SELECT in the compound for a result column that matches either the second or third rules above. If a match is found, the search stops and the expression is handled as an alias for the result column that it has been matched against. Otherwise, the next SELECT to the right is tried, and so on. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-44133-61651-41897-46315-46351-30200-24176-28474

  The value Y in likelihood(X,Y) must be a floating point constant between 0.0 and 1.0, inclusive. (source: lang_corefunc.html, checked-by: tcl/func3.test, matrix: context, detail)

R-44141-33413-24990-15185-17174-27405-30480-46344

  But in the following logically equivalent formulation of the same query, the substitution of "CROSS JOIN" for the "," means that the order of tables must be N1, E, N2. SELECT * FROM node AS n1 CROSS JOIN edge AS e CROSS JOIN node AS n2 WHERE n1.name = 'alice' AND n2.name = 'bob' AND e.orig = n1.id AND e.dest = n2.id; (source: optoverview.html, matrix: context, detail)

R-44155-30417-12865-55438-14349-49695-29873-16334

  This query would result in a full table scan. (source: optoverview.html, matrix: context, detail)

R-44163-39688-38219-15448-17659-56666-21013-19183

  The expression of a CHECK constraint may not contain a subquery. (source: lang_createtable.html, matrix: context, detail)

R-44190-32878-23725-35704-06982-10932-63377-41592

  The returned string is always in UTF-8 encoding even if the named parameter was originally specified as UTF-16 in sqlite3_prepare16(), sqlite3_prepare16_v2(), or sqlite3_prepare16_v3(). (source: c3ref/bind_parameter_name.html, checked-by: th3/req1/bind04.test, matrix: context, detail)

R-44209-40260-17459-44675-20302-51345-49866-43242

  If and only if the previously described conversion of OR to an IN operator does not work, the second OR-clause optimization is attempted. (source: optoverview.html, matrix: context, detail)

R-44223-43966-50481-12161-32962-54841-33868-44497

  If there are no non-NULL input rows then sum() returns NULL but total() returns 0. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-44241-31306-56883-60998-04220-09447-33322-42012

  Any existing statements prepared using the legacy sqlite3_prepare() interface may fail with an SQLITE_SCHEMA error after the recursive_triggers setting is changed. (source: pragma.html, matrix: context, detail)

R-44252-06035-10062-38462-00454-12973-27157-29991

  The subquery does not use LIMIT or the outer query is not a join. (source: optoverview.html, matrix: context, detail)

R-44261-39702-04875-31790-36524-45169-57836-16173

  Foreign key constraints are disabled by default (for backwards compatibility), so must be enabled separately for each database connection. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys04.test, matrix: context, detail)

R-44270-63173-43365-51432-46246-26535-62506-06270

  Both key and value may contain %HH escape sequences. (source: uri.html, matrix: context, detail)

R-44289-63209-61315-10942-18523-19279-36717-48244

  If the authority is omitted then the path is required. (source: uri.html, matrix: context, detail)

R-44294-52863-08300-09780-12014-19647-27880-25111

  The third parameter is the name of the database that was written to - either "main" or the name of an ATTACH-ed database. (source: c3ref/wal_hook.html, checked-by: tcl/e_walhook.test, matrix: context, detail)

R-44295-13823-09058-27289-44091-57467-52153-35683

  A transaction savepoint (a non-nested savepoint that was opened while there was not currently an open transaction), on the other hand, is subject to the same restrictions as a COMMIT - attempting to RELEASE it while the database is in such a state will fail. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys15.test, matrix: context, detail)

R-44324-41166-42942-47705-27184-58566-20473-14339

  It is also an error to use a "*" or "alias.*" expression in a simple SELECT query that does not have a FROM clause. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-44336-03155-46084-50304-15554-44543-05811-18658

  Note also that the journal_mode cannot be changed while a transaction is active. (source: pragma.html, checked-by: th3/req1/pragma23.test, matrix: context, detail)

R-44355-00270-30749-42094-52510-11222-59749-40119

  The PRAGMA recursive_triggers setting does not affect the operation of foreign key actions. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys24.test, matrix: context, detail)

R-44364-00581-20291-58587-51533-44159-46989-51099

  For example: SELECT t1.a, t2.b FROM t2, (SELECT x+y AS a FROM t1 WHERE z<100) WHERE a>5 Would be rewritten using query flattening as: SELECT t1.x+t1.y AS a, t2.b FROM t2, t1 WHERE z<100 AND a>5 (source: optoverview.html, matrix: context, detail)

R-44381-11669-25586-00441-33187-20695-56764-33989

  the expression 'a' LIKE 'A' is TRUE but 'æ' LIKE 'Æ' is FALSE. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-44382-28097-05870-38154-27344-49810-07099-20883

  The second through fifth forms of this pragma set the encoding that the main database will be created with if it is created by this session. (source: pragma.html, checked-by: th3/req1/pragma16.test, matrix: context, detail)

R-44409-62641-17041-24104-11614-63008-35007-15423

  The || operator is "concatenate" - it joins together the two strings of its operands. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-44414-54710-39878-46703-10464-52029-15490-53304

  There is a row in the cartesian product dataset formed by combining each unique combination of a row from the left-hand and right-hand datasets. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-44424-47897-20192-49943-44571-25334-57312-32558

  If the integer at offset 52 is zero then the integer at offset 64 must also be zero. (source: fileformat2.html, matrix: context, detail)

R-44448-00687-59565-33416-30258-38835-37742-50898

  The pUser and xDelUser members of the sqlite3_rtree_geometry structure are initially set to NULL. (source: rtree.html, matrix: context, detail)

R-44462-37635-62099-13453-38487-62317-50080-33351

  SQLite will never invoke SQLITE_FCNTL_COMMIT_ATOMIC_WRITE without a prior successful call to SQLITE_FCNTL_BEGIN_ATOMIC_WRITE. (source: c3ref/c_fcntl_begin_atomic_write.html, matrix: context, detail)

R-44487-57903-51219-53037-61864-06803-55060-36082

  The sqlite3_stmt_isexplain(S) interface returns 0 if S is an ordinary statement or a NULL pointer. (source: c3ref/stmt_isexplain.html, matrix: context, detail)

R-44492-58344-41928-11727-58799-16717-41714-60827

  The purpose of the likely(X) function is to provide a hint to the query planner that the argument X is a boolean value that is usually true. (source: lang_corefunc.html, checked-by: th3/cov1/where42.test, matrix: context, detail)

R-44512-29500-51400-28317-41248-06688-48400-64915

  If sqlite3_backup_step() has not yet returned SQLITE_DONE, then any active write-transaction on the destination database is rolled back. (source: c3ref/backup_finish.html, matrix: context, detail)

R-44544-27073-02924-52207-56870-56461-15432-54248

  In cases where there exist loops with no available statistics, this function behaves as if the loop did not exist - it returns non-zero and leave the variable that pOut points to unchanged. (source: c3ref/stmt_scanstatus.html, checked-by: th3/cov1/status02.test, matrix: context, detail)

R-44557-40871-19236-56089-26171-47416-20797-60193

  If the most recent evaluation of statement S failed, then sqlite3_finalize(S) returns the appropriate error code or extended error code. (source: c3ref/finalize.html, checked-by: th3/req1/finalize01.test, matrix: context, detail)

R-44582-60138-19271-50465-03257-36624-40089-31260

  SQLite may from time to time reorganize a b-tree page so that there are no freeblocks or fragment bytes, all unused bytes are contained in the unallocated space region, and all cells are packed tightly at the end of the page. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-44615-33286-13182-19247-40132-09732-39940-41262

  The special identifiers only refer to the row key if the CREATE TABLE statement does not define a real column with the same name. (source: lang_expr.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-44617-07829-03757-45608-53499-18988-55260-02741

  The contents of the sqlite3_pcache_methods2 structure are copied to an internal buffer by SQLite within the call to sqlite3_config. Hence the application may discard the parameter after the call to sqlite3_config() returns. (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-44624-50921-54896-40195-40598-14115-12715-41655

  The PERSIST journaling mode prevents the rollback journal from being deleted at the end of each transaction. Instead, the header of the journal is overwritten with zeros. (source: pragma.html, checked-by: th3/req1/pragma24.test, matrix: context, detail)

R-44638-50196-46982-43265-31220-24766-09972-56099

  However, some application may prefer a breadth-first search, which can be accomplished by setting rScore to mxLevel-iLevel. (source: rtree.html, matrix: context, detail)

R-44699-55558-27782-01179-44434-54573-03026-09570

  The INDEXED BY clause does not give the optimizer hints about which index to use; it gives the optimizer a requirement of which index to use. (source: lang_indexedby.html, checked-by: tcl/indexedby.test, matrix: context, detail)

R-44699-57140-60647-60895-26603-26594-01750-63577

  This mode works the same way as SQLITE_CHECKPOINT_RESTART with the addition that it also truncates the log file to zero bytes just prior to a successful return. (source: c3ref/wal_checkpoint_v2.html, checked-by: src/wal.c, tcl/e_walckpt.test, th3/req1/checkpoint01.test, matrix: context, detail)

R-44743-26048-26164-09256-55055-05174-57916-33189

  Generated columns may have NOT NULL, CHECK, and UNIQUE constraints, and foreign key constraints, just like ordinary columns. (source: gencol.html, matrix: context, detail)

R-44809-60674-55337-11812-63258-27949-26446-49308

  SQLite will use the implementation that most closely matches the way in which the SQL function is used. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc04.test, matrix: context, detail)

R-44820-17227-57032-02316-25534-20387-01483-22879

  The third parameter to the preupdate callback is one of the constants SQLITE_INSERT, SQLITE_DELETE, or SQLITE_UPDATE to identify the kind of update operation that is about to occur. (source: c3ref/preupdate_count.html, matrix: context, detail)

R-44830-52899-50578-35713-22195-41858-55847-16818

  *ppStmt is left pointing to a compiled prepared statement that can be executed using sqlite3_step(). (source: c3ref/prepare.html, checked-by: th3/req1/prepare01.test, matrix: context, detail)

R-44835-24883-49938-43446-56074-23376-41868-21974

  No reads or writes occur except within a transaction. (source: lang_transaction.html, matrix: context, detail)

R-44877-05564-55761-20700-41033-29591-21228-47309

  Executing any other type of SQL statement does not modify the value returned by this function. (source: c3ref/changes.html, checked-by: tcl/e_changes.test, matrix: context, detail)

R-44885-25196-65175-63597-64540-27010-19745-60174

  Value is an 8-bit twos-complement integer. (source: fileformat2.html, checked-by: src/vdbeaux.c, th3/req1/fileformat02.test, matrix: context, detail)

R-44890-03323-56789-62483-63880-22591-35189-31774

  The output is the same as for PRAGMA table_info except that hidden columns are shown rather than being omitted. (source: pragma.html, matrix: context, detail)

R-44929-19675-50890-09843-10224-35620-29397-31048

  The database connection returned by sqlite3_db_handle is the same database connection that was the first argument to the sqlite3_prepare_v2() call (or its variants) that was used to create the statement in the first place. (source: c3ref/db_handle.html, checked-by: th3/req1/dbhandle01.test, matrix: context, detail)

R-44931-31853-26224-06306-44467-24966-10617-31779

  Universal Coordinated Time (UTC) is used. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-44988-41064-02279-18587-19747-40125-16068-53673

  Rows are first sorted based on the results of evaluating the left-most expression in the ORDER BY list, then ties are broken by evaluating the second left-most expression and so on. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-44990-49065-20422-08324-27654-16812-49799-14821

  SQLite invokes the xShrink() method when it wants the page cache to free up as much of heap memory as possible. (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-44992-52812-59111-17856-46428-55199-28475-08004

  SQLite prohibits applications from creating objects whose names begin with "sqlite_". (source: fileformat2.html, matrix: context, detail)

R-45001-15102-62824-43089-64558-18158-53977-55532

  The first argument to these interfaces is a prepared statement. (source: c3ref/column_database_name.html, matrix: context, detail)

R-45003-07395-31947-31592-21927-23597-32015-06745

  Autocommit mode is disabled by a BEGIN statement. (source: c3ref/get_autocommit.html, matrix: context, detail)

R-45034-43967-17911-30540-50129-42981-54712-01086

  The following are examples of non-deterministic functions: random() changes() last_insert_rowid() sqlite3_version() (source: deterministic.html, matrix: context, detail)

R-45051-55006-15108-02545-65455-20416-20562-25495

  The sqlite3_release_memory() interface attempts to free N bytes of heap memory by deallocating non-essential memory allocations held by the database library. (source: c3ref/release_memory.html, checked-by: th3/req1/releasemem01.test, matrix: context, detail)

R-45052-47506-16194-46831-63738-43272-24543-14451

  When sqlite3_prepare_v2() is used to prepare a statement, the statement might be re-prepared during sqlite3_step() due to a schema change. (source: c3ref/set_authorizer.html, matrix: context, detail)

R-45058-52483-53751-35980-24819-54487-13131-07028

  If the outer query is part of a compound select, then the subquery may not have a LIMIT clause. (source: optoverview.html, matrix: context, detail)

R-45075-05696-46728-36342-39076-34346-28499-29393

  As an example of the result table format, suppose a query result is as follows: Name | Age ----------------------- Alice | 43 Bob | 28 Cindy | 21 There are two columns (M==2) and three rows (N==3). Thus the result table has 8 entries. Suppose the result table is stored in an array named azResult. Then azResult holds this content: azResult[0] = "Name"; azResult[1] = "Age"; azResult[2] = "Alice"; azResult[3] = "43"; azResult[4] = "Bob"; azResult[5] = "28"; azResult[6] = "Cindy"; azResult[7] = "21"; (source: c3ref/free_table.html, checked-by: th3/req1/gettable01.test, matrix: context, detail)

R-45087-11455-34010-58446-15384-63423-21176-52177

  when the corresponding function parameter changes (source: c3ref/get_auxdata.html, matrix: context, detail)

R-45092-55768-62322-65360-04224-03075-32666-24560

  If two or more such blocked connections have specified the same callback function, then instead of invoking the callback function multiple times, it is invoked once with the set of void* context pointers specified by the blocked connections bundled together into an array. (source: c3ref/unlock_notify.html, matrix: context, detail)

R-45095-63572-26689-30740-64749-16083-48841-09127

  When an applicable constraint violation occurs, the FAIL resolution algorithm aborts the current SQL statement with an SQLITE_CONSTRAINT error. (source: lang_conflict.html, checked-by: th3/req1/conflict01.test, matrix: context, detail)

R-45099-02601-54724-45407-56685-24152-16852-27215

  Each subterm is analyzed as if it were itself the entire WHERE clause in order to see if the subterm is indexable by itself. (source: optoverview.html, matrix: context, detail)

R-45106-55778-23498-47099-45026-10871-39267-61418

  The RELEASE of an inner transaction does not cause any changes to be written to the database file; it merely removes savepoints from the transaction stack such that it is no longer possible to ROLLBACK TO those savepoints. (source: lang_savepoint.html, matrix: context, detail)

R-45162-11578-30985-60631-31894-17735-12127-52197

  This mode is the same as calling the sqlite3_wal_checkpoint() C interface. (source: pragma.html, checked-by: th3/req1/checkpoint01.test, matrix: context, detail)

R-45164-23268-36240-53561-39664-08143-25092-01923

  However if the trigger actions reference other tables, the trigger is not dropped or modified if those other tables are dropped or modified. (source: lang_createtrigger.html, matrix: context, detail)

R-45175-37688-08419-23660-35132-45148-11733-21680

  If a WHEN clause is supplied, the SQL statements specified are only executed if the WHEN clause is true. (source: lang_createtrigger.html, matrix: context, detail)

R-45195-19773-08710-22098-44834-37724-61682-21963

  The extended result codes are disabled by default for historical compatibility. (source: c3ref/extended_result_codes.html, checked-by: th3/cov1/main06.test, matrix: context, detail)

R-45200-50363-59708-20315-54778-07324-53392-01839

  If the expression is not a column and has no COLLATE clause, then the BINARY collating sequence is used. (source: datatype3.html, checked-by: th3/req1/datatype3_10.test, matrix: context, detail)

R-45209-39960-61875-37751-41850-04754-65242-24219

  The SQLITE_FCNTL_VFS_POINTER opcode finds a pointer to the top-level VFSes currently in use. (source: c3ref/c_fcntl_begin_atomic_write.html, matrix: context, detail)

R-45221-02523-04020-35318-02486-22619-25012-28682

  This error code is not remembered and will not be recalled by sqlite3_errcode() or sqlite3_errmsg(). (source: c3ref/file_control.html, matrix: context, detail)

R-45251-44035-31636-37177-08697-29378-39945-28652

  When database is omitted, the "main" database is queried. (source: pragma.html, checked-by: th3/req1/pragma23.test, matrix: context, detail)

R-45262-28997-10763-36487-00906-22281-55952-21771

  SQLite will also add one of the following flags to the xOpen() call, depending on the object being opened: SQLITE_OPEN_MAIN_DB SQLITE_OPEN_MAIN_JOURNAL SQLITE_OPEN_TEMP_DB SQLITE_OPEN_TEMP_JOURNAL SQLITE_OPEN_TRANSIENT_DB SQLITE_OPEN_SUBJOURNAL SQLITE_OPEN_SUPER_JOURNAL SQLITE_OPEN_WAL (source: c3ref/vfs.html, checked-by: th3/th3testvfs.c, matrix: context, detail)

R-45318-21719-47167-32773-02041-53098-12990-64085

  If any xEntryPoint() returns an error, the sqlite3_open(), sqlite3_open16(), or sqlite3_open_v2() call that provoked the xEntryPoint() will fail. (source: c3ref/auto_extension.html, checked-by: th3/req1/autoext01.test, matrix: context, detail)

R-45324-33155-04012-63035-54710-33706-56967-14745

  The sqlite3_result_value() interface sets the result of the application-defined function to be a copy of the unprotected sqlite3_value object specified by the 2nd parameter. (source: c3ref/result_blob.html, checked-by: th3/req1/result03.test, matrix: context, detail)

R-45363-38948-33312-55000-36938-65231-54003-14501

  If the sqlite_sequence.seq value for an AUTOINCREMENT table is manually set to something other than an integer and there is a subsequent attempt to insert the or update the AUTOINCREMENT table, then the behavior is undefined. (source: fileformat2.html, matrix: context, detail)

R-45387-42504-16923-07908-20467-28557-08879-46075

  A call to sqlite3_snapshot_open() will fail to open if the specified snapshot has been overwritten by a checkpoint. (source: c3ref/snapshot_open.html, matrix: context, detail)

R-45408-40694-64054-48639-23979-33510-40886-26968

  Changes written into a BLOB prior to the BLOB expiring are not rolled back by the expiration of the BLOB. Such changes will eventually commit if the transaction continues to completion. (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, matrix: context, detail)

R-45424-07352-14354-52803-50663-63365-62375-01898

  If there is only a single table or subquery in the FROM clause, then the input data used by the SELECT statement is the contents of the named table. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-45424-59143-42887-56356-41413-49128-47927-21331

  Modifiers are applied from left to right; order is important. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-45427-27134-18298-64328-24893-59331-19022-41786

  If the third parameter to sqlite3_bind_text() is not NULL, then it should be a pointer to well-formed UTF8 text. (source: c3ref/bind_blob.html, matrix: context, detail)

R-45440-25633-60928-38627-51174-16128-58812-25800

  ORDER BY and LIMIT clauses may only occur at the end of the entire compound SELECT, and then only if the final element of the compound is not a VALUES clause. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-45441-43537-47777-63556-12740-30003-58169-32879

  A single WAL can and usually does record multiple transactions. (source: fileformat2.html, matrix: context, detail)

R-45488-08504-64399-03603-60147-65359-06274-60393

  If the database schema contains foreign key errors that require looking at more than one table definition to identify, then those errors are not detected when the tables are created. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys07.test, matrix: context, detail)

R-45493-35653-32389-26460-18465-38474-56599-09288

  A CHECK constraint may be attached to a column definition or specified as a table constraint. In practice it makes no difference. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-45509-34933-24347-37380-13828-03412-57306-45781

  The CREATE, TABLE, VIEW, TRIGGER, and INDEX keywords at the beginning of the statement are converted to all upper case letters. (source: fileformat2.html, matrix: context, detail)

R-45540-25505-12705-13417-45651-45483-56013-24623

  To prevent older versions of SQLite (prior to version 3.7.0, 2010-07-22) from trying to recover a WAL-mode database (and making matters worse) the database file format version numbers (bytes 18 and 19 in the database header) are increased from 1 to 2 in WAL mode. (source: wal.html, checked-by: tcl/e_wal.test, matrix: context, detail)

R-45642-41863-02575-26055-57853-43447-11909-01929

  If the optional schema name is omitted, "main" is assumed. (source: pragma.html, checked-by: th3/req1/pragma01.test, matrix: context, detail)

R-45667-58607-22220-28108-32382-15512-20537-62688

  If it does, then SQLite requires every entry in the index to be unique. (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-45676-18204-05370-40567-50208-38360-04513-21756

  If the sqlite3_create_function() interface is used to override the glob(X,Y) function with an alternative implementation then the GLOB operator will invoke the alternative implementation. (source: lang_corefunc.html, checked-by: th3/req1/func02.test, matrix: context, detail)

R-45725-33143-49569-42045-56416-09972-18063-04229

  Note also that sqlite3_snprintf() returns a pointer to its buffer instead of the number of characters actually written into the buffer. (source: c3ref/mprintf.html, checked-by: th3/req1/malloc01.test, matrix: context, detail)

R-45728-08709-00373-57456-04392-57683-10379-45526

  There are four columns in each result row. (source: pragma.html, checked-by: tcl/fkey5.test, th3/cov1/fkey23.test, matrix: context, detail)

R-45735-05060-45707-02597-62787-16150-27278-23647

  The column may not have a PRIMARY KEY or UNIQUE constraint. (source: lang_altertable.html, checked-by: th3/req1/altertable01.test, matrix: context, detail)

R-45744-19146-21008-38057-12826-38180-64084-01618

  The suppression of redundant columns in the key suffix of an index entry only occurs in WITHOUT ROWID tables. (source: fileformat2.html, checked-by: th3/req1/fileformat04.test, matrix: context, detail)

R-45764-31737-17057-32264-52283-10533-45215-02214

  The INTERSECT operator returns the intersection of the results of the left and right SELECTs. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-45798-31769-08217-55662-19864-50738-55178-62419

  The exclusive lock is not released until either sqlite3_backup_finish() is called or the backup operation is complete and sqlite3_backup_step() returns SQLITE_DONE. (source: c3ref/backup_finish.html, matrix: context, detail)

R-45820-61953-03602-28420-59065-19791-09856-58583

  A correlated subquery is reevaluated each time its result is required. (source: lang_expr.html, checked-by: th3/req1/select01.test, matrix: context, detail)

R-45864-01884-48942-09518-31331-15179-06601-52827

  On success, sqlite3_blob_write() returns SQLITE_OK. Otherwise, an error code or an extended error code is returned. (source: c3ref/blob_write.html, checked-by: tcl/e_blobwrite.test, matrix: context, detail)

R-45878-07697-09901-50980-47387-13868-52582-57913

  If the REINDEX keyword is followed by a collation-sequence name, then all indices in all attached databases that use the named collation sequences are recreated. (source: lang_reindex.html, checked-by: tcl/e_reindex.test, matrix: context, detail)

R-45882-09372-45562-22355-27454-39457-08272-55277

  SQL parameters of the form "?NNN" or ":AAA" or "@AAA" or "$AAA" have a name which is the string "?NNN" or ":AAA" or "@AAA" or "$AAA" respectively. In other words, the initial ":" or "$" or "@" or "?" is included as part of the name. (source: c3ref/bind_parameter_name.html, checked-by: th3/req1/bind04.test, matrix: context, detail)

R-45883-43943-57871-65431-07060-17806-58519-01354

  The second form changes the journaling mode for "database" or for all attached databases if "database" is omitted. (source: pragma.html, checked-by: th3/req1/pragma23.test, matrix: context, detail)

R-45889-48790-57472-62779-24530-49470-03633-17983

  The database, table and column on which the blob handle is open remain the same. (source: c3ref/blob_reopen.html, checked-by: th3/req1/blob01.test, matrix: context, detail)

R-45910-50363-25944-16530-55356-15445-20890-14687

  The default setting can be overridden by each database connection using either the PRAGMA mmap_size command, or by using the SQLITE_FCNTL_MMAP_SIZE file control. (source: c3ref/c_config_covering_index_scan.html, matrix: context, detail)

R-45939-02717-13913-16916-47597-06370-47114-21935

  The randomblob(N) function return an N-byte blob containing pseudo-random bytes. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-45951-08347-03834-18503-21973-51666-50988-55652

  if the declaration of a column with declared type "INTEGER" includes an "PRIMARY KEY DESC" clause, it does not become an alias for the rowid and is not classified as an integer primary key. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-45970-35618-54800-59485-17030-46204-37187-33805

  Unlike this index_info pragma, this pragma returns information about every column in the index, not just the key columns. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15x.test, matrix: context, detail)

R-45981-25528-39449-05041-45662-56122-46761-09278

  The fragment component of a URI, if present, is ignored. (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-46053-13931-52012-22668-02470-26618-35785-45191

  The sqlite3_progress_handler(D,N,X,P) interface causes the callback function X to be invoked periodically during long running calls to sqlite3_exec(), sqlite3_step() and sqlite3_get_table() for database connection D. (source: c3ref/progress_handler.html, checked-by: th3/req1/progress01.test, matrix: context, detail)

R-46076-42323-06794-05495-00937-01913-04786-13791

  The sqlite_stat3.nEq column holds the approximate number of entries in the index whose left-most column exactly matches the sample. (source: fileformat2.html, matrix: context, detail)

R-46129-45598-36416-42008-62999-11143-15168-02813

  The rowid can be used anywhere a regular column can be used. (source: lang_expr.html, matrix: context, detail)

R-46155-47219-10347-23082-03363-55795-00922-50884

  If the expression evaluates to a NULL value or any other value that cannot be losslessly converted to an integer, an error is returned. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-46193-28368-58972-00027-31729-34447-02569-47363

  sqlite> CREATE INDEX i2 ON t1(a, b); sqlite> EXPLAIN QUERY PLAN SELECT a, b FROM t1 WHERE a=1; QUERY PLAN `--SEARCH TABLE t1 USING COVERING INDEX i2 (a=?) (source: eqp.html, matrix: context, detail)

R-46197-42811-45122-27334-03540-14095-05781-43695

  This means that the underlying VFS must support the "version 2" shared-memory. (source: wal.html, checked-by: tcl/e_wal.test, th3/req1/pragma05.test, matrix: context, detail)

R-46199-30249-53951-48405-44359-44625-30943-37142

  SQLite guarantees that the second argument to xRealloc is always a value returned by a prior call to xRoundup. (source: c3ref/mem_methods.html, checked-by: src/malloc.c, src/mem1.c, src/mem2.c, src/mem5.c, matrix: context, detail)

R-46221-33909-22471-18212-13524-55885-62727-63389

  International character sets are case sensitive in SQLite unless an application-defined collating sequence and like() SQL function are provided that take non-ASCII characters into account. (source: optoverview.html, checked-by: th3/cov1/pragma02.test, matrix: context, detail)

R-46234-61323-27035-49381-04828-37598-41286-52895

  If the path does not begin with a '/' (meaning that the authority section is omitted from the URI) then the path is interpreted as a relative path. (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-46256-57243-24322-24814-28812-31567-52831-61261

  There is no difference between the "INNER JOIN", "JOIN" and "," join operators. (source: lang_select.html, checked-by: tcl/e_select.test, tcl/e_select2.test, matrix: context, detail)

R-46291-22228-33337-03438-09062-41936-26465-59313

  The UPDATE, DELETE, and INSERT statements within triggers do not support the full syntax for UPDATE, DELETE, and INSERT statements. (source: lang_createtrigger.html, matrix: context, detail)

R-46334-60999-49221-04702-27230-06175-42868-32331

  The file named by the INTO clause must not previously exist, or else it must be an empty file, or the VACUUM INTO command will fail with an error. (source: lang_vacuum.html, checked-by: th3/cov1/vacuum10.test, matrix: context, detail)

R-46380-62105-49403-51977-53564-35485-34919-25717

  This interface allows the size of various constructs to be limited on a connection by connection basis. The first parameter is the database connection whose limit is to be set or queried. The second parameter is one of the limit categories that define a class of constructs to be size limited. The third parameter is the new limit for that construct. (source: c3ref/limit.html, checked-by: th3/req1/limit01.test, th3/req1/limit02.test, matrix: context, detail)

R-46397-11150-35825-03689-51879-43855-50852-63161

  The second parameter is the column number. (source: c3ref/column_name.html, matrix: context, detail)

R-46413-56591-19010-63234-29028-02870-41994-21141

  The checksum values are always stored in the frame header in a big-endian format regardless of which byte order is used to compute the checksum. (source: fileformat2.html, matrix: context, detail)

R-46421-32541-46392-23903-65246-33066-39018-41515

  Or, if X and Y are both BLOBs, then instr(X,Y) returns one more than the number bytes prior to the first occurrence of Y, or 0 if Y does not occur anywhere within X. (source: lang_corefunc.html, checked-by: tcl/instr.test, matrix: context, detail)

R-46455-06721-25633-38567-39133-09580-16982-03702

  A partial index definition may include the UNIQUE keyword. (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-46475-65007-45296-37609-03818-24981-55908-33234

  The expression "a BETWEEN b AND c" is treated as two separate binary comparisons "a >= b AND a <= c", even if that means different affinities are applied to 'a' in each of the comparisons. (source: datatype3.html, checked-by: th3/req1/datatype3_05.test, matrix: context, detail)

R-46487-45214-33132-22408-46065-05189-04922-26668

  The memory-mapped file is in the same directory as the database and has the same name as the database with a "-shm" suffix appended. (source: fileformat2.html, matrix: context, detail)

R-46513-12418-39442-33008-36450-21417-18357-12067

  To delete an existing SQL function or aggregate, pass NULL pointers for all three function callbacks. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc03.test, matrix: context, detail)

R-46542-01490-05241-30409-15162-63986-32317-12249

  The SQLITE_FCNTL_WIN32_AV_RETRY opcode is used to configure automatic retry counts and intervals for certain disk I/O operations for the windows VFS in order to provide robustness in the presence of anti-virus programs. (source: c3ref/c_fcntl_begin_atomic_write.html, matrix: context, detail)

R-46612-63606-63989-00465-43025-33740-12303-63068

  Note that min() is a simple function when it has 2 or more arguments but operates as an aggregate function if given only a single argument. (source: lang_corefunc.html, checked-by: th3/req1/func05.test, matrix: context, detail)

R-46616-26780-52699-16900-61811-04122-03606-62757

  When an error occurs, sqlite3_step() will return one of the detailed error codes or extended error codes. (source: c3ref/prepare.html, checked-by: th3/req1/prepare03.test, matrix: context, detail)

R-46619-65417-10138-19214-14415-00475-28219-65444

  The first column is always a 64-bit signed integer primary key. (source: rtree.html, matrix: context, detail)

R-46643-08949-52505-46852-59994-03587-15582-21793

  Some parameters do not record the highest value. For those parameters nothing is written into *pHighwater and the resetFlag is ignored. (source: c3ref/status.html, matrix: context, detail)

R-46649-58537-03180-36291-48705-13434-30415-43306

  It is not possible to enable or disable foreign key constraints in the middle of a multi-statement transaction (when SQLite is not in autocommit mode). Attempting to do so does not return an error; it simply has no effect. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys06.test, matrix: context, detail)

R-46656-45156-45910-65271-53395-31310-28369-14407

  The sqlite3_version[] string constant contains the text of SQLITE_VERSION macro. (source: c3ref/libversion.html, checked-by: src/main.c, matrix: context, detail)

R-46672-40841-59774-15416-63280-30428-42891-05941

  When not in shared cache mode, it is possible to have the same database file attached multiple times using different names, and detaching one connection to a file will leave the others intact. (source: lang_detach.html, checked-by: th3/req1/attach01.test, matrix: context, detail)

R-46677-03283-38607-60635-61745-23618-46045-62138

  If no database name qualifier precedes the "locking_mode" keyword then the locking mode is applied to all databases, including any new databases added by subsequent ATTACH commands. (source: pragma.html, checked-by: th3/req1/pragma04.test, matrix: context, detail)

R-46702-22190-08999-08775-06967-16190-65475-37101

  Databases created by the ATTACH command always use the same encoding as the main database. (source: pragma.html, checked-by: th3/req1/pragma16.test, matrix: context, detail)

R-46709-29000-19476-32067-18840-61551-53618-60985

  Let M be ((U-12)*32/255)-23 and let K be M+((P-M)%(U-4)). If P is greater than X then the number of bytes stored on the index b-tree page is K if K is less than or equal to X or M otherwise. (source: fileformat2.html, matrix: context, detail)

R-46762-41357-02891-26535-53181-26230-38926-40574

  The schema-name is the name of an ATTACH-ed database or "main" or "temp" for the main and the TEMP databases. (source: pragma.html, checked-by: th3/req1/pragma01.test, matrix: context, detail)

R-46765-43362-55332-05088-06369-35446-43155-35174

  For the purposes of determining duplicate rows for the results of compound SELECT operators, NULL values are considered equal to other NULL values and distinct from all non-NULL values. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-46780-34130-42515-13535-26112-08732-08829-27411

  This is the number of virtual machine operations executed by the prepared statement if that number is less than or equal to 2147483647. (source: c3ref/c_stmtstatus_counter.html, matrix: context, detail)

R-46798-18657-50742-54084-49745-39581-20744-29339

  SQLITE_STATUS_PAGECACHE_OVERFLOW This parameter returns the number of bytes of page cache allocation which could not be satisfied by the SQLITE_CONFIG_PAGECACHE buffer and where forced to overflow to sqlite3_malloc(). The returned value includes allocations that overflowed because they where too large (they were larger than the "sz" parameter to SQLITE_CONFIG_PAGECACHE) and allocations that overflowed because no space was left in the page cache. (source: c3ref/c_status_malloc_count.html, matrix: context, detail)

R-46798-50301-48995-28285-56174-19296-23504-21814

  The sqlite3_context_db_handle() interface returns a copy of the pointer to the database connection (the 1st parameter) of the sqlite3_create_function() and sqlite3_create_function16() routines that originally registered the application defined function. (source: c3ref/context_db_handle.html, checked-by: src/vdbeapi.c, th3/req1/value01.test, matrix: context, detail)

R-46863-28786-21721-60077-48835-05844-55823-37833

  The current value of the requested parameter is written into *pCur and the highest instantaneous value is written into *pHiwtr. (source: c3ref/db_status.html, checked-by: th3/req1/dbstatus01.test, matrix: context, detail)

R-46875-36446-38498-63657-23480-31614-51411-31350

  The sqlite3_strlike(P,X,E) interface returns zero if and only if string X matches the LIKE pattern P with escape character E. (source: c3ref/strlike.html, matrix: context, detail)

R-46912-28798-53031-38709-36895-29366-07860-41608

  Any attempt to use AUTOINCREMENT on a WITHOUT ROWID table or on a column other than the INTEGER PRIMARY KEY column results in an error. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-46931-43245-47331-55287-00929-39790-16947-25937

  DEFERRED means that the transaction does not actually start until the database is first accessed. (source: lang_transaction.html, matrix: context, detail)

R-46934-63022-13283-12249-18112-11687-53025-24870

  If an INSERT occurs within a trigger then this routine will return the rowid of the inserted row as long as the trigger is running. Once the trigger program ends, the value returned by this routine reverts to what it was before the trigger was fired. (source: c3ref/last_insert_rowid.html, matrix: context, detail)

R-46937-57672-41895-41327-41182-38354-24563-01052

  Objects of this type are created by sqlite3_blob_open() and destroyed by sqlite3_blob_close(). (source: c3ref/blob.html, checked-by: th3/cov1/vdbeblob01.test, matrix: context, detail)

R-46991-00459-32284-17616-36879-21143-59661-33845

  Instead, executing an INSERT, DELETE or UPDATE on the view causes the associated triggers to fire. (source: lang_createtrigger.html, matrix: context, detail)

R-47032-28289-44184-46595-09836-48485-53901-64968

  A database connection handle is usually returned in *ppDb, even if an error occurs. The only exception is that if SQLite is unable to allocate memory to hold the sqlite3 object, a NULL will be written into *ppDb instead of a pointer to the sqlite3 object. (source: c3ref/open.html, matrix: context, detail)

R-47045-23194-06320-38835-32835-03422-03688-60752

  Input text that looks like floating point (there is a decimal point and/or an exponent) and the text describes a value that can be losslessly converted back and forth between IEEE 754 64-bit float and a 51-bit signed integer, then the result is INTEGER. (source: lang_expr.html, checked-by: tcl/e_expr.test, th3/cov1/cast01.test, matrix: context, detail)

R-47080-02069-19289-28177-02416-33406-46082-01364

  If an "ALTER TABLE ... RENAME TO" command is used to rename a table that is the parent table of one or more foreign key constraints, the definitions of the foreign key constraints are modified to refer to the parent table by its new name (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys21.test, matrix: context, detail)

R-47085-17460-48136-50298-50839-31630-41230-33764

  PRAGMA cell_size_check PRAGMA cell_size_check = boolean; The cell_size_check pragma enables or disables additional sanity checking on database b-tree pages as they are initially read from disk. (source: pragma.html, matrix: context, detail)

R-47106-26961-22018-10007-09993-39383-21640-46039

  The sqlite3_backup object may be used with the sqlite3_backup_step() and sqlite3_backup_finish() functions to perform the specified backup operation. (source: c3ref/backup_finish.html, checked-by: th3/req1/backup02.test, matrix: context, detail)

R-47112-45289-11795-12854-05038-48584-59127-00440

  Cautious programmers might include assert() statements in their application to verify that values returned by these interfaces match the macros in the header, and thus ensure that the application is compiled with matching library and header files. assert( sqlite3_libversion_number()==SQLITE_VERSION_NUMBER ); assert( strncmp(sqlite3_sourceid(),SQLITE_SOURCE_ID,80)==0 ); assert( strcmp(sqlite3_libversion(),SQLITE_VERSION)==0 ); (source: c3ref/libversion.html, checked-by: th3/th3main.c, matrix: context, detail)

R-47125-14019-06302-35267-43761-08118-47718-40685

  The "start of" modifiers (7 through 9) shift the date backwards to the beginning of the current month, year or day. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-47129-02844-42227-35202-45348-02049-58295-05636

  The sqlite3_value returned is a protected sqlite3_value object even if the input is not. (source: c3ref/value_dup.html, matrix: context, detail)

R-47136-25746-15640-41932-06678-43823-40123-27757

  This method can be used, for example, to add whitespace indentation. (source: c3ref/str_append.html, matrix: context, detail)

R-47175-52442-38801-17858-62181-59243-23138-32376

  Invoking this pragma with an argument is equivalent to calling the sqlite3_wal_checkpoint_v2() C interface with a 3rd parameter corresponding to the argument: (source: pragma.html, checked-by: th3/req1/checkpoint01.test, matrix: context, detail)

R-47188-50799-37892-57634-15721-61381-60158-50947

  The phrase "VALUES(expr-list-1),...,(expr-list-N)" means the same thing as "SELECT expr-list-1 UNION ALL ... UNION ALL SELECT expr-list-N". (source: lang_select.html, checked-by: th3/cov1/select30.test, th3/req1/select02.test, matrix: context, detail)

R-47208-15314-60187-26132-59357-10692-55881-38588

  And the automatically generated ROWIDs are guaranteed to be monotonically increasing. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-47220-36599-18549-01728-06678-05877-60935-22906

  The sqlite3_result_pointer(C,P,T,D) interface sets the result to an SQL NULL value, just like sqlite3_result_null(C), except that it also associates the host-language pointer P or type T with that NULL value such that the pointer can be retrieved within an application-defined SQL function using sqlite3_value_pointer(). (source: c3ref/result_blob.html, checked-by: th3/cov1/bindptr01.test, th3/cov1/carray01.test, matrix: context, detail)

R-47220-63683-02784-26430-33183-60835-28174-15820

  The sqlite3_last_insert_rowid() function does not work for WITHOUT ROWID tables. (source: withoutrowid.html, checked-by: tcl/lastinsert.test, th3/cov1/withoutrowid01.test, matrix: context, detail)

R-47224-48532-62948-64824-54403-32645-39277-62522

  When an applicable constraint violation occurs, the ABORT resolution algorithm aborts the current SQL statement with an SQLITE_CONSTRAINT error and backs out any changes made by the current SQL statement; but changes caused by prior SQL statements within the same transaction are preserved and the transaction remains active. (source: lang_conflict.html, checked-by: th3/req1/conflict01.test, matrix: context, detail)

R-47237-20641-51298-30597-19533-32249-45130-16580

  The parameter N is the approximate number of virtual machine instructions that are evaluated between successive invocations of the callback X. (source: c3ref/progress_handler.html, checked-by: th3/req1/progress01.test, matrix: context, detail)

R-47257-47871-22083-44604-28744-21660-36470-17217

  Smaller scores are processed first. (source: rtree.html, matrix: context, detail)

R-47276-58266-57990-47507-55397-12547-44122-03404

  Like SQLITE_CHECKPOINT_FULL, this mode blocks new database writer attempts while it is pending, but does not impede readers. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, matrix: context, detail)

R-47301-17448-04122-36354-45464-07871-26388-12045

  String variables that contain text formatted like hexadecimal integers are not interpreted as hexadecimal integers when coercing the string value into an integer due to a CAST expression or for a column affinity transformation or prior to performing a numeric operation or for any other run-time conversions. (source: lang_expr.html, checked-by: th3/req1/expr01.test, matrix: context, detail)

R-47326-42054-43655-41302-10309-18227-37352-51087

  No entry point will be called more than once for each database connection that is opened. (source: c3ref/auto_extension.html, checked-by: th3/req1/autoext01.test, matrix: context, detail)

R-47349-36088-56332-49361-27773-46509-28359-10620

  The ifnull() function is equivalent to coalesce() with two arguments. (source: lang_corefunc.html, checked-by: th3/cov1/func01.test, matrix: context, detail)

R-47355-18032-54463-52994-47328-64569-52603-29032

  The column is identified by the second, third and fourth parameters to this function. (source: c3ref/table_column_metadata.html, checked-by: th3/cov1/metadata01.test, matrix: context, detail)

R-47358-05964-44521-01667-50829-29935-00197-29054

  The sqlite3_data_count(P) routine returns 0 if the previous call to sqlite3_step(P) returned SQLITE_DONE. (source: c3ref/data_count.html, matrix: context, detail)

R-47362-07898-57690-63362-38950-19612-46458-01308

  If the REINDEX keyword is not followed by a collation-sequence or database object identifier, then all indices in all attached databases are rebuilt. (source: lang_reindex.html, checked-by: tcl/e_reindex.test, matrix: context, detail)

R-47366-13741-55802-55490-13630-64665-63412-14686

  If the option is unknown or SQLite is unable to set the option then this routine returns a non-zero error code. (source: c3ref/config.html, matrix: context, detail)

R-47371-54529-47056-05139-21545-30146-30084-29428

  Unlike regular SQLite tables which can store data in a variety of datatypes and formats, the R*Tree rigidly enforce these storage types. (source: rtree.html, matrix: context, detail)

R-47394-08393-08013-46591-44142-56491-27088-03038

  The like() function is used to implement the "Y LIKE X [ESCAPE Z]" expression. (source: lang_corefunc.html, checked-by: th3/req1/func02.test, matrix: context, detail)

R-47421-29468-64946-07771-42048-44217-36224-10277

  If none of the arguments to min() define a collating function, then the BINARY collating function is used. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-47436-38935-17734-42324-42347-43578-49292-42564

  The header of the rollback journal can be overwritten with invalid header text (for example, all zeros). (source: fileformat2.html, matrix: context, detail)

R-47446-42933-31518-33219-37380-53181-26111-02925

  At most one preupdate hook may be registered at a time on a single database connection; each call to sqlite3_preupdate_hook() overrides the previous setting. (source: c3ref/preupdate_count.html, matrix: context, detail)

R-47496-23053-18561-13621-46143-05639-50277-51479

  If any input to sum() is neither an integer or a NULL then sum() returns a floating point value which might be an approximation to the true sum. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-47505-58569-20472-23148-40328-48365-60870-06508

  The "PRAGMA data_version" value is unchanged for commits made on the same database connection. (source: pragma.html, checked-by: tcl/pragma3.test, th3/cov1/pragma26.test, matrix: context, detail)

R-47512-27714-00574-29870-48560-40440-32292-60340

  An individual database connection D can reduce its maximum parameter number below the compile-time maximum using the sqlite3_limit(D, SQLITE_LIMIT_VARIABLE_NUMBER,...) interface. (source: lang_expr.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-47539-04989-63867-01741-02652-06159-08105-39145

  A time string can be in any of the following formats: YYYY-MM-DD YYYY-MM-DD HH:MM YYYY-MM-DD HH:MM:SS YYYY-MM-DD HH:MM:SS.SSS YYYY-MM-DDTHH:MM YYYY-MM-DDTHH:MM:SS YYYY-MM-DDTHH:MM:SS.SSS HH:MM HH:MM:SS HH:MM:SS.SSS now DDDDDDDDDD (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-47543-32145-59149-48631-62108-17148-32947-37500

  Or, if none of the WHEN expressions evaluate to a value equal to the base expression, the result of evaluating the ELSE expression, if any. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-47563-44180-26995-52116-57167-46758-14753-28295

  An SQLITE_TRACE_PROFILE callback provides approximately the same information as is provided by the sqlite3_profile() callback. (source: c3ref/c_trace.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-47608-56469-23173-27343-55331-44027-52555-65470

  Any other value for the b-tree page type is an error. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-47612-45842-47349-09557-45633-42955-42013-27541

  When casting a TEXT value to INTEGER, the longest possible prefix of the value that can be interpreted as an integer number is extracted from the TEXT value and the remainder ignored. (source: lang_expr.html, checked-by: tcl/e_expr.test, th3/cov1/cast01.test, matrix: context, detail)

R-47666-36489-24359-20436-03208-18550-24058-22275

  To perform a backup operation: sqlite3_backup_init() is called once to initialize the backup, sqlite3_backup_step() is called one or more times to transfer the data between the two databases, and finally sqlite3_backup_finish() is called to release all resources associated with the backup operation. (source: c3ref/backup_finish.html, checked-by: th3/req1/backup01.test, matrix: context, detail)

R-47674-04435-43323-49671-63294-37647-53866-33040

  When a database is in WAL mode, all connections to that database must use the WAL. (source: fileformat2.html, matrix: context, detail)

R-47688-18802-24758-22650-17797-24943-61288-58043

  The query string is divided into key/value pairs. (source: uri.html, matrix: context, detail)

R-47709-27231-29719-54015-39691-57688-49858-37109

  The usual rules apply for selecting a collation sequence to compare text values. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-47730-38043-27274-49738-18176-22421-00022-64697

  Recognized integer codes are of the form SQLITE_STATUS_.... (source: c3ref/status.html, matrix: context, detail)

R-47754-42489-63490-59015-30535-62379-17829-51875

  If the main database has not already been created, then the value returned is the text encoding that will be used to create the main database, if it is created by this session. (source: pragma.html, checked-by: th3/req1/pragma16.test, matrix: context, detail)

R-47754-63122-64688-34803-40832-37059-61979-20469

  If the busy callback is not NULL, then the callback might be invoked with two arguments. (source: c3ref/busy_handler.html, checked-by: th3/req1/busy01.test, matrix: context, detail)

R-47794-27716-03685-35899-02913-62361-61931-61907

  The right-most column that is used can employ inequalities. (source: optoverview.html, matrix: context, detail)

R-47864-57952-52818-65192-57929-18923-19319-26072

  The 's' character at the end of the modifier names is optional. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-47870-49110-06101-43911-08439-20961-63107-08637

  The parent and sub-query may contain WHERE clauses. (source: optoverview.html, matrix: context, detail)

R-47871-25994-62051-30257-22396-55190-62622-00222

  The second argument is the size of each lookaside buffer slot. (source: c3ref/c_dbconfig_defensive.html, checked-by: src/main.c, th3/req1/dbconfig01.test, matrix: context, detail)

R-47901-33947-04080-30794-42855-09326-15418-05201

  With one exception noted below, if a rowid table has a primary key that consists of a single column and the declared type of that column is "INTEGER" in any mixture of upper and lower case, then the column becomes an alias for the rowid. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-47913-44653-19019-51800-53744-51346-51796-57702

  For example, the max() function with a single argument is an aggregate and the max() function with two or more arguments is a simple function. (source: lang_expr.html, checked-by: th3/req1/func05.test, matrix: context, detail)

R-47936-10044-12721-09990-49763-27309-53307-48514

  Or, more generally: SELECT rowid FROM WHERE = :parent_key_value (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys10.test, matrix: context, detail)

R-47952-62498-54054-51429-18050-07399-51898-49231

  It is not possible to use the "ALTER TABLE ... ADD COLUMN" syntax to add a column that includes a REFERENCES clause, unless the default value of the new column is NULL. Attempting to do so returns an error. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys21.test, matrix: context, detail)

R-47962-27004-38595-48890-59288-41835-42483-18817

  In an RTREE virtual table, the first column always has a type affinity of INTEGER and all other data columns have a type affinity of NUMERIC. (source: rtree.html, matrix: context, detail)

R-48014-15694-55612-58237-43071-46388-26537-49429

  sqlite> EXPLAIN QUERY PLAN SELECT a FROM t1 UNION SELECT c FROM t2; QUERY PLAN `--COMPOUND QUERY |--LEFT-MOST SUBQUERY | `--SCAN TABLE t1 USING COVERING INDEX i1 `--UNION USING TEMP B-TREE `--SCAN TABLE t2 USING COVERING INDEX i4 (source: eqp.html, matrix: context, detail)

R-48019-29352-09930-00922-22494-19242-19926-63915

  Strings are surrounded by single-quotes with escapes on interior quotes as needed. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, matrix: context, detail)

R-48044-29703-58801-20879-03319-43155-48187-62436

  Any triggers attached to the table are dropped from the database schema before the implicit DELETE FROM is executed, so this cannot cause any triggers to fire. (source: lang_droptable.html, checked-by: th3/req1/droptable01.test, matrix: context, detail)

R-48107-00250-26810-18282-01790-21926-12239-51218

  The busy-handler is also invoked while waiting for database readers as described above. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, matrix: context, detail)

R-48118-34840-54112-17431-20305-06499-24777-65466

  To convert the results of an SQL expression to a boolean value, SQLite first casts the result to a NUMERIC value in the same way as a CAST expression. A numeric zero value (integer value 0 or real value 0.0) is considered to be false. A NULL value is still NULL. All other values are considered true. (source: lang_expr.html, checked-by: th3/req1/expr03.test, matrix: context, detail)

R-48124-63225-09560-63618-32598-12840-01456-15525

  A single foreign key constraint may have different actions configured for ON DELETE and ON UPDATE. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/pragma02.test, matrix: context, detail)

R-48126-27717-31293-47858-22865-09722-12158-06374

  The content of the statistics tables can be queried using SELECT and can be changed using the DELETE, INSERT, and UPDATE commands. (source: lang_analyze.html, checked-by: th3/req1/analyze01.test, matrix: context, detail)

R-48141-52334-41562-00713-04774-04609-31111-39049

  If the DELETE statement has an ORDER BY clause, then all rows that would be deleted in the absence of the LIMIT clause are sorted according to the ORDER BY. The first M rows, where M is the value found by evaluating the OFFSET clause expression, are skipped, and the following N, where N is the value of the LIMIT expression, are deleted. (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-48191-50425-24568-05066-49812-07872-47674-23180

  A rollback journal is only considered to be valid if it exists and contains a valid header. (source: fileformat2.html, matrix: context, detail)

R-48204-18881-64880-60099-58359-33874-53073-00752

  Instead, the built-in Date And Time Functions of SQLite are capable of storing dates and times as TEXT, REAL, or INTEGER values: TEXT as ISO8601 strings ("YYYY-MM-DD HH:MM:SS.SSS"). REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar. INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-48205-43578-08481-37323-43342-53439-37471-23722

  The default suggested cache size can be altered using the SQLITE_DEFAULT_CACHE_SIZE compile-time options. (source: pragma.html, checked-by: src/sqliteLimit.h, matrix: context, detail)

R-48230-36247-21230-47058-09870-51505-35285-11048

  The special behaviors associated "INTEGER PRIMARY KEY" do not apply on WITHOUT ROWID tables. (source: withoutrowid.html, checked-by: tcl/without_rowid5.test, th3/cov1/withoutrowid01.test, matrix: context, detail)

R-48245-15045-20041-46563-30518-58270-45669-62749

  A filename that is not a well-formed URI is interpreted as an ordinary filename. (source: uri.html, matrix: context, detail)

R-48254-42943-07993-04131-52492-34370-46050-41806

  This option is used to enable or disable the fts3_tokenizer() function which is part of the FTS3 full-text search engine extension. (source: c3ref/c_dbconfig_defensive.html, matrix: context, detail)

R-48270-44282-22791-02682-41212-30485-35514-10094

  Foreign key ON DELETE and ON UPDATE clauses are used to configure actions that take place when deleting rows from the parent table (ON DELETE), or modifying the parent key values of existing rows (ON UPDATE). (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/pragma02.test, matrix: context, detail)

R-48313-35799-57609-24734-64937-33072-43085-04424

  The four-byte page number at offset 8 is the right-most pointer. This value appears in the header of interior b-tree pages only and is omitted from all other pages. (source: fileformat2.html, matrix: context, detail)

R-48331-62427-58525-15123-43794-40933-40016-08024

  The cache size reverts to the default value when the database is closed and reopened. (source: pragma.html, checked-by: th3/req1/pragma09.test, matrix: context, detail)

R-48332-15034-37665-36826-65494-46636-19772-53636

  Overflow pages form a linked list. (source: fileformat2.html, matrix: context, detail)

R-48333-48208-51802-16528-34605-32533-04815-58648

  The page cache implementation may choose to evict unpinned pages at any time. (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-48353-58021-05653-25479-47424-12546-41849-50684

  Coalesce() must have at least 2 arguments. (source: lang_corefunc.html, checked-by: th3/cov1/func01.test, matrix: context, detail)

R-48365-36308-32644-24714-49385-43742-45411-08326

  Specifying an unknown VFS is an error. (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-48367-20048-50643-18297-54370-57109-07198-62808

  Calls to sqlite3_blob_read() and sqlite3_blob_write() for an expired BLOB handle fail with a return code of SQLITE_ABORT. (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, matrix: context, detail)

R-48391-38472-46406-48874-31358-29787-61398-48182

  Instead, such errors prevent the application from preparing SQL statements that modify the content of the child or parent tables in ways that use the foreign keys. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys07.test, matrix: context, detail)

R-48397-09304-28438-45944-41933-38380-50154-54249

  The "localtime" modifier (12) assumes the time string to its left is in Universal Coordinated Time (UTC) and adjusts the time string so that it displays localtime. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-48422-12154-41896-26820-42783-11801-54961-22024

  SQLITE_DONE means that the statement has finished executing successfully. (source: c3ref/step.html, matrix: context, detail)

R-48498-17552-64242-05980-09276-07161-21761-29741

  The priority assigned to each node in the search is the lowest priority returned by any of the MATCH operators. (source: rtree.html, matrix: context, detail)

R-48508-22969-00511-42065-43898-18607-20276-53224

  The sqlite3_expanded_sql() interface returns NULL if insufficient memory is available to hold the result, or if the result would exceed the the maximum string length determined by the SQLITE_LIMIT_LENGTH. (source: c3ref/expanded_sql.html, matrix: context, detail)

R-48515-17071-01748-53635-10360-09083-05478-56213

  When there are multiple VFS shims in the stack, this opcode finds the upper-most shim only. (source: c3ref/c_fcntl_begin_atomic_write.html, matrix: context, detail)

R-48521-51450-40029-38325-35476-53863-12365-01087

  When in write-ahead log mode, only the auto_vacuum support property can be changed using VACUUM. (source: lang_vacuum.html, checked-by: tcl/e_vacuum.test, matrix: context, detail)

R-48560-31808-12822-42502-57159-22070-42910-14910

  The fifth parameter to the preupdate callback is the name of the table that is being modified. (source: c3ref/preupdate_count.html, matrix: context, detail)

R-48563-15053-26384-64007-26863-55213-59220-45966

  If nByte is zero, then no prepared statement is generated. (source: c3ref/prepare.html, checked-by: th3/cov1/prepare07.test, matrix: context, detail)

R-48576-42125-14408-22326-23329-43841-05542-05024

  This pragma only operates on the single database specified prior to the pragma name (or on the "main" database if no database is specified. (source: pragma.html, checked-by: th3/req1/pragma26.test, matrix: context, detail)

R-48584-41074-15154-28473-43969-34090-29401-03268

  For example, if an UPDATE statement encountered a constraint violation on the 100th row that it attempts to update, then the first 99 row changes are preserved but changes to rows 100 and beyond never occur. (source: lang_conflict.html, checked-by: th3/req1/conflict01.test, matrix: context, detail)

R-48616-47814-10585-42560-43373-45165-03302-15640

  The COLLATE clause optionally following each column name or expression defines a collating sequence used for text entries in that column. (source: lang_createindex.html, checked-by: th3/req1/createidx01.test, matrix: context, detail)

R-48666-10705-60913-59085-01718-56024-53514-10016

  The 4-byte big-endian integer at offset 96 stores the SQLITE_VERSION_NUMBER value for the SQLite library that most recently modified the database file. (source: fileformat2.html, matrix: context, detail)

R-48672-52715-12548-65010-48286-41309-29558-44843

  The first six modifiers (1 through 6) simply add the specified amount of time to the date and time specified by the preceding timestring and modifiers. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-48680-34580-07535-36530-00266-23021-14207-17358

  This routine enables or disables the sharing of the database cache and schema data structures between connections to the same database. Sharing is enabled if the argument is true and disabled if the argument is false. (source: c3ref/enable_shared_cache.html, matrix: context, detail)

R-48699-48617-19592-25745-27147-09294-16176-26232

  This function is an SQL wrapper around the sqlite3_libversion() C-interface. (source: lang_corefunc.html, checked-by: src/func.c, th3/req1/func04.test, matrix: context, detail)

R-48711-46457-28354-47973-39166-41669-11371-37006

  The COMMIT command commits all outstanding transactions and leaves the transaction stack empty. (source: lang_savepoint.html, matrix: context, detail)

R-48725-32206-13295-21825-58953-47648-55693-43130

  If it is globally disabled, filenames are only interpreted as URIs if the SQLITE_OPEN_URI flag is set when the database connection is opened. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, matrix: context, detail)

R-48730-20169-40246-20306-06910-57968-05795-57037

  Setting the auto-checkpoint size to zero or a negative value turns auto-checkpointing off. (source: pragma.html, matrix: context, detail)

R-48741-32454-48845-05465-27210-18049-43593-22824

  If the prefix integer is greater than +9223372036854775807 then the result of the cast is exactly +9223372036854775807. (source: lang_expr.html, checked-by: tcl/cast.test, th3/cov1/cast01.test, matrix: context, detail)

R-48747-10400-04518-40468-05285-19498-18492-16808

  The affinity of a column is determined by the declared type of the column, according to the following rules in the order shown: (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-48764-26733-47009-14023-25431-43800-20632-23039

  SQLITE_LIMIT_VDBE_OP The maximum number of instructions in a virtual machine program used to implement an SQL statement. If sqlite3_prepare_v2() or the equivalent tries to allocate space for more than this many opcodes in a single prepared statement, an SQLITE_NOMEM error is returned. (source: c3ref/c_limit_attached.html, checked-by: th3/cov1/vdbe43.test, th3/req1/limit02.test, matrix: context, detail)

R-48780-51154-29045-33846-29685-59485-21134-40329

  A rollback journal header is padded with zeros out to the size of a single sector (as defined by the sector size integer at offset 20). (source: fileformat2.html, matrix: context, detail)

R-48887-45097-32252-48133-01081-61153-45933-38095

  When INSERT OR REPLACE encounters a constraint violation, it does not fail. The INSERT continues to completion after deleting rows that caused the constraint problem so INSERT OR REPLACE will always change the return value of this interface. (source: c3ref/last_insert_rowid.html, matrix: context, detail)

R-48924-26514-16091-23967-07299-63684-26291-30704

  SQLite passes the module arguments directly to the xCreate and xConnect methods of the module implementation without any interpretation. (source: lang_createvtab.html, matrix: context, detail)

R-48930-58522-23866-61724-42615-58170-25168-58351

  If the fullfsync flag is set, then the F_FULLFSYNC syncing method is used for all sync operations and the checkpoint_fullfsync setting is irrelevant. (source: pragma.html, checked-by: th3/req1/pragma11.test, matrix: context, detail)

R-48932-13175-31748-44734-45646-26291-63323-36256

  When the auto_vacuum pragma is invoked with no arguments, it returns the current auto_vacuum mode. (source: pragma.html, checked-by: th3/req1/pragma07.test, matrix: context, detail)

R-48945-04866-13752-27122-40545-48068-02764-57790

  If the input text looks like an integer (there is no decimal point nor exponent) and the value is small enough to fit in a 64-bit signed integer, then the result will be INTEGER. (source: lang_expr.html, checked-by: tcl/e_expr.test, th3/cov1/cast01.test, matrix: context, detail)

R-48957-47016-25285-15223-13940-44175-60524-56619

  PRAGMA schema.max_page_count; PRAGMA schema.max_page_count = N; Query or set the maximum number of pages in the database file. (source: pragma.html, checked-by: th3/req1/pragma12.test, matrix: context, detail)

R-48974-49065-61621-06146-19676-25971-04970-57642

  When overwriting the original, a rollback journal or write-ahead log WAL file is used just as it would be for any other database transaction. (source: lang_vacuum.html, matrix: context, detail)

R-49006-07361-60933-29760-59065-52177-14168-55126

  This interface returns a pointer the sqlite3_mutex object that serializes access to the database connection given in the argument when the threading mode is Serialized. (source: c3ref/db_mutex.html, checked-by: th3/req1/dbmutex01.test, matrix: context, detail)

R-49034-18526-14571-23024-35463-03575-44456-04746

  If sqlite3_close_v2() is called with unfinalized prepared statements, unclosed BLOB handlers, and/or unfinished sqlite3_backups, it returns SQLITE_OK regardless, but instead of deallocating the database connection immediately, it marks the database connection as an unusable "zombie" and makes arrangements to automatically deallocate the database connection after all prepared statements are finalized, all BLOB handles are closed, and all backups have finished. (source: c3ref/close.html, checked-by: th3/cov1/main39.test, matrix: context, detail)

R-49045-42493-00753-52815-20675-33627-44655-32339

  SQLite will use the xCurrentTimeInt64() method to get the current date and time if that method is available (if iVersion is 2 or greater and the function pointer is not NULL) and will fall back to xCurrentTime() if xCurrentTimeInt64() is unavailable. (source: c3ref/vfs.html, checked-by: src/os.c, matrix: context, detail)

R-49053-54554-23954-60675-57503-20600-08222-18852

  The sqlite3_free() routine is a no-op if is called with a NULL pointer. (source: c3ref/free.html, checked-by: src/malloc.c, th3/req1/malloc02.test, matrix: context, detail)

R-49060-02464-24124-01756-13538-48535-01084-34882

  For UTF16 input text to the sqlite3_result_text16(), sqlite3_result_text16be(), sqlite3_result_text16le(), and sqlite3_result_text64() routines, if the text contains invalid UTF16 characters, the invalid characters might be converted into the unicode replacement character, U+FFFD. (source: c3ref/result_blob.html, matrix: context, detail)

R-49065-33371-62807-45806-18659-22955-12642-05474

  you cannot create indices or triggers on a virtual table. (source: lang_createvtab.html, matrix: context, detail)

R-49080-64834-49066-11889-43527-52313-57456-24143

  SQLite further guarantees that the string will be valid and unchanged until xClose() is called. (source: c3ref/vfs.html, checked-by: th3/th3testvfs.c, matrix: context, detail)

R-49128-31170-23004-04082-05241-62766-17146-48048

  The second column is "main" for the main database file, "temp" for the database file used to store TEMP objects, or the name of the ATTACHed database for other database files. (source: pragma.html, checked-by: th3/req1/pragma14.test, matrix: context, detail)

R-49155-63541-44229-54839-02572-16362-28643-16859

  If the busy-handler returns 0 before the writer lock is obtained or while waiting for database readers, the checkpoint operation proceeds from that point in the same way as SQLITE_CHECKPOINT_PASSIVE - checkpointing as many frames as possible without blocking any further. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, matrix: context, detail)

R-49178-21358-58489-31319-06651-33455-27209-45773

  By contrast, if a statement modifies the contents of the database such that a deferred foreign key constraint is violated, the violation is not reported immediately. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys12.test, matrix: context, detail)

R-49203-06300-24971-00388-61998-23090-03169-09394

  SQLITE_ERROR means that a run-time error (such as a constraint violation) has occurred. (source: c3ref/step.html, matrix: context, detail)

R-49248-49502-37963-38186-54348-07899-11836-10186

  A trace callback has four arguments: xCallback(T,C,P,X). (source: c3ref/c_trace.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-49314-60109-53910-26284-37294-10072-42169-13875

  The sqlite3_str_new(D) interface always returns a pointer to a valid sqlite3_str object, though in the event of an out-of-memory error the returned object might be a special singleton that will silently reject new text, always return SQLITE_NOMEM from sqlite3_str_errcode(), always return 0 for sqlite3_str_length(), and always return NULL from sqlite3_str_finish(X). (source: c3ref/str_new.html, matrix: context, detail)

R-49321-63177-63913-58265-32915-52148-26230-28252

  At the start of the first new write transaction, the WAL header salt-1 value is incremented and the salt-2 value is randomized. (source: fileformat2.html, matrix: context, detail)

R-49341-60912-32956-53217-17617-26256-31299-20924

  The schema for the sqlite_sequence table is: CREATE TABLE sqlite_sequence(name,seq); (source: fileformat2.html, matrix: context, detail)

R-49389-26640-51376-48756-08197-40049-61248-27840

  And auto_vacuum does not compact partially filled pages of the database as VACUUM does. (source: lang_vacuum.html, matrix: context, detail)

R-49393-15807-43324-42694-44769-65487-48669-16604

  If N is greater than zero, then the analysis limit is set to N and subsequent ANALYZE commands will breaks off processing each index after it has examined approximately N rows. (source: pragma.html, matrix: context, detail)

R-49438-33626-11664-14261-26905-24626-16262-08666

  The second argument is the index of the SQL parameter to be set. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-49475-10767-10056-16287-22604-26853-09642-54500

  Triggers are database operations that are automatically performed when a specified database event occurs. (source: lang_createtrigger.html, matrix: context, detail)

R-49566-01570-19269-51029-21052-63278-54120-39261

  If the left and right-hand input datasets feature no common column names, then the NATURAL keyword has no effect on the results of the join. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-49616-30196-22472-11090-21986-31770-01648-15576

  Or, if the argument attached to the REINDEX identifies a specific database table, then all indices attached to the database table are rebuilt. (source: lang_reindex.html, checked-by: tcl/e_reindex.test, matrix: context, detail)

R-49703-40061-17137-59156-45965-30575-53076-21589

  Note that you must use the keyword "CROSS" in order to disable the table reordering optimization; INNER JOIN, NATURAL JOIN, JOIN, and other similar combinations work just like a comma join in that the optimizer is free to reorder tables as it sees fit. (source: optoverview.html, matrix: context, detail)

R-49709-12803-31814-26348-47423-57692-52617-09726

  If this variable is a NULL pointer, then SQLite assumes that all database files specified with a relative pathname are relative to the current directory for the process. (source: c3ref/data_directory.html, matrix: context, detail)

R-49713-24018-00307-59185-08643-49847-38156-16208

  PRAGMA optimize; PRAGMA optimize(MASK); PRAGMA schema.optimize; PRAGMA schema.optimize(MASK); Attempt to optimize the database. (source: pragma.html, matrix: context, detail)

R-49718-44437-53178-33073-48551-60632-45231-61036

  If sqlite3_backup_step(B,N) successfully copies N pages and there are still more pages to be copied, then the function returns SQLITE_OK. (source: c3ref/backup_finish.html, checked-by: th3/req1/backup03.test, matrix: context, detail)

R-49744-28344-63399-17680-56251-18260-15622-25179

  Return the number of columns in the result set returned by the prepared statement. (source: c3ref/column_count.html, checked-by: th3/req1/datacnt01.test, th3/th3util.c, matrix: context, detail)

R-49752-52776-47662-23975-09882-64912-61393-46932

  Unless deadlock is detected (see below), sqlite3_unlock_notify() always returns SQLITE_OK. (source: c3ref/unlock_notify.html, matrix: context, detail)

R-49755-52305-50585-21714-21268-35296-20673-02389

  Hence, to find the current value of a limit without changing it, simply invoke this interface with the third parameter set to -1. (source: c3ref/limit.html, checked-by: th3/req1/limit01.test, matrix: context, detail)

R-49759-12456-29059-02912-58446-28690-22652-14283

  None of the xSavepoint(), xRelease(), or xRollbackTo() methods will ever be called except in between calls to xBegin() and either xCommit() or xRollback(). (source: vtab.html, matrix: context, detail)

R-49770-47130-58542-44165-02097-09691-62108-60186

  Thus with SQLite, there is no computational advantage to use the newer SQL92 join syntax over the older SQL89 comma-join syntax. They both end up accomplishing exactly the same thing on inner joins. (source: optoverview.html, matrix: context, detail)

R-49783-61279-16242-54630-23858-13201-42746-50539

  An "at" sign works exactly like a colon, except that the name of the parameter created is @AAAA. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-49787-09095-59828-21873-59722-58007-44874-49615

  The sqlite3_wal_checkpoint_v2(D,X,M,L,C) interface runs a checkpoint operation on database X of database connection D in mode M. Status information is written back into integers pointed to by L and C. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, matrix: context, detail)

R-49789-16524-33222-15346-50158-11030-19428-38711

  For an inner join, the two queries above would be identical. (source: optoverview.html, matrix: context, detail)

R-49793-28525-19299-21644-21029-37441-20100-31652

  Setting the cache parameter to "private" is equivalent to setting the SQLITE_OPEN_PRIVATECACHE bit. (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-49794-35026-38918-00907-30383-35141-38655-30488

  Value is a big-endian 16-bit twos-complement integer. (source: fileformat2.html, checked-by: src/vdbeaux.c, th3/req1/fileformat02.test, matrix: context, detail)

R-49846-38160-32658-53011-14500-27650-55616-46897

  If the argument is a table name, then only that table and the indices associated with that table are analyzed. (source: lang_analyze.html, checked-by: th3/req1/analyze01.test, matrix: context, detail)

R-49851-43011-30572-52632-23403-60290-47065-63539

  When this flag is on, the ALTER TABLE RENAME command (for changing the name of a table) works as it did in SQLite 3.24.0 (2018-06-04) and earlier. (source: pragma.html, matrix: context, detail)

R-49858-53293-55345-56898-28930-13121-51128-08876

  If a column-name list follows the view-name, then that list determines the names of the columns for the view. (source: lang_createview.html, matrix: context, detail)

R-49872-03192-58704-53251-31114-19723-47133-57999

  If the join-operator is "CROSS JOIN", "INNER JOIN", "JOIN" or a comma (",") and there is no ON or USING clause, then the result of the join is simply the cartesian product of the left and right-hand datasets. (source: lang_select.html, checked-by: tcl/e_select.test, tcl/e_select2.test, matrix: context, detail)

R-49876-15090-54531-12360-51762-42464-27372-16242

  SQLite makes a copy of the content of the sqlite3_mutex_methods structure before the call to sqlite3_config() returns. (source: c3ref/c_config_covering_index_scan.html, checked-by: th3/th3main.c, matrix: context, detail)

R-49920-60189-48669-35973-51094-40513-29191-34461

  If the first pointer (the memory pointer) is NULL, then SQLite reverts to using its default memory allocator (the system malloc() implementation), undoing any prior invocation of SQLITE_CONFIG_MALLOC. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, th3/th3oom.c, matrix: context, detail)

R-49925-55905-53634-34425-17507-41771-04127-21905

  Otherwise, the BINARY collation sequence is used. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-49931-19798-23474-09370-36216-10511-05923-60825

  After each call to sqlite3_set_auxdata(C,N,P,X) where X is not NULL, SQLite will invoke the destructor function X with parameter P exactly once, when the metadata is discarded. (source: c3ref/get_auxdata.html, matrix: context, detail)

R-49933-05137-11348-33836-49788-49818-47982-53945

  If there is a USING clause then each of the column names specified must exist in the datasets to both the left and right of the join-operator. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-49956-53465-03282-32441-61380-45245-38103-26687

  A protected sqlite3_value object may always be used where an unprotected sqlite3_value object is required, so either kind of sqlite3_value object can be used with this interface. (source: c3ref/result_blob.html, checked-by: th3/req1/result03.test, matrix: context, detail)

R-49959-19447-21859-18883-29920-55804-31442-61320

  The xMutexInit method defined by this structure is invoked as part of system initialization by the sqlite3_initialize() function. (source: c3ref/mutex_methods.html, matrix: context, detail)

R-49983-40731-31772-48546-63558-64382-07908-41217

  There is normally one row per index, with the index identified by the name in the sqlite_stat1.idx column. (source: fileformat2.html, matrix: context, detail)

R-49991-12716-30919-42596-27111-39963-53414-21739

  A keyword in double-quotes is an identifier. (source: lang_keywords.html, checked-by: th3/req1/keyword01.test, matrix: context, detail)

R-50036-02772-43008-32720-05728-55771-24380-32183

  The definition of GLOB pattern matching used in sqlite3_strglob(P,X) is the same as for the "X GLOB P" operator in the SQL dialect understood by SQLite. (source: c3ref/strglob.html, checked-by: th3/cov1/glob01.test, matrix: context, detail)

R-50083-49187-63509-30877-07462-63628-48341-23744

  Both routines return a NULL pointer if sqlite3_malloc64() is unable to allocate enough memory to hold the resulting string. (source: c3ref/mprintf.html, matrix: context, detail)

R-50083-60579-41416-11234-29660-46304-14804-18223

  The second argument is an integer constant, taken from the set of SQLITE_DBSTATUS options, that determines the parameter to interrogate. (source: c3ref/db_status.html, checked-by: th3/req1/dbstatus01.test, matrix: context, detail)

R-50109-18895-48987-07545-37480-53059-10212-16515

  Hexadecimal integer literals follow the C-language notation of "0x" or "0X" followed by hexadecimal digits. (source: lang_expr.html, checked-by: th3/req1/expr01.test, matrix: context, detail)

R-50117-55204-45597-46380-14331-21746-62351-54085

  Foreign key constraints are enabled, column zColumn is part of a child key definition and the blob is being opened for read/write access (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, th3/cov1/vdbeblob06.test, matrix: context, detail)

R-50141-17598-64848-16921-53866-52555-58777-52662

  The legacy_file_format pragma can be used to change set the specific behavior for any version of SQLite. (source: lang_createindex.html, matrix: context, detail)

R-50173-30557-65428-54259-43210-11188-24430-56909

  The integrity_check pragma look for: Table or index entries that are out of sequence Misformatted records Missing pages Missing or surplus index entries UNIQUE, CHECK, and NOT NULL constraint errors Integrity of the freelist Sections of the database that are used more than once, or not at all (source: pragma.html, matrix: context, detail)

R-50185-15050-31039-59683-34271-57411-13572-34990

  sqlite3_initialize() will invoke sqlite3_os_init(). (source: c3ref/initialize.html, matrix: context, detail)

R-50194-36439-38643-58258-08094-53618-19496-51516

  The right-hand side of the LIKE or GLOB must be either a string literal or a parameter bound to a string literal that does not begin with a wildcard character. (source: optoverview.html, matrix: context, detail)

R-50221-42915-63366-22900-20330-11785-03020-07712

  The result of an IN or NOT IN operator is determined by the following matrix: Left operand is NULL Right operand contains NULL Right operand is an empty set Left operand found within right operand Result of IN operator Result of NOT IN operator no no no no false true does not matter no yes no false true no does not matter no yes true false no yes no no NULL NULL yes does not matter no does not matter NULL NULL (source: lang_expr.html, checked-by: tcl/tkt-80e031a00f.test, matrix: context, detail)

R-50227-03668-59884-25860-05974-05725-11856-44463

  The descending index schema format (4) takes index sort order into account. (source: lang_createindex.html, checked-by: th3/req1/createidx02.test, matrix: context, detail)

R-50230-26466-58809-52102-21271-42089-25495-26496

  Without this flag, sqlite3_prepare_v3() and sqlite3_prepare16_v3() assume that the prepared statement will be used just once or at most a few times and then destroyed using sqlite3_finalize() relatively soon. (source: c3ref/c_prepare_normalize.html, matrix: context, detail)

R-50253-50589-37477-41446-40449-16495-32904-62089

  The subquery may not be a recursive CTE. (source: optoverview.html, matrix: context, detail)

R-50295-28419-15389-14310-31711-65097-63451-02333

  Thus if the BETWEEN term ends up being used as an index constraint no tests are ever performed on that term. (source: optoverview.html, matrix: context, detail)

R-50299-05307-25514-21202-52371-12958-26129-48124

  When an applicable constraint violation occurs, the IGNORE resolution algorithm skips the one row that contains the constraint violation and continues processing subsequent rows of the SQL statement as if nothing went wrong. (source: lang_conflict.html, checked-by: th3/req1/conflict01.test, matrix: context, detail)

R-50300-26941-55863-56023-43928-35657-09281-24931

  Any text input that describes a value outside the range of a 64-bit signed integer yields a REAL result. (source: lang_expr.html, checked-by: tcl/e_expr.test, th3/cov1/cast01.test, matrix: context, detail)

R-50324-49641-07188-15996-37030-30300-11878-30571

  When an SQL table includes an INTEGER PRIMARY KEY column (which aliases the rowid) then that column appears in the record as a NULL value. (source: fileformat2.html, matrix: context, detail)

R-50327-55469-41680-02730-23455-56699-46254-12208

  The sqlite_schema.type column will be one of the following text strings: 'table', 'index', 'view', or 'trigger' according to the type of object defined. The 'table' string is used for both ordinary and virtual tables. (source: fileformat2.html, matrix: context, detail)

R-50385-09674-49008-33764-60842-63141-30629-37607

  Value is a big-endian 48-bit twos-complement integer. (source: fileformat2.html, checked-by: src/vdbeaux.c, th3/req1/fileformat02.test, matrix: context, detail)

R-50436-30597-52741-48231-49256-06993-48572-34850

  The list of query parameters appended to the xOpen filename is terminated by a single zero-length key. (source: uri.html, matrix: context, detail)

R-50437-53270-64199-48076-12233-35385-13777-56267

  The first argument is a pointer to an sqlite3_rtree_geometry structure which provides information about how the SQL function was invoked. (source: rtree.html, matrix: context, detail)

R-50442-34254-35455-58700-58965-62142-32020-28485

  For nested transactions, use the SAVEPOINT and RELEASE commands. (source: lang_transaction.html, matrix: context, detail)

R-50479-29416-05730-38331-50823-03190-30140-42480

  Invoking sqlite3_soft_heap_limit64(0) when the hard heap limit is enabled makes the soft heap limit equal to the hard heap limit. (source: c3ref/hard_heap_limit64.html, matrix: context, detail)

R-50479-38141-17486-25121-60764-22579-08326-61073

  The sqlite3_strglob(P,X) function is case sensitive. (source: c3ref/strglob.html, checked-by: th3/cov1/glob01.test, matrix: context, detail)

R-50485-58274-46639-28890-19306-28119-49534-14014

  The first time the sqlite3_aggregate_context(C,N) routine is called for a particular aggregate function, SQLite allocates N bytes of memory, zeroes out that memory, and returns a pointer to the new memory. (source: c3ref/aggregate_context.html, checked-by: th3/req1/aggcntx01.test, matrix: context, detail)

R-50503-22862-13388-40598-38770-05008-28550-22955

  It is harmless, apart from the wasted memory, for the sz parameter to be larger than necessary. (source: c3ref/c_config_covering_index_scan.html, checked-by: th3/cov1/main42.test, matrix: context, detail)

R-50542-62589-12148-25496-57313-35082-62636-01906

  If the row that a BLOB handle points to is modified by an UPDATE, DELETE, or by ON CONFLICT side-effects then the BLOB handle is marked as "expired". This is true if any column of the row is changed, even a column other than the one the BLOB handle is open on. (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, matrix: context, detail)

R-50551-20166-10060-53242-13172-15723-06354-52489

  In any database file that contains ptrmap pages, all b-tree root pages must come before any non-root b-tree page, cell payload overflow page, or freelist page. (source: fileformat2.html, matrix: context, detail)

R-50561-21716-49344-62594-61737-43195-59179-37313

  SQLITE_NOMEM is returned if malloc() fails. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-50578-26484-60015-06758-51752-02916-33934-51751

  The default setting for auto-vacuum is 0 or "none", unless the SQLITE_DEFAULT_AUTOVACUUM compile-time option is used. (source: pragma.html, checked-by: th3/req1/pragma07.test, matrix: context, detail)

R-50603-48655-15152-53727-63260-31520-08001-01619

  The sqlite3_preupdate_hook() interface registers a callback function that is invoked prior to each INSERT, UPDATE, and DELETE operation on a database table. (source: c3ref/preupdate_count.html, matrix: context, detail)

R-50610-58991-40013-53389-28738-38932-29911-53900

  Database locks obtained by a connection in EXCLUSIVE mode may be released either by closing the database connection, or by setting the locking-mode back to NORMAL using this pragma and then accessing the database file (for read or write). (source: pragma.html, checked-by: th3/req1/pragma04.test, matrix: context, detail)

R-50620-43692-22262-08233-20574-62920-57833-55280

  The value will be valid until the database N is DETACH-ed or until the database connection closes. (source: c3ref/db_filename.html, matrix: context, detail)

R-50629-09283-02529-31024-03182-51396-04180-35688

  The trim(X,Y) function returns a string formed by removing any and all characters that appear in Y from both ends of X. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-50658-17415-26867-64238-49618-34933-22371-53108

  One is the usual increment. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-50676-09860-46242-55530-65292-55859-31075-59958

  The callback can compute the same text that would have been returned by the legacy sqlite3_trace() interface by using the X argument when X begins with "--" and invoking sqlite3_expanded_sql(P) otherwise. (source: c3ref/c_trace.html, checked-by: src/vdbe.c, matrix: context, detail)

R-50678-57776-62798-21946-06580-60998-12542-16606

  If Y is an empty string then return X unchanged. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-50747-49923-21483-58514-27398-43836-46861-05011

  In WAL mode when synchronous is NORMAL (1), the WAL file is synchronized before each checkpoint and the database file is synchronized after each completed checkpoint and the WAL file header is synchronized when a WAL file begins to be reused after a checkpoint, but no sync operations occur during most transactions. (source: pragma.html, matrix: context, detail)

R-50761-32325-45623-21011-38075-29398-65285-24375

  If the SQL statement being executed returns any data, then SQLITE_ROW is returned each time a new row of data is ready for processing by the caller. (source: c3ref/step.html, matrix: context, detail)

R-50775-16353-43388-35823-42786-57944-23203-27410

  Aggregate max() returns NULL if and only if there are no non-NULL values in the group. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-50779-31451-02741-56798-14558-26402-32929-36548

  Regardless of the compile-time or start-time settings, URI filenames can be enabled for individual database connections by including the SQLITE_OPEN_URI bit in the set of bits passed as the F parameter to sqlite3_open_v2(N,P,F,V). (source: uri.html, checked-by: th3/th3script.c, th3/th3scriptDemo.c, matrix: context, detail)

R-50786-24793-54635-21021-11581-63558-51983-08230

  The sqlite3_backup_finish() interfaces releases all resources associated with the sqlite3_backup object. (source: c3ref/backup_finish.html, matrix: context, detail)

R-50811-36721-38303-45762-44578-12408-00845-45536

  Return the index of an SQL parameter given its name. (source: c3ref/bind_parameter_index.html, checked-by: th3/req1/bind03.test, matrix: context, detail)

R-50848-12841-20813-56140-49872-26884-10100-43197

  The sqlite3_realloc(X,N) interface attempts to resize a prior memory allocation X to be at least N bytes. (source: c3ref/free.html, checked-by: th3/req1/malloc02.test, matrix: context, detail)

R-50854-53979-53797-24039-01336-17260-53892-24252

  If the flags parameter is non-zero, then the BLOB is opened for read and write access. (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, th3/cov1/vdbeblob01.test, matrix: context, detail)

R-50943-18433-57597-04082-04676-55042-26161-32461

  Frequent inserts, updates, and deletes can cause the database file to become fragmented - where data for a single table or index is scattered around the database file. (source: lang_vacuum.html, checked-by: tcl/e_vacuum.test, matrix: context, detail)

R-50949-63870-33866-03179-22330-03090-53959-18896

  The sqlite3_preupdate_depth(D) interface returns 0 if the preupdate callback was invoked as a result of a direct insert, update, or delete operation; or 1 for inserts, updates, or deletes invoked by top-level triggers; or 2 for changes resulting from triggers called by top-level triggers; and so forth. (source: c3ref/preupdate_count.html, matrix: context, detail)

R-50991-36730-61115-19569-38902-10025-13040-27195

  The julianday() function returns the Julian day - the number of days since noon in Greenwich on November 24, 4714 B.C. (Proleptic Gregorian calendar). (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-51001-58728-23268-57802-19223-01595-20066-01281

  If sqlite3_malloc() fails during the processing of either routine (for example during a conversion from UTF-8 to UTF-16) then a NULL pointer is returned. (source: c3ref/column_name.html, matrix: context, detail)

R-51011-20077-64132-12410-55765-38017-02998-57581

  The results of an ANALYZE command are only available to database connections that are opened after the ANALYZE command completes. (source: optoverview.html, matrix: context, detail)

R-51014-28024-42085-28455-54203-21971-27731-22448

  The preupdate hook only fires for changes to real database tables; the preupdate hook is not invoked for changes to virtual tables or to system tables like sqlite_sequence or sqlite_stat1. (source: c3ref/preupdate_count.html, matrix: context, detail)

R-51039-44840-65130-09775-42940-11077-05048-04287

  The foreign key declared as part of table child4 is an error because even though the parent key column is indexed, the index is not UNIQUE. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys07.test, matrix: context, detail)

R-51077-27219-05589-60630-09467-24342-14957-57780

  The sqlite3_bind_parameter_name(P,N) interface returns the name of the N-th SQL parameter in the prepared statement P. (source: c3ref/bind_parameter_name.html, checked-by: th3/req1/bind04.test, matrix: context, detail)

R-51090-01319-14064-12731-11996-25271-12036-18507

  To specify a ROWID manually, just include it in the list of values to be inserted. For example: CREATE TABLE test1(a INT, b TEXT); INSERT INTO test1(rowid, a, b) VALUES(123, 5, 'hello'); (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-51132-22354-55296-53634-47929-60689-49370-19301

  The fragment is optional. If present, it is ignored. (source: uri.html, matrix: context, detail)

R-51136-58806-61234-62019-55007-59360-42389-06217

  The SQLITE_CONFIG_GETMUTEX option takes a single argument which is a pointer to an instance of the sqlite3_mutex_methods structure. The sqlite3_mutex_methods structure is filled with the currently defined mutex routines. (source: c3ref/c_config_covering_index_scan.html, checked-by: th3/th3main.c, matrix: context, detail)

R-51188-10511-53486-13467-33183-09537-36166-58492

  In a well-formed database, all children of an interior b-tree have the same depth. (source: fileformat2.html, matrix: context, detail)

R-51202-43754-48199-60556-57882-64692-40949-61434

  The last transaction started will be the first transaction committed or rolled back. (source: lang_savepoint.html, matrix: context, detail)

R-51206-57397-04624-50040-55912-00290-07116-44966

  The sqlite3_result_int() interface sets the return value of the application-defined function to be the 32-bit signed integer value given in the 2nd argument. (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-51213-46414-44836-21808-03706-65472-27222-00802

  The SQLITE_CONFIG_GETMALLOC option takes a single argument which is a pointer to an instance of the sqlite3_mem_methods structure. The sqlite3_mem_methods structure is filled with the currently defined memory allocation routines. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, th3/th3oom.c, matrix: context, detail)

R-51232-50224-58506-40920-61688-18757-44131-05457

  The collation sequence used to compare two text values is determined as if the columns of the left and right-hand SELECT statements were the left and right-hand operands of the equals (=) operator, except that greater precedence is not assigned to a collation sequence specified with the postfix COLLATE operator. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-51243-03259-14628-62602-22056-51212-17455-10922

  Otherwise, the BINARY collating function is used for comparison. (source: datatype3.html, checked-by: th3/req1/datatype3_09.test, matrix: context, detail)

R-51247-30732-42040-45560-24413-23058-07649-15585

  The subquery is not DISTINCT. (source: optoverview.html, matrix: context, detail)

R-51255-43746-15106-11095-25505-08076-41908-14797

  For example, given the database schema: CREATE TABLE t1(c1 VARIANT); and the following statement to be compiled: SELECT c1 + 1, c1 FROM t1; this routine would return the string "VARIANT" for the second result column (i==1), and a NULL pointer for the first result column (i==0). (source: c3ref/column_decltype.html, matrix: context, detail)

R-51278-32108-12212-46077-36246-55134-53199-48747

  SQLite interprets the error message string from sqlite3_result_error() as UTF-8. (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-51288-13280-04102-45116-03468-31022-16818-18887

  PRAGMA schema.synchronous; PRAGMA schema.synchronous = 0 | OFF | 1 | NORMAL | 2 | FULL | 3 | EXTRA; Query or change the setting of the "synchronous" flag. (source: pragma.html, matrix: context, detail)

R-51332-60960-52674-22540-45151-35167-25354-18137

  Zero or more escape sequences of the form "%HH" (where H represents any hexadecimal digit) can occur in the path, query string, or fragment. (source: uri.html, matrix: context, detail)

R-51343-23764-31964-03774-37293-59817-59078-38155

  This technique allows multiple concurrent readers to view different versions of the database content simultaneously. (source: fileformat2.html, matrix: context, detail)

R-51358-63229-53880-11808-10105-25877-37226-63676

  If the default VFS is unregistered, another VFS is chosen as the default. The choice for the new VFS is arbitrary. (source: c3ref/vfs_find.html, checked-by: th3/req1/vfs01.test, matrix: context, detail)

R-51359-17496-64791-11531-01433-14001-31199-61206

  The infix LIKE operator is implemented by calling the application-defined SQL functions like(Y,X) or like(Y,X,Z). (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-51370-13632-41258-48157-25813-10718-36175-44493

  If the integer at offset 52 is zero then pointer-map (ptrmap) pages are omitted from the database file and neither auto_vacuum nor incremental_vacuum are supported. (source: fileformat2.html, matrix: context, detail)

R-51414-32910-11625-05562-19787-23325-64160-35214

  Except for WITHOUT ROWID tables, all rows within SQLite tables have a 64-bit signed integer key that uniquely identifies the row within its table. (source: lang_createtable.html, checked-by: src/resolve.c, matrix: context, detail)

R-51415-29417-45054-21593-06367-21314-00949-64320

  Within a single database connection X, a SELECT statement always sees all changes to the database that are completed prior to the start of the SELECT statement, whether committed or uncommitted. (source: isolation.html, matrix: context, detail)

R-51445-09984-56297-19281-17742-25631-52037-59978

  The return value of the sqlite3_threadsafe() function shows only the compile-time setting of thread safety, not any run-time changes to that setting made by sqlite3_config(). In other words, the return value from sqlite3_threadsafe() is unchanged by calls to sqlite3_config(). (source: c3ref/threadsafe.html, checked-by: th3/th3main.c, matrix: context, detail)

R-51463-25634-03361-45717-43677-30720-21925-17287

  Attempts to increase a limit above its hard upper bound are silently truncated to the hard upper bound. (source: c3ref/limit.html, checked-by: src/main.c, th3/req1/limit01.test, matrix: context, detail)

R-51469-36013-06451-37309-14378-27141-44520-41230

  Unless SQLite is running in "auto_vacuum=FULL" mode, when a large amount of data is deleted from the database file it leaves behind empty space, or "free" database pages. (source: lang_vacuum.html, checked-by: tcl/e_vacuum.test, matrix: context, detail)

R-51513-12026-58956-15151-33280-52344-26081-14635

  The last_insert_rowid() SQL function is a wrapper around the sqlite3_last_insert_rowid() C/C++ interface function. (source: lang_corefunc.html, checked-by: src/func.c, matrix: context, detail)

R-51517-40824-40012-37469-09201-20241-42443-20040

  If a REAL is greater than the greatest possible signed integer (+9223372036854775807) then the result is the greatest possible signed integer and if the REAL is less than the least possible signed integer (-9223372036854775808) then the result is the least possible signed integer. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-51594-01886-40324-04229-65116-14684-49683-32490

  The blocked connections unlock-notify callback may also be canceled by closing the blocked connection using sqlite3_close(). (source: c3ref/unlock_notify.html, matrix: context, detail)

R-51608-43497-31902-60107-31973-18527-41260-25807

  However, if SQLite is compiled with the SQLITE_OMIT_AUTOINIT compile-time option, then the automatic calls to sqlite3_initialize() are omitted and the application must call sqlite3_initialize() directly prior to using any other SQLite interface. (source: c3ref/initialize.html, matrix: context, detail)

R-51689-46548-01385-34358-38620-06240-42232-09514

  If URI handling is globally enabled, all filenames passed to sqlite3_open(), sqlite3_open_v2(), sqlite3_open16() or specified as part of ATTACH commands are interpreted as URIs, regardless of whether or not the SQLITE_OPEN_URI flag is set when the database connection is opened. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, matrix: context, detail)

R-51717-16874-57746-23780-03416-60181-48500-48749

  The sqlite3_value objects that are passed as parameters into the implementation of application-defined SQL functions are protected. (source: c3ref/value.html, checked-by: th3/req1/value01.test, matrix: context, detail)

R-51733-58667-21298-61463-51769-00827-24918-26200

  The sqlite_schema.name column will hold the name of the object. (source: fileformat2.html, matrix: context, detail)

R-51848-06142-00211-08018-28076-33620-42817-53867

  When grouping values with the GROUP BY clause values with different storage classes are considered distinct, except for INTEGER and REAL values which are considered equal if they are numerically equal. (source: datatype3.html, checked-by: th3/req1/datatype3_07.test, matrix: context, detail)

R-51849-15852-01721-49206-07191-28976-11047-33073

  This routine can be used to find the number of SQL parameters in a prepared statement. (source: c3ref/bind_parameter_count.html, checked-by: th3/req1/bindparamcnt01.test, matrix: context, detail)

R-51867-44713-01499-65438-22037-17014-32940-19082

  This mode blocks new database writers while it is pending, but new database readers are allowed to continue unimpeded. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, matrix: context, detail)

R-51873-39618-36887-07740-29910-44227-64994-45614

  The page size for a database file is determined by the 2-byte integer located at an offset of 16 bytes from the beginning of the database file. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-51885-22945-13735-45717-24021-29019-43116-06433

  If the fourth parameter is a NULL pointer then the default sqlite3_vfs object is used. (source: c3ref/open.html, matrix: context, detail)

R-51885-42713-13450-15041-37294-08802-56652-50878

  If an sqlite3 object is destroyed while a transaction is open, the transaction is automatically rolled back. (source: c3ref/close.html, checked-by: th3/cov1/main23.test, matrix: context, detail)

R-51928-56409-25580-29954-36146-50977-06316-16623

  If the Y argument is omitted, it is assumed to be 0. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, matrix: context, detail)

R-51971-34154-03806-52008-63597-27653-22801-35864

  A value of 3 means UTF-16be. (source: fileformat2.html, checked-by: th3/req1/fileformat03.test, matrix: context, detail)

R-51988-01124-61073-07192-64442-28469-58291-20254

  The single row of result-set data created by evaluating the aggregate and non-aggregate expressions in the result-set forms the result of an aggregate query without a GROUP BY clause. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-52009-56800-02876-38410-52331-04439-27959-64251

  When the same named SQL parameter is used more than once, second and subsequent occurrences have the same index as the first occurrence. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-52058-53560-05683-08265-32399-18917-51840-34472

  The difference between this pragma and cache_size is that the value set here persists across database connections. (source: pragma.html, checked-by: th3/req1/pragma09.test, matrix: context, detail)

R-52064-29026-64235-14547-56898-38639-53411-40731

  Then valid content of the WAL is transferred into the database file. (source: fileformat2.html, matrix: context, detail)

R-52075-50256-20099-08079-26279-42286-42612-03538

  WAL databases can be accessed in EXCLUSIVE mode without the use of shared memory. (source: pragma.html, checked-by: th3/req1/pragma05.test, matrix: context, detail)

R-52087-12043-18539-27674-65294-02537-52169-03316

  The GLOB operator is similar to LIKE but uses the Unix file globbing syntax for its wildcards. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-52095-61560-15875-18075-33970-20286-17473-17110

  Compute the time since the unix epoch in seconds (like strftime('%s','now') except includes fractional part): SELECT (julianday('now') - 2440587.5)*86400.0; (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-52112-44167-29557-32082-32253-19519-12143-63610

  Disable the authorizer by installing a NULL callback. (source: c3ref/set_authorizer.html, checked-by: tcl/auth.test, th3/cov1/auth01.test, matrix: context, detail)

R-52129-08912-02677-16711-14942-51135-37066-54539

  Otherwise the two pragmas are the same. (source: pragma.html, matrix: context, detail)

R-52155-58082-26086-07987-14656-12581-61413-44017

  The database file is truncated by the same amount. (source: pragma.html, checked-by: th3/req1/pragma21.test, matrix: context, detail)

R-52173-30215-53600-04024-57111-07523-42614-02715

  A new entry is inserted into the table for each row of data returned by executing the SELECT statement. (source: lang_insert.html, checked-by: tcl/e_insert.test, matrix: context, detail)

R-52173-44778-34853-40579-46358-28940-10008-53316

  The REINDEX command is used to delete and recreate indices from scratch. (source: lang_reindex.html, checked-by: tcl/e_reindex.test, matrix: context, detail)

R-52186-13726-13182-41140-39915-38956-00015-42302

  When temp_store is MEMORY (2) temporary tables and indices are kept in as if they were pure in-memory databases memory. (source: pragma.html, matrix: context, detail)

R-52219-37966-04646-12994-22275-64637-40649-18825

  The "const char *" variable pointed to by the V parameter will be set to a zero-terminated UTF-8 string containing the EXPLAIN QUERY PLAN description for the X-th loop. (source: c3ref/c_scanstat_est.html, checked-by: th3/cov1/status02.test, matrix: context, detail)

R-52227-24890-51100-17044-40956-25330-61806-31356

  At this time SQLite supports only FOR EACH ROW triggers, not FOR EACH STATEMENT triggers. (source: lang_createtrigger.html, matrix: context, detail)

R-52275-55503-36173-27620-56866-61017-01277-04274

  When the right operand is an empty set, the result of IN is false and the result of NOT IN is true, regardless of the left operand and even if the left operand is NULL. (source: lang_expr.html, checked-by: tcl/tkt-80e031a00f.test, matrix: context, detail)

R-52293-58497-02008-48685-44667-03336-29126-34066

  If this option is set to an empty string the default VFS object is used. (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-52324-13814-42283-42747-08778-19058-01136-41555

  If the resetFlg is true, then the counter is reset to zero after this interface call returns. (source: c3ref/stmt_status.html, matrix: context, detail)

R-52325-25449-60499-51336-30088-24450-41754-02274

  The value of a subquery expression is NULL if the enclosed SELECT statement returns no rows. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-52382-54248-22062-55622-65270-38332-60427-10536

  Each table in SQLite may have at most one PRIMARY KEY. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-52422-13996-14748-65406-33477-57912-42976-47996

  This optimization is completely invisible at the SQL level and can only be detected by examining the raw bits of the database file. (source: datatype3.html, checked-by: th3/req1/datatype3_12.test, matrix: context, detail)

R-52476-28732-49113-60930-43191-11602-63829-33469

  If the new limit is a negative number, the limit is unchanged. (source: c3ref/limit.html, checked-by: src/main.c, th3/req1/limit01.test, matrix: context, detail)

R-52479-14335-30324-56170-28904-55659-58035-31825

  If the sqlite_sequence row for an AUTOINCREMENT table does not exist when the AUTOINCREMENT table is updated, then a new sqlite_sequence row is created. (source: fileformat2.html, matrix: context, detail)

R-52486-21352-15520-42418-18389-29845-28843-27004

  Expressed in SQL, this means that for every row in the track table, the following expression evaluates to true: trackartist IS NULL OR EXISTS(SELECT 1 FROM artist WHERE artistid=trackartist) (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys01.test, matrix: context, detail)

R-52494-36749-63981-51564-54926-02873-46485-09219

  SQLITE_DBSTATUS_CACHE_WRITE This parameter returns the number of dirty cache entries that have been written to disk. Specifically, the number of pages written to the wal file in wal mode databases, or the number of pages written to the database file in rollback mode databases. Any pages written as part of transaction rollback or database recovery operations are not included. If an IO or other error occurs while writing a page to disk, the effect on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined. (source: c3ref/c_dbstatus_options.html, matrix: context, detail)

R-52502-32617-59424-01442-19182-34788-24122-07279

  If a suffix is added to the zFilename parameter, it will consist of a single "-" character followed by no more than 11 alphanumeric and/or "-" characters. (source: c3ref/vfs.html, checked-by: th3/th3testvfs.c, matrix: context, detail)

R-52566-22867-38000-46800-13895-09420-20056-05293

  So to insert some data into our sample R*Tree index, we can do something like this: INSERT INTO demo_index VALUES( 1, -- Primary key -- SQLite.org headquarters -80.7749, -80.7747, -- Longitude range 35.3776, 35.3778 -- Latitude range ); INSERT INTO demo_index VALUES( 2, -- NC 12th Congressional District in 2010 -81.0, -79.6, 35.0, 36.2 ); The entries above might represent (for example) a bounding box around the main office for SQLite.org and bounding box around the 12th Congressional District of North Carolina (prior to the 2011 redistricting) in which SQLite.org was located. 3.3. Querying An R*Tree Index Any valid query will work against an R*Tree index. But the R*Tree implementation is designed to make two kinds of queries especially efficient. First, queries against the primary key are efficient: SELECT * FROM demo_index WHERE id=1; Of course, an ordinary SQLite table will also do a query against its integer primary key efficiently, so the previous is no big deal. The real reason for using an R*Tree is so that you can efficiently do inequality queries against the coordinate ranges. To find all elements of the index that are contained within the vicinity of Charlotte, North Carolina, one might do: SELECT id FROM demo_index WHERE minX>=-81.08 AND maxX<=-80.58 AND minY>=35.00 AND maxY<=35.44; The query above would very quickly locate the id of 1 even if the R*Tree contained millions of entries. The previous is an example of a "contained-within" query. The R*Tree also supports "overlapping" queries. For example, to find all bounding boxes that overlap the Charlotte area: SELECT id FROM demo_index WHERE maxX>=-81.08 AND minX<=-80.58 AND maxY>=35.00 AND minY<=35.44; This second query would find both entry 1 (the SQLite.org office) which is entirely contained within the query box and also the 12th Congressional District which extends well outside the query box but still overlaps the query box. (source: rtree.html, matrix: context, detail)

R-52572-02078-29727-01284-61421-00978-11983-52043

  For the purposes of determining the uniqueness of primary key values, NULL values are considered distinct from all other values, including other NULLs. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-52584-04009-09183-39351-22068-55932-63814-54169

  The rowid value can be accessed using one of the special case-independent names "rowid", "oid", or "_rowid_" in place of a column name. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-52585-35928-11217-60344-47086-04619-13740-01929

  The max() aggregate function returns the maximum value of all values in the group. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-52629-38967-65267-07230-17348-21667-50787-63164

  The first parameter passed to the callback function when it is invoked is a copy of the third parameter passed to sqlite3_wal_hook() when registering the callback. (source: c3ref/wal_hook.html, checked-by: tcl/e_walhook.test, matrix: context, detail)

R-52638-40483-64904-57206-41972-21673-15082-17271

  All terms of the WHERE clause are analyzed to see if they can be satisfied using indices. (source: optoverview.html, matrix: context, detail)

R-52653-05256-00101-41227-35426-26812-44795-06520

  These functions only work for dates between 0000-01-01 00:00:00 and 9999-12-31 23:59:59 (julian day numbers 1721059.5 through 5373484.5). (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-52668-48601-43859-11032-33191-58876-15768-53065

  The default transaction behavior is DEFERRED. (source: lang_transaction.html, matrix: context, detail)

R-52669-16467-62181-15890-38253-37577-17953-50258

  The first parameter is the prepared statement that implements the SELECT statement. (source: c3ref/column_name.html, matrix: context, detail)

R-52722-37312-59730-59343-41826-18723-03600-14255

  The third parameter is a pointer to the implementation of the virtual table module. (source: c3ref/create_module.html, matrix: context, detail)

R-52747-41357-44885-51166-33553-21008-38098-18892

  In some cases, VACUUM may also reduce the number of partially filled pages in the database, reducing the size of the database file further. (source: lang_vacuum.html, matrix: context, detail)

R-52756-41993-17034-10899-10921-49986-45271-10557

  This function is a wrapper around the sqlite3_total_changes() C/C++ interface. (source: lang_corefunc.html, checked-by: src/func.c, matrix: context, detail)

R-52765-50368-61769-61482-53990-53504-23409-31144

  Before the path or query components of a URI filename are interpreted, they are encoded using UTF-8 and all hexadecimal escape sequences replaced by a single byte containing the corresponding octet. (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-52786-44878-02459-51231-59841-41905-39578-10951

  SQLite defines three built-in collating functions: (source: fileformat2.html, checked-by: src/main.c, matrix: context, detail)

R-52799-16320-39840-10926-00511-08842-62770-55110

  N is zero for the left-most function argument. (source: c3ref/get_auxdata.html, matrix: context, detail)

R-52830-19955-18632-16869-37447-04753-28772-23279

  A URI filename can optionally be followed by a query string. (source: uri.html, matrix: context, detail)

R-52843-09507-00185-40399-22075-19673-59320-05443

  The sqlite_schema table contains entries for internal schema objects in addition to application- and programmer-defined objects. (source: fileformat2.html, matrix: context, detail)

R-52858-40376-16050-37055-60638-11562-16087-23807

  The soft heap limit may not be greater than the hard heap limit. (source: c3ref/hard_heap_limit64.html, matrix: context, detail)

R-52864-57317-33695-37364-46935-23221-38785-50224

  For rows that define views, triggers, and virtual tables, the rootpage column is 0 or NULL. (source: fileformat2.html, matrix: context, detail)

R-52874-10360-37775-63380-13039-47698-21027-19281

  If the locking mode is NORMAL when first entering WAL journal mode, then the locking mode can be changed between NORMAL and EXCLUSIVE and back again at any time and without needing to exit WAL journal mode. (source: pragma.html, checked-by: th3/req1/pragma05.test, matrix: context, detail)

R-52885-58365-34589-60224-33569-54251-15646-22637

  The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED is always 0. (source: c3ref/c_dbstatus_options.html, checked-by: th3/req1/dbstatus01.test, th3/req1/dbstatus02.test, matrix: context, detail)

R-52892-55360-15524-03344-29674-00712-56313-40382

  This routine registers an authorizer callback with a particular database connection, supplied in the first argument. (source: c3ref/set_authorizer.html, checked-by: th3/cov1/auth01.test, matrix: context, detail)

R-52918-29603-61249-39870-15213-51167-58462-10808

  Names are case sensitive. (source: c3ref/vfs_find.html, checked-by: th3/req1/vfs01.test, matrix: context, detail)

R-52940-53106-43126-08219-27163-02651-42624-21494

  SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL This parameter returns the number malloc attempts that might have been satisfied using lookaside memory but failed due to all lookaside memory already being in use. Only the high-water value is meaningful; the current value is always zero. (source: c3ref/c_dbstatus_options.html, matrix: context, detail)

R-52944-64228-64118-58952-09671-12918-63425-40021

  The following is a complete list of valid strftime() substitutions: %d day of month: 00 %f fractional seconds: SS.SSS %H hour: 00-24 %j day of year: 001-366 %J Julian day number %m month: 01-12 %M minute: 00-59 %s seconds since 1970-01-01 %S seconds: 00-59 %w day of week 0-6 with Sunday==0 %W week of year: 00-53 %Y year: 0000-9999 %% % (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-52949-04679-63640-64673-56558-51308-22602-53102

  When synchronous is FULL (2), the SQLite database engine will use the xSync method of the VFS to ensure that all content is safely written to the disk surface prior to continuing. (source: pragma.html, matrix: context, detail)

R-52975-24025-19782-48078-21253-08318-64480-41617

  D is either a NULL pointer or a pointer to a destructor function for P. (source: c3ref/bind_blob.html, checked-by: th3/cov1/carray01.test, matrix: context, detail)

R-52979-05948-62253-13959-08616-19782-00231-65048

  The sqlite3_create_module() interface is equivalent to sqlite3_create_module_v2() with a NULL destructor. (source: c3ref/create_module.html, matrix: context, detail)

R-53010-63100-48596-37758-55156-50818-27273-22273

  SQLITE_DBSTATUS_SCHEMA_USED This parameter returns the approximate number of bytes of heap memory used to store the schema for all databases associated with the connection - main, temp, and any ATTACH-ed databases. (source: c3ref/c_dbstatus_options.html, checked-by: th3/req1/dbstatus02.test, matrix: context, detail)

R-53084-07740-56303-11732-40527-47126-44561-51023

  An error is raised if the "AUTOINCREMENT" keyword is used in the CREATE TABLE statement for a WITHOUT ROWID table. (source: withoutrowid.html, checked-by: tcl/without_rowid5.test, th3/cov1/withoutrowid01.test, matrix: context, detail)

R-53088-19343-27677-16808-20266-14528-30816-49365

  The incremental blob I/O routines can only read or overwriting existing blob content; they cannot change the size of a blob. (source: c3ref/blob_bytes.html, checked-by: tcl/e_blobbytes.test, th3/cov1/vdbeblob01.test, matrix: context, detail)

R-53099-14426-29346-17813-35365-40265-31413-38800

  A special SQL function RAISE() may be used within a trigger-program, (source: lang_createtrigger.html, matrix: context, detail)

R-53139-25371-00097-20894-04129-08497-32476-32210

  SQLite will never invoke SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE without a prior successful call to SQLITE_FCNTL_BEGIN_ATOMIC_WRITE. (source: c3ref/c_fcntl_begin_atomic_write.html, matrix: context, detail)

R-53195-24238-49524-21833-03175-16230-23443-12553

  If sqlite3_backup_step(B,N) successfully finishes copying all pages from source to destination, then it returns SQLITE_DONE. (source: c3ref/backup_finish.html, checked-by: th3/req1/backup03.test, matrix: context, detail)

R-53201-01290-50295-51716-63557-40807-32035-47874

  The content of each SQL table row is stored in the database file by first combining the values in the various columns into a byte array in the record format, then storing that byte array as the payload in an entry in the table b-tree. (source: fileformat2.html, matrix: context, detail)

R-53201-15548-30250-52937-65049-09366-55722-10298

  sqlite> EXPLAIN QUERY PLAN SELECT a FROM t1 EXCEPT SELECT d FROM t2 ORDER BY 1; QUERY PLAN `--MERGE (EXCEPT) |--LEFT | `--SCAN TABLE t1 USING COVERING INDEX i1 `--RIGHT |--SCAN TABLE t2 `--USE TEMP B-TREE FOR ORDER BY (source: eqp.html, matrix: context, detail)

R-53205-22341-54375-46881-03757-15307-06901-24042

  The fourth parameter, eTextRep, specifies what text encoding this SQL function prefers for its parameters. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc04.test, matrix: context, detail)

R-53215-27584-18525-51882-25660-37940-21919-06094

  If it is used by the second or subsequent such statement within a trigger program, the value returned reflects the number of rows modified by the previous INSERT, UPDATE or DELETE statement within the same trigger. (source: c3ref/changes.html, checked-by: tcl/e_changes.test, matrix: context, detail)

R-53264-40062-38571-39514-17235-18477-59967-25878

  If the Nth column returned by the statement is an expression or subquery and is not a column value, then all of these functions return NULL. (source: c3ref/column_database_name.html, matrix: context, detail)

R-53273-52304-57192-35830-05219-48039-41857-59674

  Virtual terms are used for analysis only and do not cause any byte-code to be generated. (source: optoverview.html, matrix: context, detail)

R-53334-49168-61696-52419-22788-21864-59883-48546

  For the index above and WHERE clause like this: ... WHERE a=5 AND b IN (1,2,3) AND c>12 AND d='hello' Only columns a, b, and c of the index would be usable. The d column would not be usable because it occurs to the right of c and c is constrained only by inequalities. (source: optoverview.html, matrix: context, detail)

R-53341-35419-60805-00614-53630-15165-00520-17900

  Regardless of whether or not the limit was changed, the sqlite3_limit() interface returns the prior value of the limit. (source: c3ref/limit.html, checked-by: src/main.c, th3/req1/limit01.test, matrix: context, detail)

R-53354-47195-06587-01867-57045-45178-06835-07822

  CREATE TABLE t1( x INTEGER PRIMARY KEY, a, /* collating sequence BINARY */ b COLLATE BINARY, /* collating sequence BINARY */ c COLLATE RTRIM, /* collating sequence RTRIM */ d COLLATE NOCASE /* collating sequence NOCASE */ ); /* x a b c d */ INSERT INTO t1 VALUES(1,'abc','abc', 'abc ','abc'); INSERT INTO t1 VALUES(2,'abc','abc', 'abc', 'ABC'); INSERT INTO t1 VALUES(3,'abc','abc', 'abc ', 'Abc'); INSERT INTO t1 VALUES(4,'abc','abc ','ABC', 'abc'); /* Text comparison a=b is performed using the BINARY collating sequence. */ SELECT x FROM t1 WHERE a = b ORDER BY x; --result 1 2 3 /* Text comparison a=b is performed using the RTRIM collating sequence. */ SELECT x FROM t1 WHERE a = b COLLATE RTRIM ORDER BY x; --result 1 2 3 4 /* Text comparison d=a is performed using the NOCASE collating sequence. */ SELECT x FROM t1 WHERE d = a ORDER BY x; --result 1 2 3 4 /* Text comparison a=d is performed using the BINARY collating sequence. */ SELECT x FROM t1 WHERE a = d ORDER BY x; --result 1 4 /* Text comparison 'abc'=c is performed using the RTRIM collating sequence. */ SELECT x FROM t1 WHERE 'abc' = c ORDER BY x; --result 1 2 3 /* Text comparison c='abc' is performed using the RTRIM collating sequence. */ SELECT x FROM t1 WHERE c = 'abc' ORDER BY x; --result 1 2 3 /* Grouping is performed using the NOCASE collating sequence (Values ** 'abc', 'ABC', and 'Abc' are placed in the same group). */ SELECT count(*) FROM t1 GROUP BY d ORDER BY 1; --result 4 /* Grouping is performed using the BINARY collating sequence. 'abc' and ** 'ABC' and 'Abc' form different groups */ SELECT count(*) FROM t1 GROUP BY (d || '') ORDER BY 1; --result 1 1 2 /* Sorting or column c is performed using the RTRIM collating sequence. */ SELECT x FROM t1 ORDER BY c, x; --result 4 1 2 3 /* Sorting of (c||'') is performed using the BINARY collating sequence. */ SELECT x FROM t1 ORDER BY (c||''), x; --result 4 2 3 1 /* Sorting of column c is performed using the NOCASE collating sequence. */ SELECT x FROM t1 ORDER BY c COLLATE NOCASE, x; --result 2 4 3 1 (source: datatype3.html, checked-by: th3/req1/datatype3_08.test, matrix: context, detail)

R-53361-24419-19828-49263-36591-42427-29848-60757

  PRAGMA schema.locking_mode; PRAGMA schema.locking_mode = NORMAL | EXCLUSIVE (source: pragma.html, checked-by: th3/req1/pragma04.test, matrix: context, detail)

R-53367-43190-16013-34482-35638-20487-30911-18864

  If either argument to this option is negative, then that argument is changed to its compile-time default. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, matrix: context, detail)

R-53367-44371-39189-42145-26716-53190-00022-58526

  An expression of the form "CAST(expr AS type)" has an affinity that is the same as a column with a declared type of "type". (source: datatype3.html, checked-by: th3/req1/datatype3_05.test, matrix: context, detail)

R-53378-00429-63656-00839-65291-28098-14033-06508

  If this variable is a NULL pointer, then SQLite performs a search for an appropriate temporary file directory. (source: c3ref/temp_directory.html, matrix: context, detail)

R-53431-59159-09911-22042-14613-41147-21418-31229

  The % operator casts both of its operands to type INTEGER and then computes the remainder after dividing the left integer by the right integer. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-53436-40973-13105-02748-62500-49771-13394-01786

  The likely(X) function is equivalent to likelihood(X,0.9375). (source: lang_corefunc.html, checked-by: src/resolve.c, matrix: context, detail)

R-53473-04519-45856-48059-38257-59187-05509-43871

  If the Nth column of the result set is an expression or subquery, then a NULL pointer is returned. (source: c3ref/column_decltype.html, matrix: context, detail)

R-53478-59161-12237-18673-01094-03147-04077-16034

  The flags argument to xAccess() may be SQLITE_ACCESS_EXISTS to test for the existence of a file, or SQLITE_ACCESS_READWRITE to test whether a file is readable and writable, or SQLITE_ACCESS_READ to test whether a file is at least readable. (source: c3ref/vfs.html, checked-by: th3/th3testvfs.c, matrix: context, detail)

R-53479-41922-39952-24779-27153-12886-60849-40367

  A 4-dimensional R*Tree has 9 columns. (source: rtree.html, matrix: context, detail)

R-53505-01828-44329-62678-22950-03794-01329-32376

  The lookaside memory configuration for a database connection can only be changed when that connection is not currently using lookaside memory, or in other words when the "current value" returned by sqlite3_db_status(D,SQLITE_CONFIG_LOOKASIDE,...) is zero. Any attempt to change the lookaside memory configuration when lookaside memory is in use leaves the configuration unchanged and returns SQLITE_BUSY. (source: c3ref/c_dbconfig_defensive.html, checked-by: th3/req1/dbconfig01.test, matrix: context, detail)

R-53520-01610-10679-40002-23178-34440-17674-23927

  The sqlite3_backup_step() might return SQLITE_READONLY if the destination database was opened read-only, or the destination database is using write-ahead-log journaling and the destination and source page sizes differ, or the destination database is an in-memory database and the destination and source page sizes differ. (source: c3ref/backup_finish.html, matrix: context, detail)

R-53528-47027-65277-23622-06185-25684-15860-07330

  BINARY - Compares string data using memcmp(), regardless of text encoding. (source: datatype3.html, checked-by: th3/req1/datatype3_09.test, matrix: context, detail)

R-53536-42575-40544-57743-11521-12112-01903-53371

  The sqlite3_libversion() function returns a pointer to the to the sqlite3_version[] string constant. (source: c3ref/libversion.html, checked-by: src/main.c, matrix: context, detail)

R-53547-37067-09638-20252-03189-64013-38251-09094

  This pragma is a no-op within a transaction; foreign key constraint enforcement may only be enabled or disabled when there is no pending BEGIN or SAVEPOINT. (source: pragma.html, checked-by: th3/req1/pragma18.test, matrix: context, detail)

R-53666-61329-49768-59983-34751-33356-35133-56080

  The values returned by these functions are only updated by sqlite3_backup_step(). If the source database is modified in a way that changes the size of the source database or the number of pages remaining, those changes are not reflected in the output of sqlite3_backup_pagecount() and sqlite3_backup_remaining() until after the next sqlite3_backup_step(). (source: c3ref/backup_finish.html, matrix: context, detail)

R-53670-03373-29503-41803-42706-56849-33971-45159

  The unary operator + is a no-op. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-53672-30929-36842-16986-17417-33321-43631-35859

  If X comes from an SQL literal value, or a table column, or an expression, then sqlite3_value_frombind(X) returns zero. (source: c3ref/value_blob.html, matrix: context, detail)

R-53717-22688-52875-42885-33071-58467-09778-10973

  The string value returned by this routine is owned and managed by the database connection. (source: c3ref/db_filename.html, matrix: context, detail)

R-53735-47017-47286-05670-21598-63500-17525-58856

  If the expression is an aggregate expression, it is evaluated across all rows in the group. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-53739-41794-61362-55314-61050-59238-26275-11948

  If this global variable is made to point to a string which is the name of a folder (a.k.a. directory), then all temporary files created by SQLite when using a built-in VFS will be placed in that directory. (source: c3ref/temp_directory.html, matrix: context, detail)

R-53739-48047-10287-11519-42885-23496-56458-39764

  The new row must meet the same criteria as for sqlite3_blob_open() - it must exist and there must be either a blob or text value stored in the nominated column. (source: c3ref/blob_reopen.html, checked-by: th3/req1/blob01.test, matrix: context, detail)

R-53759-57366-14099-11673-51182-17816-42165-23586

  The exact same sqlite3_rtree_geometry structure is used for every callback for same MATCH operator in the same query. (source: rtree.html, matrix: context, detail)

R-53782-41596-18711-17394-59679-49399-55234-36791

  The argument N is the maximum number of bytes of the database file that will be accessed using memory-mapped I/O. (source: pragma.html, matrix: context, detail)

R-53820-33897-43817-17457-29508-48288-48051-25287

  Even if there is a busy-handler configured, it will not be invoked in this case. (source: c3ref/wal_checkpoint_v2.html, checked-by: src/wal.c, tcl/e_walckpt.test, matrix: context, detail)

R-53882-48160-21334-05882-20873-26881-20436-15030

  It not necessary to put generated columns at the end of the list of columns in the table definition, as is shown in the examples above. (source: gencol.html, matrix: context, detail)

R-53900-18983-14254-27441-52776-55824-16298-22482

  SQLite will invoke the xMutexEnd() method when sqlite3_shutdown() is called, but only if the prior call to xMutexInit returned SQLITE_OK. (source: c3ref/mutex_methods.html, matrix: context, detail)

R-53924-08809-36668-27423-20589-58335-57366-25050

  If there is more than one non-aggregate expression in the result-set, then all such expressions are evaluated for the same row. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-53924-42297-60529-07660-45668-52976-46184-14405

  The sqlite3_hard_heap_limit64(N) interface sets a hard upper bound of N bytes on the amount of memory that will be allocated. (source: c3ref/hard_heap_limit64.html, matrix: context, detail)

R-53938-27527-43335-12056-46528-12200-49434-41509

  Only changes made directly by the INSERT, UPDATE or DELETE statement are considered - auxiliary changes caused by triggers, foreign key actions or REPLACE constraint resolution are not counted. (source: c3ref/changes.html, checked-by: tcl/e_changes.test, matrix: context, detail)

R-53946-02894-03994-04896-49185-13086-04703-60466

  These routines return information about a single column of the current result row of a query. (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, th3/req1/column02.test, th3/req1/column03.test, matrix: context, detail)

R-53968-51642-29002-32833-59790-62444-61146-02233

  Configuring an ON UPDATE or ON DELETE action does not mean that the foreign key constraint does not need to be satisfied. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys18.test, matrix: context, detail)

R-53994-11873-49794-19921-48320-57211-64823-29959

  The 4-byte big-endian integer at offset 60 is the user version which is set and queried by the user_version pragma. (source: fileformat2.html, checked-by: th3/req1/fileformat03.test, matrix: context, detail)

R-53994-49363-33213-19869-13324-28404-40753-33810

  If the authority section is omitted, then the path is an absolute pathname if it begins with the "/" character (ASCII code 0x2f) and is a relative pathname otherwise. (source: uri.html, matrix: context, detail)

R-54020-18969-35305-43404-58494-09530-16898-08730

  The minimum key value is 1. (source: c3ref/pcache_methods2.html, checked-by: th3/th3pcache.c, matrix: context, detail)

R-54034-37639-41781-11443-11424-21021-61180-47109

  If the 3rd parameter to the sqlite3_result_text* interfaces is negative, then SQLite takes result text from the 2nd parameter through the first zero character. (source: c3ref/result_blob.html, checked-by: th3/req1/result02.test, matrix: context, detail)

R-54035-60779-28299-56700-44695-40391-47008-32723

  The soft heap limit is "soft" because even though SQLite strives to stay below the limit, it will exceed the limit rather than generate an SQLITE_NOMEM error. (source: c3ref/hard_heap_limit64.html, checked-by: th3/req1/softheaplimit02.test, matrix: context, detail)

R-54043-63736-37256-25763-10275-07807-60527-63818

  SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE This parameter returns the number malloc attempts that might have been satisfied using lookaside memory but failed due to the amount of memory requested being larger than the lookaside slot size. Only the high-water value is meaningful; the current value is always zero. (source: c3ref/c_dbstatus_options.html, matrix: context, detail)

R-54046-48600-47086-52711-24230-00638-25946-34111

  When comparing values as a result of a USING clause, the normal rules for handling affinities, collation sequences and NULL values in comparisons apply. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-54056-32692-17641-45055-32204-64266-46866-10760

  An operand of a comparison is considered to have an explicit collating function assignment (rule 1 above) if any subexpression of the operand uses the postfix COLLATE operator. (source: datatype3.html, checked-by: th3/req1/datatype3_09.test, matrix: context, detail)

R-54100-20147-64333-16407-13054-37480-42962-25139

  The highwater mark associated with SQLITE_DBSTATUS_CACHE_MISS is always 0. (source: c3ref/c_dbstatus_options.html, checked-by: src/status.c, matrix: context, detail)

R-54105-45069-36894-51687-59300-29186-60662-50296

  Changing the foreign_keys setting affects the execution of all statements prepared using the database connection, including those prepared before the setting was changed. (source: pragma.html, checked-by: th3/req1/pragma18.test, matrix: context, detail)

R-54138-14726-01342-01077-27366-45054-60392-40592

  The sixth, seventh, eighth and ninth parameters (xStep, xFinal, xValue and xInverse) passed to sqlite3_create_window_function are pointers to C-language callbacks that implement the new function. (source: c3ref/create_function.html, matrix: context, detail)

R-54142-41346-32014-56293-25636-63110-30822-28140

  The properties of the DROP TABLE and ALTER TABLE commands described above only apply if foreign keys are enabled. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys22.test, matrix: context, detail)

R-54172-54170-29331-23732-60109-43479-50710-53922

  The sqlite3_snapshot_free(P) interface destroys sqlite3_snapshot P. (source: c3ref/snapshot_free.html, matrix: context, detail)

R-54218-24562-17509-58575-21096-25882-18026-33588

  The NNN value must be between 1 and the sqlite3_limit() parameter SQLITE_LIMIT_VARIABLE_NUMBER (default value: 32766). (source: c3ref/bind_blob.html, matrix: context, detail)

R-54219-22147-53235-46719-19479-08650-29878-29792

  The sqlite3_str_value(X) method returns a pointer to the current content of the dynamic string under construction in X. (source: c3ref/str_errcode.html, matrix: context, detail)

R-54260-17937-27956-02792-29631-43521-06975-25593

  When a new row is inserted into an SQLite table, the ROWID can either be specified as part of the INSERT statement or it can be assigned automatically by the database engine. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-54272-29032-18669-23400-04748-20753-02544-31833

  If N is negative, all remaining source pages are copied. (source: c3ref/backup_finish.html, checked-by: th3/req1/backup03.test, matrix: context, detail)

R-54275-45098-32061-17354-31139-20112-21246-15357

  These routines might also return NULL if a memory allocation error occurs. (source: c3ref/column_database_name.html, matrix: context, detail)

R-54349-27488-43340-32008-63380-57974-11339-53896

  This pragma uses sqlite3_create_function() to overload the LIKE and GLOB functions, which may override previous implementations of LIKE and GLOB registered by the application. (source: pragma.html, checked-by: th3/req1/pragma10.test, matrix: context, detail)

R-54378-38553-30727-53168-14484-58684-10446-07107

  If numerical data is inserted into a column with TEXT affinity it is converted into text form before being stored. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-54405-49237-08494-43030-09178-29005-00449-25094

  The sqlite3_str_appendall(X,S) method appends the complete content of zero-terminated string S onto the end of sqlite3_str object X. (source: c3ref/str_append.html, matrix: context, detail)

R-54466-46756-05959-55829-53224-11229-48614-30148

  If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then it is not possible to change the threading mode from its default value of Single-thread and so sqlite3_config() will return SQLITE_ERROR if called with the SQLITE_CONFIG_SINGLETHREAD configuration option. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, matrix: context, detail)

R-54493-30181-37798-05514-46235-61023-30019-39106

  The sqlite3_soft_heap_limit64() interface sets and/or queries the soft limit on the amount of heap memory that may be allocated by SQLite. (source: c3ref/hard_heap_limit64.html, checked-by: th3/req1/softheaplimit01.test, matrix: context, detail)

R-54562-06892-25259-07703-54157-59355-38292-12890

  The behavior of "PRAGMA data_version" is the same for all database connections, including database connections in separate processes and shared cache database connections. (source: pragma.html, checked-by: tcl/pragma3.test, matrix: context, detail)

R-54577-32145-57305-62671-23422-08381-26358-15334

  Compute the date and time given a unix timestamp 1092941466. SELECT datetime(1092941466, 'unixepoch'); (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-54592-23151-09328-60476-49284-22460-04291-25126

  This function does not set the database handle error code or message returned by the sqlite3_errcode() and sqlite3_errmsg() functions. (source: c3ref/db_cacheflush.html, matrix: context, detail)

R-54601-24304-11179-56514-33634-52647-04973-51125

  If the fifth argument is the special value SQLITE_STATIC, then SQLite assumes that the information is in static, unmanaged space and does not need to be freed. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-54611-06855-62690-60121-09688-57757-21462-60136

  The expression following the WHERE clause may contain operators, literal values, and names of columns in the table being indexed. (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-54614-40903-43648-00840-19083-45681-47455-60151

  The rules for determining which collating function to use for a binary comparison operator (=, <, >, <=, >=, !=, IS, and IS NOT) are as follows: (source: datatype3.html, checked-by: th3/req1/datatype3_09.test, matrix: context, detail)

R-54671-04027-22136-36062-14023-39261-02732-05176

  The ifnull() function returns a copy of its first non-NULL argument, or NULL if both arguments are NULL. (source: lang_corefunc.html, checked-by: th3/cov1/func01.test, matrix: context, detail)

R-54702-17780-20915-24655-06816-59842-01536-54593

  When a UNIQUE or PRIMARY KEY constraint violation occurs, the REPLACE algorithm deletes pre-existing rows that are causing the constraint violation prior to inserting or updating the current row and the command continues executing normally. (source: lang_conflict.html, checked-by: th3/req1/conflict02.test, matrix: context, detail)

R-54721-48557-63407-03546-07641-33336-53635-34168

  If there is no ELSE expression and none of the WHEN expressions produce a result equal to the base expression, the overall result is NULL. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-54737-49034-36463-44594-64965-25751-29163-41666

  The cell pointers are arranged in key order with left-most cell (the cell with the smallest key) first and the right-most cell (the cell with the largest key) last. (source: fileformat2.html, matrix: context, detail)

R-54755-39291-22328-03349-12952-06333-56270-04082

  The PRIMARY KEY is optional for ordinary tables but is required for WITHOUT ROWID tables. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-54780-55967-39790-26433-61749-36346-50867-30615

  The datetime() function returns "YYYY-MM-DD HH:MM:SS". (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-54781-23071-09729-07904-20031-27691-48494-39961

  The DROP TABLE command works on statistics tables as of SQLite version 3.7.9. (source: lang_analyze.html, checked-by: th3/req1/analyze01.test, matrix: context, detail)

R-54814-00088-09992-08072-08455-19266-24087-41023

  A trace callback is invoked with four arguments: callback(T,C,P,X). (source: c3ref/trace_v2.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-54872-08741-62719-64632-51902-03049-34462-47837

  Changes to a view that are intercepted by INSTEAD OF triggers are not counted. (source: c3ref/total_changes.html, checked-by: tcl/e_totalchanges.test, matrix: context, detail)

R-54898-34554-42956-11210-21105-01944-03178-39152

  When casting a TEXT value to REAL, the longest possible prefix of the value that can be interpreted as a real number is extracted from the TEXT value and the remainder ignored. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-54913-41491-50260-09040-49829-18676-09673-35147

  This is the number of times that the prepare statement has been automatically regenerated due to schema changes or changes to bound parameters that might affect the query plan. (source: c3ref/c_stmtstatus_counter.html, matrix: context, detail)

R-54914-35280-25250-15027-11750-01727-31556-09932

  The checksum algorithm is as follows: s0 = s1 = 0 for i from 0 to n-1 step 2: s0 += x(i) + s1; s1 += x(i+1) + s0; endfor # result in s0 and s1 (source: fileformat2.html, matrix: context, detail)

R-54918-11103-44275-41655-39625-25925-11501-45553

  If zVfsName is NULL then the default VFS is returned. (source: c3ref/vfs_find.html, checked-by: th3/req1/vfs01.test, matrix: context, detail)

R-54925-42075-28504-27777-13871-37665-20055-23123

  In a normal index, there is a one-to-one mapping between rows in a table and entries in each index associated with that table. (source: fileformat2.html, matrix: context, detail)

R-54935-19057-55411-14278-34768-16661-27190-25243

  Or, if the SELECT statement would return less than N rows without a LIMIT clause, then the entire result set is returned. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-54961-28617-11438-13073-24028-16766-12231-36247

  "SCAN" is used for a full-table scan, including cases where SQLite iterates through all records in a table in an order defined by an index. (source: eqp.html, matrix: context, detail)

R-54967-64139-35056-57094-27190-32604-29267-26110

  If any databases are skipped because locks cannot be obtained, but no other error occurs, this function returns SQLITE_BUSY. (source: c3ref/db_cacheflush.html, matrix: context, detail)

R-54971-39725-56830-50400-02582-07563-61018-15429

  The xCachesize() method may be called at any time by SQLite to set the suggested maximum cache-size (number of pages stored by) the cache instance passed as the first argument. This is the value configured using the SQLite "PRAGMA cache_size" command. (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-55025-21042-57260-24001-55816-18376-64535-50045

  The identifier name in this case can include one or more occurrences of "::" and a suffix enclosed in "(...)" containing any text at all. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-55037-37572-41165-64245-17239-27586-05224-18359

  In the example above, if column *x* has TEXT affinity then the comparison "x=5" will be done as text. But the *+* operator removes the affinity. So the comparison "+x=5" will compare the text in column *x* with the numeric value 5 and will always be false. (source: optoverview.html, matrix: context, detail)

R-55061-47754-54391-02401-15466-20656-29553-32154

  The COLLATE clause specifies the name of a collating sequence to use as the default collation sequence for the column. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-55069-12282-57104-06256-56752-59196-49409-09981

  The default conflict resolution algorithm is ABORT. (source: lang_conflict.html, checked-by: th3/req1/conflict03.test, matrix: context, detail)

R-55072-00299-56529-46464-12562-60725-23596-59611

  As with PRIMARY KEYs, a UNIQUE table-constraint clause must contain only column names — the use of expressions in an indexed-column of a UNIQUE table-constraint is not supported. (source: lang_createtable.html, matrix: context, detail)

R-55084-10555-33415-01077-58327-07092-00273-30693

  Casting a TEXT or BLOB value into NUMERIC yields either an INTEGER or a REAL result. (source: lang_expr.html, checked-by: tcl/cast.test, tcl/e_expr.test, th3/cov1/cast01.test, matrix: context, detail)

R-55089-42193-42390-08039-05012-03378-63784-16707

  If the argument N is omitted, then the analysis limit is unchanged. (source: pragma.html, matrix: context, detail)

R-55119-57913-09912-49020-08762-55611-23100-00371

  By default, VACUUM only works only on the main database. (source: lang_vacuum.html, checked-by: tcl/e_vacuum.test, matrix: context, detail)

R-55130-30724-57761-34999-45544-53302-25388-55825

  The sqlite3_table_column_metadata() interface returns SQLITE_ERROR if the specified column does not exist. (source: c3ref/table_column_metadata.html, checked-by: th3/cov1/metadata01.test, matrix: context, detail)

R-55137-26834-36059-41974-16460-01927-24032-61978

  For the purposes of unique indices, all NULL values are considered different from all other NULL values and are thus unique. (source: lang_createindex.html, checked-by: th3/req1/createidx01.test, matrix: context, detail)

R-55138-13241-38479-09846-46068-29398-26502-36438

  An alternative to using the VACUUM command to reclaim space after data has been deleted is auto-vacuum mode, enabled using the auto_vacuum pragma. (source: lang_vacuum.html, checked-by: tcl/e_vacuum.test, matrix: context, detail)

R-55147-47664-01653-03142-36497-30903-54815-06427

  For as long as the user has an open transaction, the database is allowed to exist in a state that violates any number of deferred foreign key constraints. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys12.test, th3/req1/foreignkeys14.test, matrix: context, detail)

R-55189-15164-61309-44787-48881-65424-27276-43718

  The sqlite3_initialize() routine is called internally by many other SQLite interfaces so that an application usually does not need to invoke sqlite3_initialize() directly. (source: c3ref/initialize.html, matrix: context, detail)

R-55246-25452-29787-15226-62317-06868-45565-21162

  There are some contexts in SQLite that do not allow the use of non-deterministic functions: In the expression of a CHECK constraint. In the WHERE clause of a partial index. In an expression used as part of an expression index. In the expression of a generated column. (source: deterministic.html, matrix: context, detail)

R-55258-32329-20179-17327-29048-20222-48155-64370

  Any command that accesses the database (basically, any SQL command, except a few PRAGMA statements) will automatically start a transaction if one is not already in effect. (source: lang_transaction.html, matrix: context, detail)

R-55269-29598-22145-31317-31671-53288-42244-17124

  The localtime_r() C function normally only works for years between 1970 and 2037. For dates outside this range, SQLite attempts to map the year into an equivalent year within this range, do the calculation, then map the year back. (source: lang_datefunc.html, checked-by: src/date.c, matrix: context, detail)

R-55292-54599-58036-06496-23806-16073-05204-14716

  The first integer in this list is the approximate number of rows in the index. (source: fileformat2.html, matrix: context, detail)

R-55312-58443-27187-57557-21962-11397-57143-02839

  The SQLITE_VERSION_NUMBER C preprocessor macro resolves to an integer with the value (X*1000000 + Y*1000 + Z) where X, Y, and Z are the same numbers used in SQLITE_VERSION. (source: c3ref/c_source_id.html, checked-by: th3/req1/version01.test, matrix: context, detail)

R-55316-21772-61172-01789-50748-54713-63157-59070

  If the VFS does not support shared-memory methods, then the attempt to open a database that is already in WAL mode, or the attempt convert a database into WAL mode, will fail. (source: wal.html, checked-by: tcl/e_wal.test, th3/req1/pragma05.test, matrix: context, detail)

R-55351-62604-52448-54183-29592-46679-39320-37048

  A single row of a table cannot store more than SQLITE_MAX_LENGTH bytes of data. (source: lang_createtable.html, matrix: context, detail)

R-55352-50321-25777-65350-51066-10256-38308-17470

  The number of columns in the result can be determined using sqlite3_column_count(). (source: c3ref/column_blob.html, checked-by: th3/req1/column01.test, matrix: context, detail)

R-55381-29093-22266-09255-42316-49532-06927-42379

  IMMEDIATE cause the database connection to start a new write immediately, without waiting for a write statement. (source: lang_transaction.html, matrix: context, detail)

R-55392-56277-35725-48242-28273-14685-15840-32650

  If the third parameter to sqlite3_bind_text() or sqlite3_bind_text16() or sqlite3_bind_blob() is a NULL pointer then the fourth parameter is ignored and the end result is the same as sqlite3_bind_null(). (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-55398-57340-09635-03247-16694-08409-20914-48585

  Setting parameter X to NULL disables the progress handler. (source: c3ref/progress_handler.html, checked-by: th3/req1/progress01.test, matrix: context, detail)

R-55403-13450-43666-61222-09717-03349-14429-52085

  The HAVING expression may refer to values, even aggregate functions, that are not in the result. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-55406-38524-31149-09087-45874-46813-10331-17259

  A percent symbol ("%") in the LIKE pattern matches any sequence of zero or more characters in the string. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-55407-45319-53851-58560-05892-08992-42854-39100

  The declared type of each column is determined by the expression affinity of the corresponding expression in the result set of the SELECT statement, as follows: Expression Affinity Column Declared Type TEXT "TEXT" NUMERIC "NUM" INTEGER "INT" REAL "REAL" BLOB (a.k.a "NONE") "" (empty string) (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-55422-28457-57897-11786-10838-58259-25547-52567

  Changing the recursive_triggers setting affects the execution of all statements prepared using the database connection, including those prepared before the setting was changed. (source: pragma.html, matrix: context, detail)

R-55435-14303-03333-49029-22084-10936-61067-18432

  Each time a new row is inserted into the table or an existing row is updated, the expression associated with each CHECK constraint is evaluated and cast to a NUMERIC value in the same way as a CAST expression. If the result is zero (integer value 0 or real value 0.0), then a constraint violation has occurred. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-55438-03590-29197-39620-12271-07480-54322-54101

  The same VFS can be registered multiple times without injury. (source: c3ref/vfs_find.html, checked-by: th3/req1/vfs01.test, matrix: context, detail)

R-55460-47820-18774-52597-12272-16306-23027-62332

  If there is a blocking connection, then the extended error code is set to SQLITE_LOCKED_SHAREDCACHE. Otherwise, in the special "DROP TABLE/INDEX" case, the extended error code is just SQLITE_LOCKED. (source: c3ref/unlock_notify.html, matrix: context, detail)

R-55469-62130-44621-63602-01605-63421-57069-12544

  The char(X1,X2,...,XN) function returns a string composed of characters having the unicode code point values of integers X1 through XN, respectively. (source: lang_corefunc.html, checked-by: tcl/func.test, matrix: context, detail)

R-55530-52930-45065-40235-10917-28940-04210-09538

  In a well-formed b-tree page, there will always be at least one cell before the first freeblock. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-55532-10108-63513-58109-24698-43338-62703-39415

  Values 1, 1.0, 0.1, -0.1 and '1english' are considered to be true. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-55548-33817-29284-24020-20403-44127-42701-15933

  The compile-time setting for URI filenames can be changed at start-time using the sqlite3_config(SQLITE_CONFIG_URI,1) or sqlite3_config(SQLITE_CONFIG_URI,0) configuration calls. (source: uri.html, checked-by: src/main.c, th3/th3main.c, matrix: context, detail)

R-55594-21030-55644-51033-26913-03312-40389-27101

  The SQLITE_CONFIG_MALLOC option takes a single argument which is a pointer to an instance of the sqlite3_mem_methods structure. The argument specifies alternative low-level memory allocation routines to be used in place of the memory allocation routines built into SQLite. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, th3/th3oom.c, matrix: context, detail)

R-55595-13513-43287-07115-18907-23748-32560-50080

  The strftime() function also takes a format string as its first argument. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-55606-57227-21877-64681-10447-20017-21356-32881

  If the RELEASE command causes the transaction stack to become empty (if the RELEASE command releases the outermost transaction from the stack) then the transaction commits. (source: lang_savepoint.html, matrix: context, detail)

R-55636-16561-36868-23956-09727-21947-00276-50271

  If two or more tables in different databases have the same name and the schema-name prefix is not used on a table reference, then the table chosen is the one in the database that was least recently attached. (source: lang_attach.html, checked-by: th3/req1/attach01.test, matrix: context, detail)

R-55638-04244-14117-31927-31561-07826-29267-09174

  The sqlite3_reset(S) interface does not change the values of any bindings on the prepared statement S. (source: c3ref/reset.html, checked-by: th3/req1/clearbind01.test, matrix: context, detail)

R-55672-01620-31109-43050-24330-12239-06929-55084

  The first column is the name of the table that contains the REFERENCES clause. (source: pragma.html, checked-by: tcl/fkey5.test, th3/cov1/fkey23.test, matrix: context, detail)

R-55673-47845-33764-15957-40467-43694-47305-60720

  The memory high-water mark is reset to the current value of sqlite3_memory_used() if and only if the parameter to sqlite3_memory_highwater() is true. (source: c3ref/memory_highwater.html, matrix: context, detail)

R-55700-34343-49028-33969-14549-05550-41139-48792

  This pragma does a low-level formatting and consistency check of the database. (source: pragma.html, matrix: context, detail)

R-55708-49653-17675-07799-20555-47879-27152-48993

  When COMMIT fails in this way, the transaction remains active and the COMMIT can be retried later after the reader has had a chance to clear. (source: lang_transaction.html, matrix: context, detail)

R-55733-20912-49393-01361-02084-05970-17120-19612

  If the callback function of the 3rd argument to sqlite3_exec() is not NULL, then it is invoked for each result row coming out of the evaluated SQL statements. (source: c3ref/exec.html, checked-by: th3/req1/exec01.test, matrix: context, detail)

R-55820-29984-60455-07962-21616-40941-09415-50372

  In most cases, UNIQUE and PRIMARY KEY constraints are implemented by creating a unique index in the database. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-55837-00155-61561-08494-32854-35753-30155-49706

  The pUser variable may be set by the callback implementation to any arbitrary value that may be useful to subsequent invocations of the callback within the same query (for example, a pointer to a complicated data structure used to test for region intersection). (source: rtree.html, matrix: context, detail)

R-55842-56137-49604-51466-59132-51451-25325-13692

  The ON and USING clauses of an inner join are converted into additional terms of the WHERE clause prior to WHERE clause analysis described above in paragraph 1. (source: optoverview.html, matrix: context, detail)

R-55869-30521-47622-53163-51064-21445-33319-34731

  If the UPDATE statement does not have a WHERE clause, all rows in the table are modified by the UPDATE. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-55888-39002-08567-49374-03343-41740-10082-36394

  Extension loading is off by default. (source: c3ref/enable_load_extension.html, matrix: context, detail)

R-55903-20082-12808-10678-61421-17044-64440-32605

  The idxNum and idxPtr values are recorded and passed into the xFilter method. (source: c3ref/index_info.html, matrix: context, detail)

R-55970-49067-15919-18439-36628-50905-05103-43155

  If the new row is not present in the table, or if it does not contain a blob or text value, or if another error occurs, an SQLite error code is returned and the blob handle is considered aborted. (source: c3ref/blob_reopen.html, checked-by: th3/req1/blob01.test, matrix: context, detail)

R-55989-34690-53025-39227-28195-61827-56491-03494

  If an index is created using a statement like this: CREATE INDEX idx_ex1 ON ex1(a,b,c,d,e,...,y,z); Then the index might be used if the initial columns of the index (columns a, b, and so forth) appear in WHERE clause terms. (source: optoverview.html, matrix: context, detail)

R-56020-12355-36965-55890-52401-50899-40834-02969

  To overcome this problem, a separate data structure called the wal-index is maintained to expedite the search for frames of a particular page. (source: fileformat2.html, matrix: context, detail)

R-56032-24923-44084-62651-61742-23069-00366-25575

  The foreign key constraint is satisfied if for each row in the child table either one or more of the child key columns are NULL, or there exists a row in the parent table for which each parent key column contains a value equal to the value in its associated child key column. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys03.test, matrix: context, detail)

R-56045-57163-57243-01717-21782-41584-31182-16126

  If the third parameter (the pointer to the sqlite3_module object) is NULL then no new module is create and any existing modules with the same name are dropped. (source: c3ref/create_module.html, matrix: context, detail)

R-56064-04001-25559-63693-43897-15444-07346-25115

  The %p format is an alias for %X. (source: lang_corefunc.html, checked-by: tcl/printf2.test, th3/cov1/printf08.test, matrix: context, detail)

R-56075-46525-28921-54400-33560-07294-24655-01890

  The source and destination database connections (parameters S and D) must be different or else sqlite3_backup_init(D,N,S,M) will fail with an error. (source: c3ref/backup_finish.html, checked-by: th3/req1/backup02.test, matrix: context, detail)

R-56088-25150-58914-01692-09523-48299-30387-32306

  The group_concat() function returns a string which is the concatenation of all non-NULL values of X. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-56094-57830-57463-55156-04028-13498-23873-32141

  the following three table declarations all cause the column "x" to be an alias for the rowid (an integer primary key): CREATE TABLE t(x INTEGER PRIMARY KEY ASC, y, z); CREATE TABLE t(x INTEGER, y, z, PRIMARY KEY(x ASC)); CREATE TABLE t(x INTEGER, y, z, PRIMARY KEY(x DESC)); (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-56101-50212-09292-39432-28945-47695-30385-48702

  For the purposes of the previous sentence, a column name preceded by one or more unary "+" operators and/or CAST operators is still considered a column name. (source: datatype3.html, checked-by: th3/req1/datatype3_09.test, matrix: context, detail)

R-56132-15700-29603-38264-36933-60961-45364-58760

  This is the only difference between a USING clause and its equivalent ON constraint. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-56143-29319-15474-25022-04217-21901-07164-36607

  PRAGMA schema.index_xinfo(index-name); This pragma returns information about every column in an index. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15x.test, matrix: context, detail)

R-56168-33548-13029-39450-16925-62002-00954-18437

  The aConstraint[] array records WHERE clause constraints of the form: column OP expr where OP is =, <, <=, >, or >=. (source: c3ref/index_info.html, matrix: context, detail)

R-56208-64576-63593-38076-41294-48177-09207-06182

  If this routine returns 0, that means the prepared statement returns no data (for example an UPDATE). (source: c3ref/column_count.html, matrix: context, detail)

R-56236-11699-62098-20167-23584-50570-40984-46383

  The string 'UTF-16' is interpreted as "UTF-16 encoding using native machine byte-ordering". (source: pragma.html, checked-by: th3/req1/pragma16.test, matrix: context, detail)

R-56249-28265-13438-15861-43462-53554-35799-32319

  Compute the current date. SELECT date('now'); (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-56255-17851-46934-55657-46753-27526-25250-09423

  The C argument is a copy of the context pointer. (source: c3ref/trace_v2.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-56256-08578-55482-47155-20535-53157-53389-52654

  In the "v2" interface, the more specific error code is returned directly by sqlite3_step(). (source: c3ref/step.html, matrix: context, detail)

R-56280-17369-11717-14525-09241-09664-14556-20621

  Both forms of the CASE expression use lazy, or short-circuit, evaluation. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-56294-03966-08864-53339-51473-44924-63281-58418

  All types of SELECT statement, including aggregate and compound SELECT queries (queries with keywords like UNION or EXCEPT) are allowed as scalar subqueries. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-56368-08028-57945-39505-32022-20213-21801-17605

  The iif(X,Y,Z) function is logically equivalent to and generates the same bytecode as the CASE expression "CASE WHEN X THEN Y ELSE Z END". (source: lang_corefunc.html, matrix: context, detail)

R-56376-21261-47968-49600-56386-05495-27914-63410

  Column zColumn does not exist (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, matrix: context, detail)

R-56419-60514-06155-63301-38811-42368-46598-13480

  However, in a partial index, the index b-tree only contains entries corresponding to table rows for which the WHERE clause expression on the CREATE INDEX statement is true. (source: fileformat2.html, matrix: context, detail)

R-56424-18878-13584-40742-26912-14341-05618-57860

  The first parameter is an operation code that determines the number, meaning, and operation of all subsequent parameters. (source: c3ref/test_control.html, checked-by: th3/req1/checkpoint01.test, matrix: context, detail)

R-56469-26825-44365-22627-52974-52312-09458-38219

  Within the xUpdate method of a virtual table, the sqlite3_value_nochange(X) interface returns true if and only if the column corresponding to X is unchanged by the UPDATE operation that the xUpdate method call was invoked to implement and if and the prior xColumn method call that was invoked to extracted the value for that column returned without setting a result (probably because it queried sqlite3_vtab_nochange() and found that the column was unchanging). (source: c3ref/value_blob.html, matrix: context, detail)

R-56511-46089-40273-37812-64837-44245-01436-05433

  When the write-ahead log is enabled (via the journal_mode pragma) a checkpoint will be run automatically whenever the write-ahead log equals or exceeds N pages in length. (source: pragma.html, matrix: context, detail)

R-56518-44310-03576-50973-10041-44259-32136-55602

  The second parameter to the callback is an integer action code that specifies the particular action to be authorized. (source: c3ref/set_authorizer.html, checked-by: src/tclsqlite.c, th3/th3util.c, matrix: context, detail)

R-56522-34239-18790-35664-56574-22774-39070-01307

  an implicit DELETE FROM does cause any configured foreign key actions to take place. (source: lang_droptable.html, checked-by: th3/req1/droptable01.test, matrix: context, detail)

R-56593-29586-46477-05582-12262-16741-07169-41199

  The default encoding for databases created using sqlite3_open16() will be UTF-16 in the native byte order. (source: c3ref/open.html, checked-by: th3/cov1/main12.test, matrix: context, detail)

R-56683-13731-54307-64156-42285-19581-37676-29217

  If the optional ESCAPE clause is present, then the expression following the ESCAPE keyword must evaluate to a string consisting of a single character. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-56692-55226-52354-63477-50727-27057-22841-42848

  If sqlite3_malloc() is unable to obtain sufficient free memory, it returns a NULL pointer. (source: c3ref/free.html, checked-by: th3/req1/malloc02.test, matrix: context, detail)

R-56743-17266-53373-09142-21068-04228-42328-23175

  The conversion from STRING or BLOB into REAL or INTEGER is performed even if it is lossy and irreversible. (source: datatype3.html, checked-by: th3/req1/datatype3_06.test, matrix: context, detail)

R-56805-28429-09038-27116-20961-52646-32004-47216

  Note that "monotonically increasing" does not imply that the ROWID always increases by exactly one. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-56841-45734-29539-09781-39505-27779-01471-37796

  If the argument is an index name, then only that one index is analyzed. (source: lang_analyze.html, checked-by: th3/req1/analyze01.test, matrix: context, detail)

R-56844-61705-36939-38835-21077-60167-01566-10120

  If the current statement is not inside an explicit transaction (a BEGIN/COMMIT/ROLLBACK block), then an implicit transaction is committed as soon as the statement has finished executing. In this case deferred constraints behave the same as immediate constraints. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys12.test, matrix: context, detail)

R-56861-42673-10667-36418-55159-59166-26000-55286

  sqlite3_prepare_v3() differs from sqlite3_prepare_v2() only in having the extra prepFlags parameter, which is a bit array consisting of zero or more of the SQLITE_PREPARE_* flags. (source: c3ref/prepare.html, checked-by: src/prepare.c, matrix: context, detail)

R-56899-62057-33576-54227-58668-21470-57671-19997

  Use this routine to reset all host parameters to NULL. (source: c3ref/clear_bindings.html, checked-by: th3/req1/clearbind01.test, matrix: context, detail)

R-56910-04118-27168-31313-21595-13844-47285-28502

  The reverse_unordered_selects pragma works for most SELECT statements, however the query planner may sometimes choose an algorithm that is not easily reversed, in which case the output will appear in the same order regardless of the reverse_unordered_selects setting. (source: pragma.html, checked-by: th3/req1/pragma27.test, matrix: context, detail)

R-56921-36726-52234-49163-41445-49849-43983-14131

  The module takes zero or more comma-separated arguments. (source: lang_createvtab.html, matrix: context, detail)

R-56922-36205-22482-11354-54881-45664-41752-42246

  The sqlite3_str_appendf(X,F,. (source: c3ref/str_append.html, matrix: context, detail)

R-56934-42700-38980-08605-33652-52881-52643-23900

  A trigger normally exists in the same database as the table named after the "ON" keyword in the CREATE TRIGGER statement. Except, it is possible to create a TEMP TRIGGER on a table in another database. (source: lang_createtrigger.html, matrix: context, detail)

R-56960-03061-20836-21931-13129-13661-26943-05315

  The sqlite_sequence row for an AUTOINCREMENT table is automatically deleted when the table is dropped. (source: fileformat2.html, matrix: context, detail)

R-57019-29874-21566-05710-22141-45725-52460-50437

  Attempt to return the underlying operating system error code or error number that caused the most recent I/O error or failure to open a file. (source: c3ref/system_errno.html, matrix: context, detail)

R-57025-62168-38373-42436-38968-34840-50734-33391

  The CREATE INDEX command consists of the keywords "CREATE INDEX" followed by the name of the new index, the keyword "ON", the name of a previously created table that is to be indexed, and a parenthesized list of table column names and/or expressions that are used for the index key. (source: lang_createindex.html, checked-by: th3/req1/createidx01.test, matrix: context, detail)

R-57047-10461-09824-05395-44122-51121-43183-19652

  For each pair of columns identified by a USING clause, the column from the right-hand dataset is omitted from the joined dataset. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-57051-20322-05054-14581-57313-02803-59746-15019

  TEMP triggers are not subject to the same-database rule. A TEMP trigger is allowed to query or modify any table in any ATTACH-ed database. (source: lang_createtrigger.html, matrix: context, detail)

R-57064-52104-64431-17226-40317-39085-08319-65218

  A keyword enclosed in grave accents (ASCII code 96) is an identifier. (source: lang_keywords.html, checked-by: th3/req1/keyword01.test, matrix: context, detail)

R-57089-01510-52711-12029-01843-57322-48096-53622

  The optional IF EXISTS clause suppresses the error that would normally result if the table does not exist. (source: lang_droptable.html, checked-by: th3/req1/droptable01.test, matrix: context, detail)

R-57089-20897-11493-55029-43412-10473-15914-29086

  The hex() function interprets its argument as a BLOB and returns a string which is the upper-case hexadecimal rendering of the content of that blob. (source: lang_corefunc.html, checked-by: th3/cov1/func01.test, matrix: context, detail)

R-57132-64688-04338-28404-47453-24973-03948-35534

  For a K-column index, there will be K+1 integers in the stat column. (source: fileformat2.html, matrix: context, detail)

R-57148-27043-24197-50864-17789-27068-60020-34476

  If a term of the WHERE clause is of the following form: expr1 BETWEEN expr2 AND expr3 Then two "virtual" terms are added as follows: expr1 >= expr2 AND expr1 <= expr3 (source: optoverview.html, matrix: context, detail)

R-57180-61125-28109-34818-16201-30872-33443-40704

  If the D parameter is not NULL, then it is a pointer to a destructor for the P parameter. (source: c3ref/result_blob.html, checked-by: th3/cov1/bindptr01.test, matrix: context, detail)

R-57195-25932-26146-45143-15236-49265-31478-06435

  When a column is indexed, the same collating function specified in the CREATE TABLE statement is used for the column in the index, by default, though this can be overridden using a COLLATE clause in the CREATE INDEX statement. (source: fileformat2.html, checked-by: th3/req1/fileformat05.test, matrix: context, detail)

R-57201-47694-05778-38752-41584-16986-28240-11084

  SQLITE_OPEN_NOFOLLOW The database filename is not allowed to be a symbolic link (source: c3ref/open.html, matrix: context, detail)

R-57216-60803-31079-31964-02291-43639-29753-51457

  The default behavior of the LIKE operator is to ignore case for ASCII characters. Hence, by default 'a' LIKE 'A' is true. (source: pragma.html, checked-by: th3/req1/pragma10.test, matrix: context, detail)

R-57228-12904-01956-10826-41205-44004-37932-17124

  Invoking sqlite3_finalize() on a NULL pointer is a harmless no-op. (source: c3ref/finalize.html, checked-by: src/vdbeapi.c, th3/req1/finalize01.test, matrix: context, detail)

R-57239-11845-16463-18106-13303-34365-12787-00637

  If NORMAL locking mode is in effect for the first WAL-mode database access, then the shared-memory wal-index is created. (source: wal.html, checked-by: tcl/e_wal.test, th3/req1/pragma05.test, matrix: context, detail)

R-57242-37005-56028-08872-40154-45403-20109-09312

  Any "foreign key mismatch" errors encountered as part of an implicit DELETE are ignored. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys22.test, matrix: context, detail)

R-57255-33789-60728-42833-30002-01027-59947-48122

  However, depending on the statement being evaluated and the point at which the error occurs, it might be necessary for SQLite to rollback and cancel the entire transaction. (source: lang_transaction.html, matrix: context, detail)

R-57259-65459-47411-32536-55813-09226-48634-58743

  SQLITE_OPEN_NOMUTEX The new database connection will use the "multi-thread" threading mode. (source: c3ref/open.html, checked-by: th3/cov1/main12.test, matrix: context, detail)

R-57301-64506-10586-49672-48759-26432-01783-64495

  "1" if the index is UNIQUE and "0" if not. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15.test, matrix: context, detail)

R-57313-56280-52259-04296-10229-37412-19300-33360

  If URI filenames are recognized when the database connection is originally opened, then URI filenames will also be recognized on ATTACH statements. (source: uri.html, matrix: context, detail)

R-57343-49114-15055-13437-46054-52631-22669-49552

  Value is a big-endian IEEE 754-2008 64-bit floating point number. (source: fileformat2.html, checked-by: src/vdbeaux.c, th3/req1/fileformat02.test, matrix: context, detail)

R-57347-36071-40541-19557-35566-60658-39421-45937

  PRAGMA schema.mmap_size; PRAGMA schema.mmap_size=N Query or change the maximum number of bytes that are set aside for memory-mapped I/O on a single database. (source: pragma.html, matrix: context, detail)

R-57359-59558-63770-19476-57809-18440-47111-21364

  The LIMIT and ORDER BY clauses for UPDATE are unsupported within triggers, regardless of the compilation options used to build SQLite. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-57360-40691-20822-63524-22530-36364-65033-34134

  If a keyword in double quotes (ex: "key" or "glob") is used in a context where it cannot be resolved to an identifier but where a string literal is allowed, then the token is understood to be a string literal instead of an identifier. (source: lang_keywords.html, checked-by: th3/req1/keyword01.test, matrix: context, detail)

R-57360-51191-61413-24528-10483-08494-62999-37912

  If the index is unique, then the last integer will be 1. (source: fileformat2.html, matrix: context, detail)

R-57418-53232-55931-28438-08361-10672-24315-12899

  Thus, if a COLLATE operator is used anywhere in a comparision expression, the collating function defined by that operator is used for string comparison regardless of what table columns might be a part of that expression. (source: datatype3.html, checked-by: th3/req1/datatype3_09.test, matrix: context, detail)

R-57428-63758-17863-58074-13884-12302-03924-53063

  The same page may not appear more than once within a single rollback journal. (source: fileformat2.html, matrix: context, detail)

R-57445-43425-22232-12533-21797-53023-32757-29365

  Note that the sqlite3_wal_autocheckpoint() interface and the wal_autocheckpoint pragma both invoke sqlite3_wal_hook() and will overwrite any prior sqlite3_wal_hook() settings. (source: c3ref/wal_hook.html, checked-by: tcl/e_walhook.test, matrix: context, detail)

R-57464-30285-51678-51682-55772-21804-29928-17163

  PRAGMA database_list; This pragma works like a query to return one row for each database attached to the current database connection. (source: pragma.html, checked-by: th3/req1/pragma14.test, matrix: context, detail)

R-57479-00042-18825-57289-32505-64353-45358-46844

  These functions (collectively known as "function creation routines") are used to add SQL functions or aggregates or to redefine the behavior of existing SQL functions or aggregates. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc01.test, matrix: context, detail)

R-57495-24088-42518-44895-31255-64313-21113-39817

  There are two fundamental forms of the CASE expression: those with a base expression and those without. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-57496-20354-59878-60624-45550-42577-49186-19120

  If the specific value bound to a host parameter in the WHERE clause might influence the choice of query plan for a statement, then the statement will be automatically recompiled, as if there had been a schema change, on the first sqlite3_step() call following any change to the bindings of that parameter. (source: c3ref/prepare.html, checked-by: src/vdbeapi.c, th3/req1/prepare04.test, matrix: context, detail)

R-57594-65522-56996-47204-62238-07875-00187-41859

  In all cases, the value returned is the new analysis limit used for subsequent ANALYZE commands. (source: pragma.html, matrix: context, detail)

R-57611-29319-52424-65046-25950-44814-17641-61305

  The return value from both sqlite3_soft_heap_limit64() and sqlite3_hard_heap_limit64() is the size of the heap limit prior to the call, or negative in the case of an error. (source: c3ref/hard_heap_limit64.html, checked-by: th3/req1/softheaplimit01.test, matrix: context, detail)

R-57629-25253-01540-58314-47057-32967-17520-58138

  If the SELECT statement is an aggregate query without a GROUP BY clause, then each aggregate expression in the result-set is evaluated once across the entire dataset. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-57724-31954-10264-24402-01814-32974-35251-10420

  The filename of the database follows the same semantics as the filename argument to sqlite3_open() and sqlite3_open_v2(); the special name ":memory:" results in an in-memory database and an empty string results in a new temporary database. (source: lang_attach.html, checked-by: th3/req1/attach03.test, matrix: context, detail)

R-57724-61571-01377-08004-10226-53040-57398-43203

  An ON CONFLICT clause may be specified as part of an UPDATE or INSERT action within the body of the trigger. (source: lang_createtrigger.html, matrix: context, detail)

R-57765-12380-65473-27490-60483-53059-23435-27202

  In the above paragraph, the term "equal" means equal when values are compared using the rules specified here. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys03.test, matrix: context, detail)

R-57773-31134-13859-63861-60262-03843-19674-02031

  With AUTOINCREMENT, rows with automatically selected ROWIDs are guaranteed to have ROWIDs that have never been used before by the same table in the same database. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-57803-30267-35390-49714-00774-40493-44920-28706

  Note, however, that auto-vacuum only truncates the freelist pages from the file. Auto-vacuum does not defragment the database nor repack individual database pages the way that the VACUUM command does. (source: pragma.html, checked-by: th3/req1/pragma07.test, matrix: context, detail)

R-57806-53405-06044-47761-50906-57249-23424-06357

  All of the result in the example are the same if the comparisons are commuted - if expressions of the form "a<40" are rewritten as "40>a". (source: datatype3.html, checked-by: th3/req1/datatype3_05.test, matrix: context, detail)

R-57876-22123-39728-45816-26959-17516-32294-11302

  The default collating sequence is the collating sequence defined for that column in the CREATE TABLE statement. (source: lang_createindex.html, checked-by: th3/req1/createidx01.test, matrix: context, detail)

R-57884-37496-29952-23489-26945-21299-05103-05410

  The scheme of the URI must be "file:". Any other scheme results in the input being treated as an ordinary filename. (source: uri.html, checked-by: src/main.c, matrix: context, detail)

R-57928-57565-35172-43517-28321-39002-52243-13899

  The expression "x IN (SELECT y ...)" is handled in the same way as the expression "x = y" for the purposes of determining the collating sequence. (source: datatype3.html, checked-by: th3/req1/datatype3_10.test, matrix: context, detail)

R-57963-05936-27484-31794-06157-35153-01891-09927

  The SAVEPOINT command starts a new transaction with a name. (source: lang_savepoint.html, matrix: context, detail)

R-57967-31673-02324-15134-55427-47426-59271-07487

  The SQLITE_FCNTL_PERSIST_WAL opcode is used to set or query the persistent Write Ahead Log setting. (source: c3ref/c_fcntl_begin_atomic_write.html, matrix: context, detail)

R-58015-48175-59968-51702-38590-12098-63778-58558

  The two-byte integer at offset 5 designates the start of the cell content area. A zero value for this integer is interpreted as 65536. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-58033-17334-23176-58899-39205-34616-00819-09634

  An error is raised if a CREATE TABLE statement with the WITHOUT ROWID clause lacks a PRIMARY KEY. (source: withoutrowid.html, checked-by: tcl/without_rowid5.test, th3/cov1/withoutrowid01.test, matrix: context, detail)

R-58057-33391-03509-33043-33345-56148-13534-20501

  The fourth parameter may also optionally include the SQLITE_DIRECTONLY flag, which if present prevents the function from being invoked from within VIEWs, TRIGGERs, CHECK constraints, generated column expressions, index expressions, or the WHERE clause of partial indexes. (source: c3ref/create_function.html, matrix: context, detail)

R-58063-38258-54804-43004-10220-55460-06574-61060

  SQLITE_CONFIG_MMAP_SIZE takes two 64-bit integer (sqlite3_int64) values that are the default mmap size limit (the default setting for PRAGMA mmap_size) and the maximum allowed mmap size limit. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, th3/th3main.c, matrix: context, detail)

R-58080-31767-64590-28365-48177-49869-42154-18790

  Note that the sqlite3_changes() and sqlite3_total_changes() interfaces do not count INSTEAD OF trigger firings, but the count_changes pragma does count INSTEAD OF trigger firing. (source: lang_createtrigger.html, matrix: context, detail)

R-58089-05908-32254-07731-27981-33321-41774-40378

  If the table has a column of type INTEGER PRIMARY KEY then that column is another alias for the rowid. (source: c3ref/last_insert_rowid.html, matrix: context, detail)

R-58095-46013-00121-55474-24418-20779-51878-39971

  Otherwise, the UPDATE affects only those rows for which the WHERE clause boolean expression is true. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-58101-01610-39291-65519-22714-56029-10662-40806

  The "SQLITE_" prefix is omitted from the returned option names. (source: pragma.html, checked-by: th3/req1/pragma13.test, matrix: context, detail)

R-58129-20729-43334-45037-61775-65105-23500-10551

  It is not an error if the WHERE clause does not evaluate to true for any row in the table - this just means that the UPDATE statement affects zero rows. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-58133-32721-60366-63441-61614-07001-53385-02322

  A keyword in single quotes is a string literal. (source: lang_keywords.html, checked-by: th3/req1/keyword01.test, matrix: context, detail)

R-58160-63457-25230-02228-13087-65392-10512-19880

  The nolock parameter is a boolean query parameter which if set disables file locking in rollback journal modes. (source: c3ref/open.html, checked-by: th3/cov1/nolock01.test, matrix: context, detail)

R-58208-19414-39381-39843-31272-22359-33296-08793

  The first 2 bytes of a freeblock are a big-endian integer which is the offset in the b-tree page of the next freeblock in the chain, or zero if the freeblock is the last on the chain. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-58230-57098-08245-26579-57280-54560-29149-45335

  The "INDEXED BY index-name" phrase specifies that the named index must be used in order to look up values on the preceding table. (source: lang_indexedby.html, checked-by: tcl/indexedby.test, matrix: context, detail)

R-58261-63259-31112-34122-01382-46669-15924-59329

  The sum() and total() aggregate functions return sum of all non-NULL values in the group. (source: lang_aggfunc.html, checked-by: th3/req1/aggfunc01.test, matrix: context, detail)

R-58293-02725-64867-56851-12538-45360-38316-49543

  Each time a transaction is committed or a WAL file resets, SQLite compares the size of the rollback journal file or WAL file left in the file-system to the size limit set by this pragma and if the journal or WAL file is larger it is truncated to the limit. (source: pragma.html, checked-by: th3/req1/pragma26.test, matrix: context, detail)

R-58297-14483-40146-32998-13341-07144-06303-13895

  WAL databases can be created, read, and written even if shared memory is unavailable as long as the locking_mode is set to EXCLUSIVE before the first attempted access. (source: wal.html, checked-by: tcl/e_wal.test, th3/req1/pragma05.test, matrix: context, detail)

R-58299-29950-41859-14969-07677-61632-11301-17744

  The sqlite3_txn_state(D,S) interface returns the current transaction state of schema S in database connection D. (source: c3ref/txn_state.html, matrix: context, detail)

R-58312-28618-40592-62073-31662-38591-25433-11093

  If the Y argument is omitted, rtrim(X) removes spaces from the right side of X. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-58344-62489-38049-32085-64337-15515-50489-64181

  Thus, by default, the following expression is true: 'a' LIKE 'A' (source: optoverview.html, matrix: context, detail)

R-58361-29089-54084-23122-22641-61380-38258-02749

  The changes() function returns the number of database rows that were changed or inserted or deleted by the most recently completed INSERT, DELETE, or UPDATE statement, exclusive of statements in lower-level triggers. (source: lang_corefunc.html, checked-by: th3/req1/func01.test, matrix: context, detail)

R-58393-10545-21271-47622-25351-02846-49007-50648

  Specifying a new page size does not change the page size immediately. Instead, the new page size is remembered and is used to set the page size when the database is first created, if it does not already exist when the page_size pragma is issued, or at the next VACUUM command that is run on the same database connection while not in WAL mode. (source: pragma.html, matrix: context, detail)

R-58421-05800-43557-56576-34931-38170-06768-38707

  If the Y argument is omitted, ltrim(X) removes spaces from the left side of X. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, matrix: context, detail)

R-58424-53543-49718-27899-29509-07852-05490-25692

  The page size must be a power of two between 512 and 65536 inclusive. (source: pragma.html, matrix: context, detail)

R-58428-36660-63931-61833-12651-58158-26648-39835

  If OMIT_FOREIGN_KEY is defined, then foreign key definitions cannot even be parsed (attempting to specify a foreign key definition is a syntax error). (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys05.test, matrix: context, detail)

R-58433-37187-52219-35155-40508-43189-02693-26384

  The COMMIT command and the ROLLBACK command without the TO clause work the same on SAVEPOINT transactions as they do with transactions started by BEGIN. (source: lang_transaction.html, matrix: context, detail)

R-58477-34656-38121-25387-55134-41708-03146-13097

  sqlite> CREATE INDEX i1 ON t1(a); sqlite> EXPLAIN QUERY PLAN SELECT a, b FROM t1 WHERE a=1; QUERY PLAN `--SEARCH TABLE t1 USING INDEX i1 (a=?) (source: eqp.html, matrix: context, detail)

R-58546-22075-08471-42930-58515-49649-00646-41652

  The random() function is obviously non-deterministic because it gives a different answer every time it is invoked. (source: deterministic.html, matrix: context, detail)

R-58553-63740-12454-47627-42438-52862-15434-40396

  If executing the SELECT statement specified as the right-hand operand of the EXISTS operator would return one or more rows, then the EXISTS operator evaluates to 1. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-58560-23968-28537-53654-45621-13227-05416-28279

  The default value of the checkpoint_fullfsync flag is off. (source: pragma.html, checked-by: th3/req1/pragma11.test, matrix: context, detail)

R-58570-38916-64955-51139-26033-08534-02981-10292

  If N or iOffset are less than zero SQLITE_ERROR is returned and no data is written. (source: c3ref/blob_write.html, checked-by: tcl/e_blobwrite.test, matrix: context, detail)

R-58594-33195-20436-37240-14115-17823-15221-34183

  One might, for example, want to query all objects that overlap with the 35th parallel: SELECT id FROM demo_index WHERE maxY>=35.0 AND minY<=35.0; But, generally speaking, the more constraints that the R*Tree module has to work with, and the smaller the bounding box, the faster the results will come back. 3.4. Roundoff Error By default, coordinates are stored in an R*Tree using 32-bit floating point values. When a coordinate cannot be exactly represented by a 32-bit floating point number, the lower-bound coordinates are rounded down and the upper-bound coordinates are rounded up. Thus, bounding boxes might be slightly larger than specified, but will never be any smaller. This is exactly what is desired for doing the more common "overlapping" queries where the application wants to find every entry in the R*Tree that overlaps a query bounding box. Rounding the entry bounding boxes outward might cause a few extra entries to appears in an overlapping query if the edge of the entry bounding box corresponds to an edge of the query bounding box. But the overlapping query will never miss a valid table entry. However, for a "contained-within" style query, rounding the bounding boxes outward might cause some entries to be excluded from the result set if the edge of the entry bounding box corresponds to the edge of the query bounding box. To guard against this, applications should expand their contained-within query boxes slightly (by 0.000012%) by rounding down the lower coordinates and rounding up the top coordinates, in each dimension. 3.5. Reading And Writing At The Same Time It is the nature of the Guttman R-Tree algorithm that any write might radically restructure the tree, and in the process change the scan order of the nodes. For this reason, it is not generally possible to modify the R-Tree in the middle of a query of the R-Tree. Attempts to do so will fail with a SQLITE_LOCKED "database table is locked" error. So, for example, suppose an application runs one query against an R-Tree like this: SELECT id FROM demo_index WHERE maxY>=35.0 AND minY<=35.0; Then for each "id" value returned, suppose the application creates an UPDATE statement like the following and binds the "id" value returned against the "?1" parameter: UPDATE demo_index SET maxY=maxY+0.5 WHERE id=?1; Then the UPDATE might fail with an SQLITE_LOCKED error. The reason is that the initial query has not run to completion. It is remembering its place in the middle of a scan of the R-Tree. So an update to the R-Tree cannot be tolerated as this would disrupt the scan. It is also possible to express this kind of simultaneous read and write on an R-Tree within a single query, for example if an UPDATE statement tries to change the value of one row of the R-Tree based on a complicated query from another row of the same R-Tree, perhaps something like this: UPDATE demo_index SET maxY = (SELECT max(maxX) FROM demo_index AS x2 WHERE x2.maxY>demo_index.x2) WHERE maxY>=35.0 AND minY<=35.0; This is a limitation of the R-Tree extension only. Ordinary tables in SQLite are able to read and write at the same time. Other virtual tables might (or might not) also that capability. And R-Tree can appear to read and write at the same time in some circumstances, if it can figure out how to reliably run the query to completion before starting the update. But you shouldn't count on that for every query. Generally speaking, it is best to avoid running queries and updates to the same R-Tree at the same time. If you really need to update an R-Tree based on complex queries against the same R-Tree, it is best to run the complex queries first and store the results in a temporary table, then update the R-Tree based on the values stored in the temporary table. 4. Using R*Trees Effectively For SQLite versions prior to 3.24.0 (2018-06-04), the only information that an R*Tree index stores about an object is its integer ID and its bounding box. Additional information needs to be stored in separate tables and related to the R*Tree index using the primary key. For the example above, one might create an auxiliary table as follows: CREATE TABLE demo_data( id INTEGER PRIMARY KEY, -- primary key objname TEXT, -- name of the object objtype TEXT, -- object type boundary BLOB -- detailed boundary of object ); In this example, the demo_data.boundary field is intended to hold some kind of binary representation of the precise boundaries of the object. The R*Tree index only holds an axis-aligned rectangular boundary for the object. The R*Tree boundary is just an approximation of the true object boundary. So what typically happens is that the R*Tree index is used to narrow a search down to a list of candidate objects and then more detailed and expensive computations are done on each candidate to find if the candidate truly meets the search criteria. Key Point: An R*Tree index does not normally provide the exact answer but merely reduces the set of potential answers from millions to dozens. Suppose the demo_data.boundary field holds some proprietary data description of a complex two-dimensional boundary for an object and suppose that the application has used the sqlite3_create_function() interface to created application-defined functions "contained_in" and "overlaps" accepting two demo_data.boundary objects and return true or false. One may assume that "contained_in" and "overlaps" are relatively slow functions that we do not want to invoke too frequently. Then an efficient way to find the name of all objects located within the North Carolina 12th District, one may be to run a query like this: SELECT objname FROM demo_data, demo_index WHERE demo_data.id=demo_index.id AND contained_in(demo_data.boundary, :boundary) AND minX>=-81.0 AND maxX<=-79.6 AND minY>=35.0 AND maxY<=36.2; In the query above, one would presumably bind the binary BLOB description of the precise boundary of the 12th district to the ":boundary" parameter. Notice how the query above works: The R*Tree index runs in the outer loop to find entries that are contained within the bounding box of longitude -81..-79.6 and latitude 35.0..36.2. For each object identifier found, SQLite looks up the corresponding entry in the demo_data table. It then uses the boundary field from the demo_data table as a parameter to the contained_in() function and if that function returns true, the objname field from the demo_data table is returned as the next row of query result. One would get the same answer without the use of the R*Tree index using the following simpler query: SELECT objname FROM demo_data WHERE contained_in(demo_data.boundary, :boundary); The problem with this latter query is that it must apply the contained_in() function to millions of entries in the demo_data table. The use of the R*Tree in the penultimate query reduces the number of calls to contained_in() function to a small subset of the entire table. The R*Tree index did not find the exact answer itself, it merely limited the search space. 4.1. Auxiliary Columns Beginning with SQLite version 3.24.0 (2018-06-04), r-tree tables can have auxiliary columns that store arbitrary data. Auxiliary columns can be used in place of secondary tables such as "demo_data". Auxiliary columns are marked with a "+" symbol before the column name. Auxiliary columns must come after all of the coordinate boundary columns. There is a limit of no more than 100 auxiliary columns. The following example shows an r-tree table with auxiliary columns that is equivalent to the two tables "demo_index" and "demo_data" above: CREATE VIRTUAL TABLE demo_index2 USING rtree( id, -- Integer primary key minX, maxX, -- Minimum and maximum X coordinate minY, maxY, -- Minimum and maximum Y coordinate +objname TEXT, -- name of the object +objtype TEXT, -- object type +boundary BLOB -- detailed boundary of object ); (source: rtree.html, matrix: context, detail)

R-58640-02877-59661-28558-18785-36384-52815-36823

  RTRIM - The same as binary, except that trailing space characters are ignored. (source: datatype3.html, checked-by: th3/req1/datatype3_09.test, matrix: context, detail)

R-58706-14229-29588-03178-14400-15818-06936-07358

  Similarly, an INSERT statement may provide a value to use as the rowid for each row inserted. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-58714-09943-11922-47128-02386-08518-39517-24120

  SQLITE_DBSTATUS_CACHE_USED This parameter returns the approximate number of bytes of heap memory used by all pager caches associated with the database connection. (source: c3ref/c_dbstatus_options.html, checked-by: th3/req1/dbstatus01.test, matrix: context, detail)

R-58729-25290-19710-37718-46636-04940-09423-21381

  The SQLITE_FCNTL_PRAGMA file control occurs at the beginning of pragma statement analysis and so it is able to override built-in PRAGMA statements. (source: c3ref/c_fcntl_begin_atomic_write.html, checked-by: th3/cov1/pragma24.test, matrix: context, detail)

R-58731-25439-21347-45819-04127-12492-10479-51386

  The collating sequence set by the COLLATE operator overrides the collating sequence determined by the COLLATE clause in a table column definition. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-58769-41706-35801-04154-17384-12039-24513-64456

  The in-header database size is always valid when the database is only modified using recent versions of SQLite, versions 3.7.0 (2010-07-21) and later. (source: fileformat2.html, matrix: context, detail)

R-58777-16499-45201-64788-11957-29416-62683-55566

  Statistics might not be available for all loops in all statements. (source: c3ref/stmt_scanstatus.html, checked-by: th3/cov1/status02.test, matrix: context, detail)

R-58778-10776-22890-25642-31473-47803-35763-23177

  The xInit() method is called once for each effective call to sqlite3_initialize() (source: c3ref/pcache_methods2.html, checked-by: th3/th3pcache.c, matrix: context, detail)

R-58779-36112-07505-12911-48532-31696-16411-64279

  Once created, the sqlite_sequence table exists in the sqlite_schema table forever; it cannot be dropped. (source: fileformat2.html, matrix: context, detail)

R-58813-55036-01417-02412-42813-08467-49473-05345

  The sqlite3_bind_zeroblob() and sqlite3_result_zeroblob() interfaces and the built-in zeroblob SQL function may be used to create a zero-filled blob to read or write using the incremental-blob interface. (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, matrix: context, detail)

R-58814-63508-14637-55727-60663-34396-08543-07836

  The sqlite3_db_release_memory(D) interface attempts to free as much heap memory as possible from database connection D. (source: c3ref/db_release_memory.html, checked-by: tcl/shrink.test, matrix: context, detail)

R-58823-28748-40734-32181-06103-05121-55072-03563

  If it identifies a specific database index, then just that index is recreated. (source: lang_reindex.html, checked-by: tcl/e_reindex.test, matrix: context, detail)

R-58827-57434-27367-43621-07290-05598-35918-65407

  SQLite invokes D with P as its only argument when SQLite is finished with P. (source: c3ref/result_blob.html, matrix: context, detail)

R-58835-30946-01453-54095-45782-49033-61690-21172

  The SQLITE_FCNTL_POWERSAFE_OVERWRITE opcode is used to set or query the persistent "powersafe-overwrite" or "PSOW" setting. (source: c3ref/c_fcntl_begin_atomic_write.html, matrix: context, detail)

R-58838-55911-33120-57542-55492-25177-48727-11020

  If the nByte argument is negative, then zSql is read up to the first zero terminator. (source: c3ref/prepare.html, checked-by: th3/req1/prepare01.test, matrix: context, detail)

R-58862-44169-03141-46737-61496-44954-25565-37290

  If an UPDATE statement has a LIMIT clause, the maximum number of rows that will be updated is found by evaluating the accompanying expression and casting it to an integer value. (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-58951-07798-10781-33185-41283-52563-14350-38026

  Otherwise, if no column-list is specified, the number of columns in the result of the SELECT must be the same as the number of columns in the table. (source: lang_insert.html, checked-by: tcl/e_insert.test, matrix: context, detail)

R-59001-45278-16450-29510-31593-00362-58308-30623

  SQLITE_LIMIT_FUNCTION_ARG The maximum number of arguments on a function. (source: c3ref/c_limit_attached.html, checked-by: tcl/sqllimits1.test, th3/req1/limit02.test, matrix: context, detail)

R-59007-20454-04815-57542-48714-11187-47465-31544

  Any other character matches itself or its lower/upper case equivalent (i.e. case-insensitive matching). (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-59051-35706-17689-00291-19799-28494-42695-25135

  The PRIMARY KEY clause must contain only column names — the use of expressions in an indexed-column of a PRIMARY KEY is not supported. (source: lang_createtable.html, matrix: context, detail)

R-59089-25828-47807-24089-43105-44116-25711-61833

  The columns of the cartesian product dataset are, in order, all the columns of the left-hand dataset followed by all the columns of the right-hand dataset. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-59103-42685-29407-49454-53607-22042-22472-58911

  When pMem is not NULL, SQLite will strive to use the memory provided to satisfy page cache needs, falling back to sqlite3_malloc() if a page cache line is larger than sz bytes or if all of the pMem buffer is exhausted. (source: c3ref/c_config_covering_index_scan.html, matrix: context, detail)

R-59114-58431-38576-59945-01836-64391-41431-21894

  The sqlite3_log() interface writes a message into the error log established by the SQLITE_CONFIG_LOG option to sqlite3_config(). (source: c3ref/log.html, checked-by: th3/cov1/log01.test, matrix: context, detail)

R-59123-07168-16641-44847-35507-24434-49079-13078

  Because of this, SQLite is able to plan queries with 50- or 60-way joins in a matter of microseconds Join reordering is automatic and usually works well enough that programmers do not have to think about it, especially if ANALYZE has been used to gather statistics about the available indices. (source: optoverview.html, matrix: context, detail)

R-59124-61339-46915-41859-25282-43163-13207-41482

  Each row in a table with a primary key must have a unique combination of values in its primary key columns. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-59140-43269-17105-04578-09488-50490-51630-23162

  The following table details the conversions that are applied: InternalType RequestedType Conversion NULL INTEGER Result is 0 NULL FLOAT Result is 0.0 NULL TEXT Result is a NULL pointer NULL BLOB Result is a NULL pointer INTEGER FLOAT Convert from integer to float INTEGER TEXT ASCII rendering of the integer INTEGER BLOB Same as INTEGER->TEXT FLOAT INTEGER CAST to INTEGER FLOAT TEXT ASCII rendering of the float FLOAT BLOB CAST to BLOB TEXT INTEGER CAST to INTEGER TEXT FLOAT CAST to REAL TEXT BLOB No change BLOB INTEGER CAST to INTEGER BLOB FLOAT CAST to REAL BLOB TEXT Add a zero terminator if needed (source: c3ref/column_blob.html, checked-by: th3/req1/column02.test, matrix: context, detail)

R-59153-45869-47799-39794-18343-43894-28184-56568

  If the declared type for a column contains any of the strings "REAL", "FLOA", or "DOUB" then the column has REAL affinity. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-59165-19659-62655-08442-22877-21520-01156-02106

  If a numeric literal has a decimal point or an exponentiation clause or if its magnitude is less than -9223372036854775808 or greater than 9223372036854775807, then it is a floating point literal. Otherwise is it is an integer literal. (source: lang_expr.html, checked-by: th3/req1/expr01.test, matrix: context, detail)

R-59171-47567-19370-12985-34134-25393-49439-38591

  This mode blocks (it invokes the busy-handler callback) until there is no database writer and all readers are reading from the most recent database snapshot. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, th3/req1/checkpoint01.test, matrix: context, detail)

R-59172-51198-22956-23364-43321-06820-15140-44023

  If the transaction stack is not empty when the BEGIN command is invoked, then the command fails with an error. (source: lang_savepoint.html, matrix: context, detail)

R-59177-30964-27370-56053-61429-49243-22831-00049

  If the date is already on the desired weekday, the "weekday" modifier leaves the date unchanged. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-59182-40522-06703-03529-14405-50301-30896-08116

  The SQLITE_VERSION C preprocessor macro in the sqlite3.h header evaluates to a string literal that is the SQLite version in the format "X.Y.Z" where X is the major version number (always 3 for SQLite3) and Y is the minor version number and Z is the release number. (source: c3ref/c_source_id.html, checked-by: th3/req1/version01.test, matrix: context, detail)

R-59212-00515-24356-00769-54260-21124-60986-12573

  But if the case_sensitive_like pragma is enabled as follows: PRAGMA case_sensitive_like=ON; Then the LIKE operator pays attention to case and the example above would evaluate to false. (source: optoverview.html, matrix: context, detail)

R-59218-44473-40361-49593-50972-37596-39041-04578

  The sqlite_sequence table is created automatically whenever any ordinary table with an AUTOINCREMENT integer primary key is created. (source: fileformat2.html, matrix: context, detail)

R-59237-46742-53933-54312-09951-05866-00248-19595

  A subquery specified in the table-or-subquery following the FROM clause in a simple SELECT statement is handled as if it was a table containing the data returned by executing the subquery statement. (source: lang_select.html, checked-by: tcl/e_select2.test, matrix: context, detail)

R-59246-48037-03158-25675-60102-33879-46651-46804

  Any callback set by a previous call to this function for the same database connection is overridden. (source: c3ref/update_hook.html, checked-by: th3/cov1/main15.test, matrix: context, detail)

R-59271-29405-40736-18253-27684-60508-27772-33156

  If the L parameter is NULL, then all virtual table modules are removed. (source: c3ref/drop_modules.html, matrix: context, detail)

R-59275-48655-09864-05329-36519-41537-00645-39530

  The new row is identified by the rowid value passed as the second argument. (source: c3ref/blob_reopen.html, checked-by: th3/req1/blob01.test, matrix: context, detail)

R-59294-22119-53141-34603-32613-50931-06947-25796

  If additional page cache memory is needed beyond what is provided by the initial allocation, then SQLite goes to sqlite3_malloc() separately for each additional cache line. (source: c3ref/c_config_covering_index_scan.html, checked-by: th3/cov1/main42.test, matrix: context, detail)

R-59310-51205-15407-41555-00888-38389-12336-63259

  The "reserved space" size in the 1-byte integer at offset 20 is the number of bytes of space at the end of each page to reserve for extensions. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-59344-06440-62952-57613-16293-38554-64918-31058

  It is possible to have an aggregate function with the same name as a simple function, as long as the number of arguments for the two forms of the function are different. (source: lang_expr.html, checked-by: th3/req1/func05.test, matrix: context, detail)

R-59391-62387-22553-12077-41502-35655-02982-42889

  Conversions between UTF-16be and UTF-16le are always done in place and do not invalidate a prior pointer, though of course the content of the buffer that the prior pointer references will have been modified. (source: c3ref/column_blob.html, checked-by: th3/req1/column03.test, matrix: context, detail)

R-59400-47238-48120-20066-59137-27524-23883-51047

  The "weekday" modifier advances the date forward, if necessary, to the next date where the weekday number is N. Sunday is 0, Monday is 1, and so forth. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-59451-39147-41115-01514-52343-04781-09357-36534

  A ROLLBACK will cause a pending read operation to fail only if the schema was changed within the transaction being rolled back. (source: rescode.html, matrix: context, detail)

R-59498-62062-55834-19518-04943-47390-59895-15219

  If prepared statement P does not have results ready to return (via calls to the sqlite3_column() family of interfaces) then sqlite3_data_count(P) returns 0. (source: c3ref/data_count.html, checked-by: th3/req1/datacnt01.test, matrix: context, detail)

R-59544-00330-10007-23710-00944-16891-38828-33861

  If the affinity of a column is REAL and that column contains a value that can be converted to an integer without loss of information (if the value contains no fractional part and is not too large to be represented as an integer) then the column may be stored in the record as an integer. (source: fileformat2.html, matrix: context, detail)

R-59553-21705-43899-06784-22214-40480-29104-54159

  Collating functions are deleted when they are overridden by later calls to the collation creation functions or when the database connection is closed using sqlite3_close(). (source: c3ref/create_collation.html, checked-by: th3/req1/createcoll01.test, matrix: context, detail)

R-59577-33471-39346-45414-34609-60012-12077-11853

  The COLLATE operator is a unary postfix operator that assigns a collating sequence to an expression. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-59581-44104-07622-44169-35142-09947-54214-52613

  If SQLite is built with the SQLITE_ENABLE_UPDATE_DELETE_LIMIT compile-time option then the syntax of the UPDATE statement is extended with optional ORDER BY and LIMIT clauses (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-59593-21810-38757-57312-51798-28270-65217-02509

  If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then it is not possible to set the Serialized threading mode and sqlite3_config() will return SQLITE_ERROR if called with the SQLITE_CONFIG_SERIALIZED configuration option. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, matrix: context, detail)

R-59615-42828-32025-62941-63094-03389-26549-04394

  A value of 10 (0x0a) means the page is a leaf index b-tree page. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-59626-52827-57662-05724-48441-25095-54534-18435

  The name of the collation is a UTF-8 string for sqlite3_create_collation() and sqlite3_create_collation_v2() and a UTF-16 string in native byte order for sqlite3_create_collation16(). (source: c3ref/create_collation.html, checked-by: th3/req1/createcoll01.test, matrix: context, detail)

R-59634-51678-29795-22623-60513-10487-06107-08719

  When that SQL function appears on the right-hand side of the MATCH operator and the left-hand side of the MATCH operator is any column in the R*Tree virtual table, then the callback defined by the third argument (xQueryFunc or xGeom) is invoked to determine if a particular object or subtree overlaps the desired region. (source: rtree.html, matrix: context, detail)

R-59665-46340-25157-22824-10328-32934-42335-25570

  This routine actually returns the index of the largest (rightmost) parameter. For all forms except ?NNN, this will correspond to the number of unique parameters. If parameters of the ?NNN form are used, there may be gaps in the list. (source: c3ref/bind_parameter_count.html, checked-by: th3/req1/bindparamcnt01.test, matrix: context, detail)

R-59712-18547-02212-00843-63183-21822-46730-58410

  The source database is read-locked only while it is being read; it is not locked continuously for the entire backup operation. (source: c3ref/backup_finish.html, checked-by: th3/req1/backup01.test, matrix: context, detail)

R-59738-58751-51247-06625-33593-39630-09372-24907

  The routines sqlite3_prepare_v2(), sqlite3_prepare(), sqlite3_prepare16(), sqlite3_prepare16_v2(), sqlite3_exec(), and sqlite3_get_table() accept an SQL statement list (sql-stmt-list) which is a semicolon-separated list of statements. (source: lang.html, checked-by: th3/req1/lang01.test, matrix: context, detail)

R-59741-51383-54306-63308-23594-36785-40026-55929

  However, application code cannot create the sqlite_sequence table if it does not already exist. (source: fileformat2.html, matrix: context, detail)

R-59782-00072-08374-56821-09554-43453-45852-13316

  The soundex(X) function returns a string that is the soundex encoding of the string X. (source: lang_corefunc.html, checked-by: src/func.c, th3/cov1/func07.test, matrix: context, detail)

R-59782-36818-22157-37925-40398-63566-64063-39784

  The SQLITE_CHECKPOINT_FULL, RESTART and TRUNCATE modes also obtain the exclusive "writer" lock on the database file. (source: c3ref/wal_checkpoint_v2.html, checked-by: src/wal.c, tcl/e_walckpt.test, matrix: context, detail)

R-59829-49719-48760-25089-64787-41616-07778-57513

  The optional "schema-name." prefix on the table-name is supported for top-level INSERT statements only. (source: lang_insert.html, checked-by: tcl/e_insert.test, matrix: context, detail)

R-59841-13798-58267-43160-49390-53360-57337-63082

  The 4-byte big-endian integer at offset 32 stores the page number of the first page of the freelist, or zero if the freelist is empty. (source: fileformat2.html, checked-by: src/btree.c, matrix: context, detail)

R-59843-56897-36550-00278-28044-49330-04836-60246

  The name of the module is given by the second parameter. (source: c3ref/create_module.html, matrix: context, detail)

R-59847-53574-49799-21344-47903-30927-18789-48641

  If sqlite3_unlock_notify() is called in a multi-threaded application, there is a chance that the blocking connection will have already concluded its transaction by the time sqlite3_unlock_notify() is invoked. If this happens, then the specified callback is invoked immediately, from within the call to sqlite3_unlock_notify(). (source: c3ref/unlock_notify.html, matrix: context, detail)

R-59858-46238-55910-38218-36749-39219-09135-02336

  If the argument N is negative, then the number of cache pages is adjusted to be a number of pages that would use approximately abs(N*1024) bytes of memory based on the current page size. (source: pragma.html, matrix: context, detail)

R-59866-40673-09200-10625-43441-33703-34788-06531

  The first call to sqlite3_backup_step() obtains an exclusive lock on the destination file. (source: c3ref/backup_finish.html, matrix: context, detail)

R-59880-60857-20339-39242-03952-30243-41004-50875

  If no prepared statement satisfies the conditions of this routine, it returns NULL. (source: c3ref/next_stmt.html, checked-by: th3/cov1/vdbeapi04.test, matrix: context, detail)

R-59903-02736-29653-35997-33194-50062-38797-30798

  If M is the size of the prior allocation, then min(N,M) bytes of the prior allocation are copied into the beginning of buffer returned by sqlite3_realloc(X,N) and the prior allocation is freed. (source: c3ref/free.html, checked-by: th3/req1/malloc02.test, matrix: context, detail)

R-59941-62933-38106-18791-02770-37169-39632-35636

  PRAGMA checkpoint_fullfsync PRAGMA checkpoint_fullfsync = boolean; Query or change the fullfsync flag for checkpoint operations. (source: pragma.html, checked-by: th3/req1/pragma11.test, matrix: context, detail)

R-59958-37183-05497-01446-42261-31297-62677-47395

  Only rows of the table for which the WHERE clause evaluates to true are included in the index. (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-59963-05629-44099-52431-63560-45782-35835-08059

  Even though the function prototype shows that xEntryPoint() takes no arguments and returns void, SQLite invokes xEntryPoint() with three arguments and expects an integer result as if the signature of the entry point where as follows: int xEntryPoint( sqlite3 *db, const char **pzErrMsg, const struct sqlite3_api_routines *pThunk ); (source: c3ref/auto_extension.html, checked-by: th3/req1/autoext01.test, matrix: context, detail)

R-59964-54038-02693-18271-12639-43179-21789-28572

  SQLITE_OPEN_FULLMUTEX The new database connection will use the "serialized" threading mode. (source: c3ref/open.html, checked-by: th3/cov1/main12.test, matrix: context, detail)

R-59999-34429-08748-48712-52487-44530-24268-48005

  Generated columns can be interspersed among ordinary columns. (source: gencol.html, matrix: context, detail)

R-60001-20170-36140-08740-00799-64790-64751-11735

  The rollback callback is not invoked if a transaction is automatically rolled back because the database connection is closed. (source: c3ref/commit_hook.html, matrix: context, detail)

R-60007-46407-64450-37762-55294-24345-19762-56932

  For serial types 0, 8, 9, 12, and 13, the value is zero bytes in length. If all columns are of these types then the body section of the record is empty. (source: fileformat2.html, checked-by: th3/req1/fileformat02.test, matrix: context, detail)

R-60090-27861-59192-20728-19782-37127-56669-48134

  This interface loads an SQLite extension library from the named file. (source: c3ref/load_extension.html, matrix: context, detail)

R-60099-10331-60202-18303-15072-02692-09131-64001

  The multi-argument max() function returns the argument with the maximum value, or return NULL if any argument is NULL. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, th3/req1/func03.test, matrix: context, detail)

R-60116-07512-58915-34357-51591-00163-63646-47672

  The parent key of a foreign key constraint is not allowed to use the rowid. The parent key must used named columns only. (source: lang_createtable.html, checked-by: th3/req1/foreignkeys03.test, matrix: context, detail)

R-60116-58305-35895-50546-31025-26877-37972-30944

  A NULL operand on a mathematical operator yields a NULL result. (source: datatype3.html, checked-by: th3/req1/datatype3_06.test, matrix: context, detail)

R-60153-11078-48235-52964-41144-31908-11477-07860

  If the most recent call to sqlite3_step(S) for the prepared statement S returned SQLITE_ROW or SQLITE_DONE, or if sqlite3_step(S) has never before been called on S, then sqlite3_reset(S) returns SQLITE_OK. (source: c3ref/reset.html, checked-by: th3/th3util.c, matrix: context, detail)

R-60175-02388-07986-54483-25650-07763-57471-09194

  Deliberately changing out of WAL mode changes the database file format version numbers back to 1 so that older versions of SQLite can once again access the database file. (source: wal.html, checked-by: tcl/e_wal.test, matrix: context, detail)

R-60235-46489-17538-30450-39189-57367-12631-34674

  The handler will sleep multiple times until at least "ms" milliseconds of sleeping have accumulated. (source: c3ref/busy_timeout.html, checked-by: th3/cov1/main21.test, matrix: context, detail)

R-60247-35692-05586-10115-22101-12155-14694-19352

  The contents of the sqlite3_rtree_geometry structure are initialized by SQLite but are not subsequently modified. (source: rtree.html, matrix: context, detail)

R-60292-04128-28566-07483-18233-58006-62395-18068

  When temp_store is FILE (1) temporary tables and indices are stored in a file. (source: pragma.html, matrix: context, detail)

R-60317-50382-07246-28388-21909-63634-29963-03313

  The sqlite3_table_column_metadata(X,D,T,C,....) routine returns information about column C of table T in database D on database connection X. (source: c3ref/table_column_metadata.html, checked-by: th3/cov1/metadata01.test, matrix: context, detail)

R-60324-39271-63103-21591-25385-29112-09183-41163

  Key/value pairs are separated by a single "&" character. (source: uri.html, matrix: context, detail)

R-60334-12880-45954-16548-05057-35188-10924-38811

  If the most recent evaluation of the statement encountered no errors or if the statement is never been evaluated, then sqlite3_finalize() returns SQLITE_OK. (source: c3ref/finalize.html, checked-by: th3/req1/finalize01.test, matrix: context, detail)

R-60344-21573-43141-53224-31246-51025-51087-34354

  The SQLite query planner might use the estimated row size information provided by the "sz=NNN" token to help it choose smaller tables and indexes that require less disk I/O. (source: fileformat2.html, checked-by: th3/cov1/index02.test, matrix: context, detail)

R-60349-29862-22141-07811-21559-44331-23137-45760

  This API is only available if the library was compiled with the SQLITE_ENABLE_UNLOCK_NOTIFY C-preprocessor symbol defined. (source: c3ref/unlock_notify.html, matrix: context, detail)

R-60354-20889-08595-48824-21285-36723-22073-47056

  The sqlite3_get_auxdata(C,N) interface returns a pointer to the metadata associated by the sqlite3_set_auxdata(C,N,P,X) function with the Nth argument value to the application-defined function. (source: c3ref/get_auxdata.html, matrix: context, detail)

R-60355-64447-23225-33179-21170-11020-20743-59440

  On success, the sqlite3_prepare() family of routines return SQLITE_OK; otherwise an error code is returned. (source: c3ref/prepare.html, checked-by: th3/req1/prepare01.test, matrix: context, detail)

R-60364-48303-16474-64960-19278-15379-28844-42689

  The sqlite3_mutex_try() interface returns SQLITE_OK upon successful entry. (source: c3ref/mutex_alloc.html, matrix: context, detail)

R-60389-26911-28107-48751-35058-52596-03462-21420

  Format 12 is the Julian day number expressed as a floating point value. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-60470-29837-23817-60993-08685-62249-11012-03852

  The normal ROWID selection algorithm described above will generate monotonically increasing unique ROWIDs as long as you never use the maximum ROWID value and you never delete the entry in the table with the largest ROWID. (source: autoinc.html, checked-by: th3/req1/autoinc01.test, matrix: context, detail)

R-60516-64103-60731-31538-24132-02538-08166-64982

  The column on the left side of the GLOB operator must always use the built-in BINARY collating sequence or no attempt will be made to optimize that operator with indices. (source: optoverview.html, matrix: context, detail)

R-60541-63059-13982-01066-19481-07947-17056-17575

  Running VACUUM to rebuild the database reclaims this space and reduces the size of the database file. (source: lang_vacuum.html, checked-by: tcl/e_vacuum.test, matrix: context, detail)

R-60567-47780-15259-20158-13854-20870-19515-07838

  Unless it returns SQLITE_MISUSE, the sqlite3_wal_checkpoint_v2() interface sets the error information that is queried by sqlite3_errcode() and sqlite3_errmsg(). (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, matrix: context, detail)

R-60616-50251-50131-13271-23159-13048-15084-43797

  If the default value of a column is an expression in parentheses, then the expression is evaluated once for each row inserted and the results used in the new row. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-60626-59740-27448-56337-63939-00650-38940-26585

  All query parameters are always passed through into the xOpen method of the VFS even if they are previously read and interpreted by the SQLite core. (source: uri.html, matrix: context, detail)

R-60642-04082-57988-56847-11396-02756-59286-18214

  If the writer lock cannot be obtained immediately, and a busy-handler is configured, it is invoked and the writer lock retried until either the busy-handler returns 0 or the lock is successfully obtained. (source: c3ref/wal_checkpoint_v2.html, checked-by: src/wal.c, tcl/e_walckpt.test, matrix: context, detail)

R-60722-16865-19617-65256-11278-03266-08396-03886

  sqlite> CREATE INDEX i3 ON t1(b); sqlite> EXPLAIN QUERY PLAN SELECT * FROM t1 WHERE a=1 OR b=2; QUERY PLAN `--MULTI-INDEX OR |--SEARCH TABLE t1 USING COVERING INDEX i2 (a=?) `--SEARCH TABLE t1 USING INDEX i3 (b=?) (source: eqp.html, matrix: context, detail)

R-60735-46752-55529-42699-37701-47683-08130-22396

  BLOBs are encoded as hexadecimal literals. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, matrix: context, detail)

R-60748-56514-55459-48719-62733-56255-26618-29581

  If the hard heap limit is enabled and if sqlite3_soft_heap_limit(N) is invoked with a value of N that is greater than the hard heap limit, the the soft heap limit is set to the value of the hard heap limit. (source: c3ref/hard_heap_limit64.html, matrix: context, detail)

R-60755-45226-57184-35002-64218-27799-00922-32350

  The application_id PRAGMA is used to query or set the 32-bit signed big-endian "Application ID" integer located at offset 68 into the database header. (source: pragma.html, checked-by: th3/cov1/pragma20.test, matrix: context, detail)

R-60758-29241-24503-58415-42517-14147-34293-65020

  The RELEASE command causes all savepoints back to and including the most recent savepoint with a matching name to be removed from the transaction stack. (source: lang_savepoint.html, matrix: context, detail)

R-60770-10612-35184-24244-53222-19878-52254-20031

  One of the ALL or DISTINCT keywords may follow the SELECT keyword in a simple SELECT statement. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-60775-64916-04549-62415-27709-55207-27671-06558

  If a WHERE clause is specified, the WHERE expression is evaluated for each row in the input data as a boolean expression. Only rows for which the WHERE clause expression evaluates to true are included from the dataset before continuing. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-60806-29331-56214-63587-21345-27818-10618-50452

  The answers from changes() and last_insert_rowid() depend on prior SQL statements, and so they are also non-deterministic. (source: deterministic.html, matrix: context, detail)

R-60813-08986-02359-37993-40551-24945-25887-06253

  If another thread is already within the mutex, sqlite3_mutex_enter() will block and sqlite3_mutex_try() will return SQLITE_BUSY. (source: c3ref/mutex_alloc.html, matrix: context, detail)

R-60831-05341-23362-01720-38236-12013-65294-04816

  The argument is may be either in parentheses or it may be separated from the pragma name by an equal sign. (source: pragma.html, checked-by: th3/req1/pragma01.test, matrix: context, detail)

R-60876-64599-55796-06816-32195-01348-28462-53334

  The sqlite3_value_text16() interface extracts a UTF-16 string in the native byte-order of the host machine. (source: c3ref/value_blob.html, checked-by: th3/req1/value02.test, th3/req1/value03.test, matrix: context, detail)

R-60908-02162-62695-08898-00608-41143-47614-24139

  In the current implementation, the update hook is not invoked when conflicting rows are deleted because of an ON CONFLICT REPLACE clause. (source: c3ref/update_hook.html, checked-by: th3/cov1/main15.test, matrix: context, detail)

R-60985-57662-04483-59248-10439-16937-18279-52954

  SQLite will convert the value back to floating point when extracting it from the record. (source: fileformat2.html, checked-by: src/expr.c, matrix: context, detail)

R-61005-38009-10424-51044-09118-00847-38862-56166

  The third column is the name of the database file itself, or an empty string if the database is not associated with a file. (source: pragma.html, checked-by: th3/req1/pragma14.test, matrix: context, detail)

R-61006-08918-45261-48717-64220-57830-55931-08839

  If the memory pointer is not NULL then the alternative memory allocator is engaged to handle all of SQLites memory allocation needs. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, matrix: context, detail)

R-61011-49942-02510-58821-51919-09145-23706-24617

  If an sqlite3_exec() callback returns non-zero, the sqlite3_exec() routine returns SQLITE_ABORT without invoking the callback again and without running any subsequent SQL statements. (source: c3ref/exec.html, checked-by: th3/req1/exec01.test, matrix: context, detail)

R-61057-06282-34752-62385-16178-37477-62681-46915

  When selecting the order of tables in a join, SQLite uses an efficient polynomial-time algorithm. (source: optoverview.html, matrix: context, detail)

R-61141-39803-04912-41496-05961-04473-04345-36188

  The value of the default cache size is stored in the 4-byte big-endian integer located at offset 48 in the header of the database file. (source: pragma.html, checked-by: th3/req1/pragma09.test, matrix: context, detail)

R-61158-57305-03105-25357-56020-55639-01161-13829

  If the third parameter to sqlite3_bind_text16() is not NULL, then it should be a pointer to well-formed UTF16 text. (source: c3ref/bind_blob.html, matrix: context, detail)

R-61172-15671-64149-04052-46334-28337-33946-53778

  The DROP TRIGGER statement removes a trigger created by the CREATE TRIGGER statement. (source: lang_droptrigger.html, checked-by: tcl/e_droptrigger.test, matrix: context, detail)

R-61177-47713-20456-53383-60828-21202-49535-63505

  The sqlite3_vfs_find() interface returns a pointer to a VFS given its name. (source: c3ref/vfs_find.html, checked-by: th3/req1/vfs01.test, matrix: context, detail)

R-61189-52809-58613-48789-49594-50841-42659-38002

  If the function pointer is not NULL, it is invoked by sqlite3_log() to process each logging event. (source: c3ref/c_config_covering_index_scan.html, checked-by: th3/cov1/log01.test, matrix: context, detail)

R-61209-06413-51781-11352-22820-24005-55507-30248

  SQLite will always allocate at least mxPathname+1 bytes for the output buffer xFullPathname. (source: c3ref/vfs.html, checked-by: th3/th3testvfs.c, matrix: context, detail)

R-61241-11973-05308-06384-59636-46330-32526-49143

  A zeroblob uses a fixed amount of memory (just an integer to hold its size) while it is being processed. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind02.test, matrix: context, detail)

R-61275-35157-49893-43294-29165-05746-06508-08638

  The SQLITE_CONFIG_MEMSTATUS option takes single argument of type int, interpreted as a boolean, which enables or disables the collection of memory allocation statistics. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, th3/th3main.c, matrix: context, detail)

R-61304-29449-15087-21131-58882-51770-33861-39357

  The unlikely(X) function is equivalent to likelihood(X, 0.0625). (source: lang_corefunc.html, checked-by: src/resolve.c, matrix: context, detail)

R-61362-32087-29784-51692-52137-61704-15338-45644

  Attempting to insert a row into the track table that does not correspond to any row in the artist table will fail, (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys01.test, matrix: context, detail)

R-61376-43478-41054-59749-08806-37073-25549-48326

  The glob(X,Y) function is equivalent to the expression "Y GLOB X". (source: lang_corefunc.html, checked-by: th3/req1/func01.test, matrix: context, detail)

R-61376-57267-60176-57380-17573-65142-26150-27865

  A "CASCADE" action propagates the delete or update operation on the parent key to each dependent child key. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys16.test, matrix: context, detail)

R-61413-50265-52071-27114-12254-11492-58681-53001

  The SQLITE_CONFIG_STMTJRNL_SPILL option takes a single parameter which becomes the statement journal spill-to-disk threshold. (source: c3ref/c_config_covering_index_scan.html, matrix: context, detail)

R-61427-46983-18669-51894-26690-07828-25787-33323

  For example, a query like the following might be used to find all R*Tree entries that overlap with a circle centered a 45.3,22.9 with a radius of 5.0: SELECT id FROM demo_index WHERE id MATCH circle(45.3, 22.9, 5.0) (source: rtree.html, matrix: context, detail)

R-61430-55629-14606-55181-61950-28043-41747-60450

  If an out-of-memory condition or IO error occurred during any prior sqlite3_backup_step() call on the same sqlite3_backup object, then sqlite3_backup_finish() returns the corresponding error code. (source: c3ref/backup_finish.html, matrix: context, detail)

R-61435-31567-58098-41334-50609-21089-31560-63690

  The returned string is always UTF-8 encoded. (source: c3ref/column_decltype.html, matrix: context, detail)

R-61444-46004-20245-30772-61521-38434-38855-21947

  If the X callback is NULL or if the M mask is zero, then tracing is disabled. (source: c3ref/trace_v2.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-61449-07528-25918-54581-50691-46240-35761-07017

  If the 4th parameter to the sqlite3_result_text* interfaces or to sqlite3_result_blob is the special constant SQLITE_STATIC, then SQLite assumes that the text or BLOB result is in constant space and does not copy the content of the parameter nor call a destructor on the content when it has finished using that result. (source: c3ref/result_blob.html, checked-by: th3/req1/result02.test, matrix: context, detail)

R-61533-25862-33162-64388-19135-16857-63238-64063

  The SQLite R*Tree implementation does not support R*Trees wider than 5 dimensions. (source: rtree.html, matrix: context, detail)

R-61533-26777-10805-19639-06010-35256-55057-28233

  The sqlite3_result_int64() interface sets the return value of the application-defined function to be the 64-bit signed integer value given in the 2nd argument. (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-61561-09244-64416-20951-61914-64570-44208-64280

  SQLITE_OPEN_READWRITE The database is opened for reading and writing if possible, or reading only if the file is write protected by the operating system. In either case the database must already exist, otherwise an error is returned. (source: c3ref/open.html, matrix: context, detail)

R-61562-13487-33758-31073-47966-53384-12179-59162

  The xCurrentTime() method returns a Julian Day Number for the current date and time as a floating point value. (source: c3ref/vfs.html, checked-by: th3/th3testvfs.c, matrix: context, detail)

R-61616-46700-48571-17878-11289-09346-32706-45031

  Similar queries may be run if the content of the parent key is modified or a new row is inserted into the parent table. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys10.test, matrix: context, detail)

R-61726-11117-39197-35640-53612-54106-15944-36516

  SQLITE_LIMIT_TRIGGER_DEPTH The maximum depth of recursion for triggers. (source: c3ref/c_limit_attached.html, checked-by: th3/req1/limit02.test, matrix: context, detail)

R-61766-15253-61535-09888-08438-64512-26902-02870

  Executing any other type of SQL statement does not affect the value returned by sqlite3_total_changes(). (source: c3ref/total_changes.html, checked-by: tcl/e_totalchanges.test, matrix: context, detail)

R-61808-14344-47257-03994-26724-50964-10589-13190

  The sqlite3_update_hook() interface does not fire callbacks for changes to a WITHOUT ROWID table. (source: withoutrowid.html, checked-by: tcl/hook.test, th3/cov1/main15.test, matrix: context, detail)

R-61809-62207-01008-46404-05799-53014-10578-37094

  For an "ON DELETE CASCADE" action, this means that each row in the child table that was associated with the deleted parent row is also deleted. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys16.test, matrix: context, detail)

R-61815-26679-56101-35658-51912-28874-35291-46177

  SQLite will invoke sqlite3_free() on *pzErrMsg after xEntryPoint() returns. (source: c3ref/auto_extension.html, checked-by: th3/req1/autoext01.test, matrix: context, detail)

R-61839-52333-58577-62900-39033-24200-06973-14092

  This interface is used to retrieve and reset counter values from a prepared statement. The first argument is the prepared statement object to be interrogated. The second argument is an integer code for a specific SQLITE_STMTSTATUS counter to be interrogated. (source: c3ref/stmt_status.html, matrix: context, detail)

R-61854-19914-11596-34735-37969-17089-57602-12373

  The sqlite3_finalize(S) routine can be called at any point during the life cycle of prepared statement S: before statement S is ever evaluated, after one or more calls to sqlite3_reset(), or after any call to sqlite3_step() regardless of whether or not the statement has completed execution. (source: c3ref/finalize.html, checked-by: th3/req1/finalize01.test, matrix: context, detail)

R-61862-04293-61183-46877-49121-08671-06264-56801

  This is the approximate number of bytes of heap memory used to store the prepared statement. (source: c3ref/c_stmtstatus_counter.html, matrix: context, detail)

R-61888-49680-38370-22600-14954-58148-33546-00932

  SQLite invokes the xCreate() method to construct a new cache instance. (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-61914-48074-43351-14056-51344-34537-46858-37537

  If the table is initially empty, then a ROWID of 1 is used. (source: autoinc.html, checked-by: src/vdbe.c, th3/req1/autoinc01.test, matrix: context, detail)

R-61915-31690-21946-53304-13926-27111-60628-08373

  The sqlite3_file_control() interface makes a direct call to the xFileControl method for the sqlite3_io_methods object associated with a particular database identified by the second argument. (source: c3ref/file_control.html, matrix: context, detail)

R-61942-17018-62236-02362-42701-24808-41313-47258

  An SQL statement can be preceded by the keyword "EXPLAIN" or by the phrase "EXPLAIN QUERY PLAN". (source: lang_explain.html, checked-by: th3/cov1/vdbeaux01.test, matrix: context, detail)

R-61949-35727-14867-12999-21207-20215-20581-25391

  The first argument after the SQLITE_DBCONFIG_LOOKASIDE verb may be NULL in which case SQLite will allocate the lookaside buffer itself using sqlite3_malloc(). (source: c3ref/c_dbconfig_defensive.html, checked-by: src/main.c, th3/req1/dbconfig01.test, matrix: context, detail)

R-61972-47750-14652-28694-02794-16402-15502-30377

  If SQLite is compiled and configured to support threadsafe database connections, then the source database connection may be used concurrently from within other threads. (source: c3ref/backup_finish.html, matrix: context, detail)

R-61975-13410-23961-36433-37989-49063-55179-53550

  It is not possible for an IS or IS NOT expression to evaluate to NULL. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-61981-08185-11399-27946-15257-51226-00201-31403

  In an index on a WITHOUT ROWID table, if a column of the PRIMARY KEY is also a column in the index and has a matching collating sequence, then the indexed column is not repeated in the table-key suffix on the end of the index record. (source: fileformat2.html, checked-by: th3/req1/fileformat04.test, matrix: context, detail)

R-61987-00541-30628-29518-50059-37734-56753-06843

  SQLITE_LIMIT_LENGTH The maximum size of any string or BLOB or table row, in bytes. (source: c3ref/c_limit_attached.html, checked-by: tcl/sqllimits1.test, th3/req1/limit01.test, matrix: context, detail)

R-62028-47212-10324-26388-32955-09019-38502-43412

  All calls obtain an exclusive "checkpoint" lock on the database file. (source: c3ref/wal_checkpoint_v2.html, checked-by: src/wal.c, tcl/e_walckpt.test, matrix: context, detail)

R-62039-61571-24368-30333-11201-30520-56861-22686

  Semicolons that are embedded within string literals or quoted identifier names or comments are not independent tokens (they are part of the token in which they are embedded) and thus do not count as a statement terminator. (source: c3ref/complete.html, checked-by: th3/cov1/complete01.test, matrix: context, detail)

R-62073-11209-24210-38287-05077-10013-43316-09914

  The changes() SQL function is a wrapper around the sqlite3_changes() C/C++ function and hence follows the same rules for counting changes. (source: lang_corefunc.html, checked-by: src/func.c, matrix: context, detail)

R-62084-05956-21371-24273-03009-23026-15537-48661

  The typeof(X) function returns a string that indicates the datatype of the expression X: "null", "integer", "real", "text", or "blob". (source: lang_corefunc.html, checked-by: th3/cov1/func04.test, matrix: context, detail)

R-62098-31964-50805-21241-10330-01586-45989-63464

  The date() function returns the date in this format: YYYY-MM-DD. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-62101-33764-02885-01676-40188-04354-35995-63967

  The transaction names need not be unique. (source: lang_savepoint.html, matrix: context, detail)

R-62103-54815-14934-53724-30869-15955-58646-34076

  If the busy callback is NULL, then SQLITE_BUSY is returned immediately upon encountering the lock. (source: c3ref/busy_handler.html, checked-by: th3/req1/busy01.test, matrix: context, detail)

R-62112-42456-10685-52365-06071-10785-51242-17242

  If the query optimizer is unable to use the index specified by the INDEX BY clause, then the query will fail with an error. (source: lang_indexedby.html, checked-by: tcl/indexedby.test, matrix: context, detail)

R-62128-24425-59419-24092-37826-34939-18827-33006

  The number of bytes stored on the index page is never less than M. (source: fileformat2.html, matrix: context, detail)

R-62139-20964-30258-06406-62558-17842-12310-23723

  The sqlite3_mutex_alloc() routine allocates a new mutex and returns a pointer to it. (source: c3ref/mutex_alloc.html, matrix: context, detail)

R-62157-11346-38405-02312-46550-08471-09631-26487

  Automatically started transactions are committed when the last SQL statement finishes. (source: lang_transaction.html, matrix: context, detail)

R-62172-00036-57834-47035-33859-45076-31922-24757

  In this implementation, the standard C library function localtime_r() is used to assist in the calculation of local time. (source: lang_datefunc.html, checked-by: src/date.c, matrix: context, detail)

R-62267-62884-09796-14012-16099-39965-57946-58351

  New automatically generated integer primary keys for AUTOINCREMENT tables are guaranteed to be larger than the sqlite_sequence. (source: fileformat2.html, matrix: context, detail)

R-62291-37402-63159-44375-18587-14784-42471-08644

  The SQLITE_UTF16_ALIGNED value for eTextRep forces strings to begin on an even byte address. (source: c3ref/create_collation.html, checked-by: th3/req1/createcoll01.test, matrix: context, detail)

R-62291-48401-09187-39181-50628-35603-55893-32208

  In the extreme case where the columns being indexed cover all columns of the PRIMARY KEY, the index will consist of only the columns being indexed. The ex25acde example above demonstrates this. (source: fileformat2.html, checked-by: th3/req1/fileformat04.test, matrix: context, detail)

R-62308-64553-46829-46708-05864-23145-57136-36663

  When one of RAISE(ROLLBACK,...), RAISE(ABORT,...) or RAISE(FAIL,...) is called during trigger-program execution, the specified ON CONFLICT processing is performed and the current query terminates. (source: lang_createtrigger.html, matrix: context, detail)

R-62327-53843-00789-05763-27259-51867-41833-27488

  For CURRENT_TIME, the format of the value is "HH:MM:SS". (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-62338-03151-32833-50529-63145-58374-11729-12446

  Comments can appear anywhere whitespace can occur, including inside expressions and in the middle of other SQL statements. (source: lang_comment.html, checked-by: th3/req1/comment01.test, matrix: context, detail)

R-62380-26708-45604-24232-06189-26790-29124-54464

  For any given query, the fact that the OR-clause optimization described here can be used does not guarantee that it will be used. (source: optoverview.html, matrix: context, detail)

R-62406-19374-15611-19215-61037-24367-51028-27326

  The SQLITE_OPEN_DELETEONCLOSE will be set for TEMP databases and their journals, transient databases, and subjournals. (source: c3ref/vfs.html, checked-by: th3/th3testvfs.c, matrix: context, detail)

R-62450-40032-48633-16143-21492-49055-31149-65125

  The sqlite3_result_error_toobig() interface causes SQLite to throw an error indicating that a string or BLOB is too long to represent. (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-62469-05091-48869-23817-54734-43619-45624-64340

  New SQL statements that are started after the running statement count reaches zero are not effected by the sqlite3_interrupt(). (source: c3ref/interrupt.html, matrix: context, detail)

R-62477-06476-47005-06861-24657-48512-17530-06708

  For example, the values NULL, 0.0, 0, 'english' and '0' are all considered to be false. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-62529-02872-42080-52891-13443-54286-42392-42073

  The sqlite_offset(X) function returns the byte offset in the database file for the beginning of the record from which value would be read. (source: lang_corefunc.html, matrix: context, detail)

R-62557-09390-19199-07054-57696-39577-58389-44787

  SQLite uses the path component of the URI as the name of the disk file which contains the database. (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-62598-50665-64934-51801-32415-41213-44232-38622

  If an error occurs while running sqlite3_backup_step(B,N), then an error code is returned. (source: c3ref/backup_finish.html, checked-by: th3/cov1/backup01.test, matrix: context, detail)

R-62610-51329-57761-33466-25437-21860-03475-27712

  A dollar-sign followed by an identifier name also holds a spot for a named parameter with the name $AAAA. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-62671-45936-15699-15939-47274-39312-22685-45097

  Coincidentally, that same index is useful for locating the team leader of a particular team: SELECT person_id FROM person WHERE is_team_leader AND team_id=?1; (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-62702-40333-38179-40885-41988-22128-55744-38762

  If for some reason, sqlite3_initialize() is unable to initialize the library (perhaps it is unable to allocate a needed resource such as a mutex) it returns an error code other than SQLITE_OK. (source: c3ref/initialize.html, matrix: context, detail)

R-62740-39384-05078-12157-18759-37018-24032-16854

  To change from "full" or "incremental" back to "none" always requires running VACUUM even on an empty database. (source: pragma.html, checked-by: th3/req1/pragma07.test, matrix: context, detail)

R-62782-27113-42237-60058-30893-13916-02478-23717

  The module name is registered on the database connection specified by the first parameter. (source: c3ref/create_module.html, matrix: context, detail)

R-62787-27093-28776-07696-30673-33201-48142-02108

  The new journal mode is returned. (source: pragma.html, checked-by: th3/req1/pragma23.test, matrix: context, detail)

R-62792-33996-11773-03176-05046-17928-37966-25264

  Note that "±NNN months" works by rendering the original date into the YYYY-MM-DD format, adding the ±NNN to the MM month value, then normalizing the result. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-62804-28221-24652-30727-46370-42129-23035-01106

  The "legacy" schema format (1) ignores index sort order. (source: lang_createindex.html, checked-by: th3/req1/createidx02.test, matrix: context, detail)

R-62839-07969-20835-12393-10949-34728-00422-57830

  The fourth column is the index of the specific foreign key constraint that failed. (source: pragma.html, checked-by: tcl/fkey5.test, th3/cov1/fkey23.test, matrix: context, detail)

R-62860-04741-41366-30406-60752-17856-14374-30516

  If the blocked connection is attempting to obtain a write-lock on a shared-cache table, and more than one other connection currently holds a read-lock on the same table, then SQLite arbitrarily selects one of the other connections to use as the blocking connection. (source: c3ref/unlock_notify.html, matrix: context, detail)

R-62898-22698-26165-43256-00813-48770-03104-06155

  This function is used to write data into an open BLOB handle from a caller-supplied buffer. N bytes of data are copied from the buffer Z into the open BLOB, starting at offset iOffset. (source: c3ref/blob_write.html, checked-by: tcl/e_blobwrite.test, matrix: context, detail)

R-62913-19830-16030-42655-41174-29116-40982-36331

  Otherwise, it is evaluated against a single arbitrarily chosen row from within the group. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-62920-36411-37604-08296-13654-34819-36636-51244

  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 neither run to completion (returned SQLITE_DONE from sqlite3_step(S)) nor been reset using sqlite3_reset(S). (source: c3ref/stmt_busy.html, checked-by: th3/cov1/vdbeapi03.test, matrix: context, detail)

R-62920-47450-51194-26975-01851-13117-37430-41623

  The busy-handler callback is never invoked in the SQLITE_CHECKPOINT_PASSIVE mode. (source: c3ref/wal_checkpoint_v2.html, checked-by: src/wal.c, tcl/e_walckpt.test, th3/req1/checkpoint01.test, matrix: context, detail)

R-62953-16283-60973-36600-59526-31076-28505-32788

  The sqlite3_result_error() and sqlite3_result_error16() functions cause the implemented SQL function to throw an exception. (source: c3ref/result_blob.html, checked-by: th3/req1/result01.test, matrix: context, detail)

R-62976-44398-18342-24138-35824-24327-06786-34486

  sqlite> EXPLAIN QUERY PLAN SELECT t1.*, t2.* FROM t1, t2 WHERE t1.a=1 AND t1.b>2; QUERY PLAN |--SEARCH TABLE t1 USING INDEX i2 (a=? AND b>?) `--SCAN TABLE t2 (source: eqp.html, matrix: context, detail)

R-62978-45795-36249-12857-49090-15958-00681-53876

  SQLITE_OPEN_SHAREDCACHE The database is opened shared cache enabled, overriding the default shared cache setting provided by sqlite3_enable_shared_cache(). (source: c3ref/open.html, matrix: context, detail)

R-63005-41812-25626-08915-56924-18701-34240-17116

  The integer values returned by two invocations of "PRAGMA data_version" from the same connection will be different if changes were committed to the database by any other connection in the interim. (source: pragma.html, checked-by: tcl/pragma3.test, th3/cov1/pragma26.test, matrix: context, detail)

R-63043-31985-03147-25743-35105-56824-27105-53861

  A pragma may have an optional schema-name before the pragma name. (source: pragma.html, checked-by: th3/req1/pragma01.test, matrix: context, detail)

R-63048-43246-17135-38740-38774-19406-60211-40776

  The number of freelist pages is stored as a 4-byte big-endian integer in the database header at an offset of 36 from the beginning of the file. (source: fileformat2.html, matrix: context, detail)

R-63057-40065-06939-62026-28343-23740-17584-22706

  The printf(FORMAT,...) SQL function works like the sqlite3_mprintf() C-language function and the printf() function from the standard C library. (source: lang_corefunc.html, checked-by: tcl/printf2.test, th3/cov1/printf08.test, matrix: context, detail)

R-63063-00748-16445-34795-46686-39617-28312-04661

  If the declared type for a column contains the string "BLOB" or if no type is specified then the column has affinity BLOB. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-63075-15970-39501-22460-58793-43455-08281-02350

  Once the view is created, it can be used in the FROM clause of another SELECT in place of a table name. (source: lang_createview.html, checked-by: th3/req1/view01.test, matrix: context, detail)

R-63084-42258-54235-44279-08664-11821-33988-63457

  Calling sqlite3_blob_bytes() on an aborted blob handle always returns zero. (source: c3ref/blob_reopen.html, checked-by: th3/req1/blob01.test, matrix: context, detail)

R-63088-37469-41348-62985-35702-04852-27256-05198

  Tables child6 and child7 are incorrect because while both have UNIQUE indices on their parent keys, the keys are not an exact match to the columns of a single UNIQUE index. (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys07.test, matrix: context, detail)

R-63107-29542-42038-49029-17221-49854-37760-53513

  The sixth argument to sqlite3_bind_text64() must be one of SQLITE_UTF8, SQLITE_UTF16, SQLITE_UTF16BE, or SQLITE_UTF16LE to specify the encoding of the text in the third parameter. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-63119-53774-25938-08953-42086-26261-27933-12483

  New database files created by SQLite use format 4 by default. (source: fileformat2.html, checked-by: th3/req1/fileformat01.test, matrix: context, detail)

R-63124-28591-54682-33320-59572-27756-28507-16643

  The pragma is like integrity_check except that it does not verify UNIQUE constraints and does not verify that index content matches table content. (source: pragma.html, matrix: context, detail)

R-63138-42446-16317-19373-58144-17163-01725-20742

  If none of the arguments to max() define a collating function, then the BINARY collating function is used. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-63158-42531-36923-32686-05307-30173-57746-45416

  These APIs are only available if the library was compiled with the SQLITE_ENABLE_COLUMN_METADATA C-preprocessor symbol. (source: c3ref/column_database_name.html, matrix: context, detail)

R-63159-49573-46616-00271-21180-18293-63861-41327

  If no schema name is specified, and the TEMP keyword is not present, the VIEW is created in the main database. (source: lang_createview.html, checked-by: th3/req1/view01.test, matrix: context, detail)

R-63167-05205-45599-43338-46949-25227-48175-10749

  A virtual table is destroyed using the ordinary DROP TABLE statement. (source: lang_createvtab.html, matrix: context, detail)

R-63234-56981-14437-01927-09804-62801-28815-37860

  A value of -1 means rowid and a value of -2 means that an expression is being used. (source: pragma.html, matrix: context, detail)

R-63235-50818-32083-65430-57291-26103-11022-63065

  When the payload of a b-tree cell is too large for the b-tree page, the surplus is spilled onto overflow pages. (source: fileformat2.html, matrix: context, detail)

R-63244-23082-15887-51901-20973-26143-20960-26958

  When an expression is a simple reference to a column of a real table (not a VIEW or subquery) then the expression has the same affinity as the table column. (source: datatype3.html, checked-by: th3/req1/datatype3_05.test, matrix: context, detail)

R-63257-11740-13370-40315-30257-30447-50403-36483

  Calling sqlite3_close() or sqlite3_close_v2() with a NULL pointer argument is a harmless no-op. (source: c3ref/close.html, checked-by: src/main.c, th3/cov1/main23.test, matrix: context, detail)

R-63260-45699-31431-11817-19083-14661-24808-60223

  The default encoding will be UTF-8 for databases created using sqlite3_open() or sqlite3_open_v2(). (source: c3ref/open.html, checked-by: th3/cov1/main12.test, matrix: context, detail)

R-63285-37134-15488-58217-13163-52553-20689-06808

  In the SQL statement text input to sqlite3_prepare_v2() and its variants, literals may be replaced by a parameter that matches one of following templates: ? ?NNN :VVV @VVV $VVV In the templates above, NNN represents an integer literal, and VVV represents an alphanumeric identifier. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-63286-51977-31491-11604-12483-48115-04561-38158

  If the ORDER BY expression is an identifier that corresponds to the alias of one of the output columns, then the expression is considered an alias for that column. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-63294-00538-51136-33751-00245-32067-21028-12625

  When all collating functions having the same name are deleted, that collation is no longer usable. (source: c3ref/create_collation.html, checked-by: th3/req1/createcoll01.test, matrix: context, detail)

R-63298-27030-17109-21513-26476-43157-51997-36280

  Triggers may be created on views, as well as ordinary tables, by specifying INSTEAD OF in the CREATE TRIGGER statement. (source: lang_createtrigger.html, matrix: context, detail)

R-63304-47938-37544-24083-32523-59339-12063-04475

  Applications may change the content of the string returned by sqlite3_str_value(X) as long as they do not write into any bytes outside the range of 0 to sqlite3_str_length(X) and do not read or write any byte after any subsequent sqlite3_str method call. (source: c3ref/str_errcode.html, matrix: context, detail)

R-63325-48378-49771-42071-13733-04560-14136-48632

  The SQLITE_CONFIG_PCACHE2 option takes a single argument which is a pointer to an sqlite3_pcache_methods2 object. This object specifies the interface to a custom page cache implementation. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, th3/th3pcache.c, matrix: context, detail)

R-63341-57517-64693-29591-34989-59774-15075-48148

  If the BLOB handle passed as the first argument was not opened for writing (the flags parameter to sqlite3_blob_open() was zero), this function returns SQLITE_READONLY. (source: c3ref/blob_write.html, checked-by: tcl/e_blobwrite.test, matrix: context, detail)

R-63404-48526-63691-02356-01054-10642-53789-36126

  The P argument is a pointer to the prepared statement and the X argument is unused. (source: c3ref/c_trace.html, checked-by: th3/cov1/trace01.test, matrix: context, detail)

R-63408-55464-37825-38820-53279-17116-24066-22476

  All subsequent calls to sqlite3_blob_read(), sqlite3_blob_write() or sqlite3_blob_reopen() on an aborted blob handle immediately return SQLITE_ABORT. (source: c3ref/blob_reopen.html, checked-by: th3/req1/blob01.test, matrix: context, detail)

R-63421-15521-37250-06535-51349-22995-65191-63992

  This means that, provided the API is not misused, it is always safe to call sqlite3_blob_close() on *ppBlob after this function it returns. (source: c3ref/blob_open.html, checked-by: tcl/e_blobopen.test, matrix: context, detail)

R-63435-12225-33829-37402-17211-27130-05815-22642

  The sqlite3_get_autocommit() interface returns non-zero or zero if the given database connection is or is not in autocommit mode, respectively. (source: c3ref/get_autocommit.html, matrix: context, detail)

R-63443-09418-01239-16017-27553-21198-10588-27536

  Every WITHOUT ROWID table must have a PRIMARY KEY. (source: withoutrowid.html, checked-by: tcl/without_rowid5.test, th3/cov1/withoutrowid01.test, matrix: context, detail)

R-63464-64949-61376-49766-27105-42623-27880-27478

  If an application uses more than one database connection then application-defined SQL functions must be added to each database connection separately. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc01.test, matrix: context, detail)

R-63472-46769-27275-37406-54575-06040-42542-11572

  Specifying an unknown parameter in the query component of a URI is not an error. (source: c3ref/open.html, checked-by: tcl/e_uri.test, matrix: context, detail)

R-63519-36751-50402-28921-52304-51801-25208-52249

  The load_extension(X,Y) function loads SQLite extensions out of the shared library file named X using the entry point Y. (source: lang_corefunc.html, checked-by: th3/cov1/func03.test, matrix: context, detail)

R-63522-46088-33895-54497-03733-53184-07098-33228

  The only way to change out of EXCLUSIVE locking mode is to first change out of WAL journal mode. (source: wal.html, checked-by: tcl/e_wal.test, th3/req1/pragma05.test, matrix: context, detail)

R-63549-59887-30432-35575-09108-37055-29466-09817

  PRAGMA cache_spill; PRAGMA cache_spill=boolean; PRAGMA schema.cache_spill=N; (source: pragma.html, checked-by: tcl/pragma2.test, matrix: context, detail)

R-63565-54156-07796-04437-54657-38631-57442-48844

  The sqlite3_str_append(X,S,N) method appends exactly N bytes from string S onto the end of the sqlite3_str object X. (source: c3ref/str_append.html, matrix: context, detail)

R-63573-50730-47689-26625-21808-11120-05729-38640

  The expressions in a GROUP BY clause may not be aggregate expressions. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-63582-45120-10136-38887-13737-27800-47314-58816

  A negative value is interpreted as "no limit". (source: lang_update.html, checked-by: tcl/e_update.test, matrix: context, detail)

R-63614-47421-34077-31697-65388-09052-31073-41571

  If a column-list is specified, the number of columns in the result of the SELECT must be the same as the number of items in the column-list. (source: lang_insert.html, checked-by: tcl/e_insert.test, matrix: context, detail)

R-63656-25792-13227-10920-63493-08567-09592-14766

  The sqlite3_db_handle interface returns the database connection handle to which a prepared statement belongs. (source: c3ref/db_handle.html, checked-by: th3/req1/dbhandle01.test, matrix: context, detail)

R-63660-13730-40361-36600-49819-61310-05389-38402

  OLD and NEW references may only be used in triggers on events for which they are relevant, as follows: INSERT NEW references are valid UPDATE NEW and OLD references are valid DELETE OLD references are valid (source: lang_createtrigger.html, matrix: context, detail)

R-63666-48755-16443-16891-11864-30751-29625-02647

  If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then the entire mutexing subsystem is omitted from the build and hence calls to sqlite3_config() with the SQLITE_CONFIG_MUTEX configuration option will return SQLITE_ERROR. (source: c3ref/c_config_covering_index_scan.html, checked-by: src/main.c, th3/th3main.c, matrix: context, detail)

R-63672-25227-17465-07864-20680-40543-20473-50716

  The outputs s0 and s1 are both weighted checksums using Fibonacci weights in reverse order. (source: fileformat2.html, matrix: context, detail)

R-63674-39978-56596-19929-61687-32380-54180-59144

  A call to sqlite3_backup_init() will fail, returning NULL, if there is already a read or read-write transaction open on the destination database. (source: c3ref/backup_finish.html, checked-by: th3/cov1/backup01.test, matrix: context, detail)

R-63684-00056-12744-41513-44383-51179-47104-18458

  If there are fewer than N pages on the freelist, or if N is less than 1, or if the "(N)" argument is omitted, then the entire freelist is cleared. (source: pragma.html, checked-by: th3/req1/pragma21.test, matrix: context, detail)

R-63697-19365-62485-52298-29987-32888-31412-50224

  Calls to sqlite3_db_config() return SQLITE_OK if and only if the call is considered successful. (source: c3ref/db_config.html, checked-by: th3/req1/dbconfig01.test, matrix: context, detail)

R-63721-11986-01337-51273-44360-30402-45045-08949

  With the "v2" interface, any of the other result codes or extended result codes might be returned as well. (source: c3ref/step.html, matrix: context, detail)

R-63725-33821-44537-37255-59793-46389-19158-48724

  Compute the date of the first Tuesday in October for the current year. SELECT date('now','start of year','+9 months','weekday 2'); (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-63742-65009-14401-02244-32779-40518-14763-45993

  The LIKE optimization is not attempted if the right-hand side is a parameter and the statement was prepared using sqlite3_prepare() or sqlite3_prepare16(). (source: optoverview.html, matrix: context, detail)

R-63748-42498-08000-42048-14533-30815-48804-51551

  The sqlite3_shutdown() routine deallocates any resources that were allocated by sqlite3_initialize(). (source: c3ref/initialize.html, matrix: context, detail)

R-63806-59621-53713-38948-48550-43673-56726-15716

  If the resetFlg is true, then the highest instantaneous value is reset back down to the current value. (source: c3ref/db_status.html, checked-by: th3/req1/dbstatus01.test, matrix: context, detail)

R-63822-07193-39399-57145-23201-47133-55148-33056

  If the column-name parameter to sqlite3_table_column_metadata() is a NULL pointer, then this routine simply checks for the existence of the table and returns SQLITE_OK if the table exists and SQLITE_ERROR if it does not. (source: c3ref/table_column_metadata.html, checked-by: th3/cov1/metadata01.test, matrix: context, detail)

R-63827-07147-50106-23079-54369-23240-21585-39525

  To read a page from the database (call it page number P), a reader first checks the WAL to see if it contains page P. If so, then the last valid instance of page P that is followed by a commit frame or is a commit frame itself becomes the value read. (source: fileformat2.html, matrix: context, detail)

R-63827-58581-51732-64119-62268-23504-01315-64410

  Generated columns can participate in indexes, just like ordinary columns. (source: gencol.html, matrix: context, detail)

R-63860-02697-07339-29588-22030-08918-47419-18368

  On second and subsequent calls to sqlite3_aggregate_context() for the same aggregate function instance, the same buffer is returned. (source: c3ref/aggregate_context.html, checked-by: th3/req1/aggcntx01.test, matrix: context, detail)

R-63920-18609-57046-60110-46900-57278-33644-19241

  If there is no attached database N on the database connection D, or if database N is a temporary or in-memory database, then this function will return either a NULL pointer or an empty string. (source: c3ref/db_filename.html, matrix: context, detail)

R-64004-53814-05259-60925-08012-55166-06006-38537

  If there is no OFFSET clause, or the calculated integer value is negative, the effective OFFSET value is zero. (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-64016-22984-52243-31154-04159-15253-33575-11293

  A column with NUMERIC affinity may contain values using all five storage classes. (source: datatype3.html, checked-by: th3/req1/datatype3_01.test, matrix: context, detail)

R-64017-26165-55276-08272-52106-53519-03640-42248

  The sqlite3_finalize() function is called to delete a prepared statement. (source: c3ref/finalize.html, checked-by: th3/req1/finalize01.test, matrix: context, detail)

R-64021-07698-52025-10986-56394-35084-34302-37940

  If the write-ahead log is enabled (via the journal_mode pragma), this pragma causes a checkpoint operation to run on database database, or on all attached databases if database is omitted. (source: pragma.html, matrix: context, detail)

R-64032-17389-14849-50560-10397-51267-05389-65161

  If the sqlite_stat1.idx column is NULL, then the sqlite_stat1.stat column contains a single integer which is the approximate number of rows in the table identified by sqlite_stat1.tbl. (source: fileformat2.html, matrix: context, detail)

R-64049-08691-55124-50671-44406-19697-22475-30547

  The expression "a IN (x, y, z, ...)" is equivalent to "a = +x OR a = +y OR a = +z OR ...". (source: datatype3.html, checked-by: th3/req1/datatype3_05.test, matrix: context, detail)

R-64056-51992-26922-35831-30879-15759-20002-65102

  date(timestring, modifier, modifier, ...) (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-64082-04685-34430-02984-31872-50387-26964-32862

  No database changes are rolled back. (source: lang_createtrigger.html, matrix: context, detail)

R-64084-34068-10533-17147-27964-33413-01127-42503

  The fifth argument to the BLOB and string binding interfaces is a destructor used to dispose of the BLOB or string after SQLite has finished with it. (source: c3ref/bind_blob.html, checked-by: th3/req1/bind01.test, matrix: context, detail)

R-64103-17776-35606-10153-57490-26630-22697-19436

  PRAGMA schema.index_list(table-name); This pragma returns one row for each index associated with the given table. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15.test, matrix: context, detail)

R-64107-03133-60846-38260-58078-31674-53966-09002

  The nullif(X,Y) function searches its arguments from left to right for an argument that defines a collating function and uses that collating function for all string comparisons. (source: lang_corefunc.html, checked-by: th3/req1/func03.test, matrix: context, detail)

R-64113-45477-15405-35111-28772-22089-43281-64875

  Use sqlite3_db_config(db,SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION,..) to enable or disable only the C-API. (source: c3ref/enable_load_extension.html, matrix: context, detail)

R-64130-24369-52120-61237-04539-27042-01288-33957

  The substr(X,Y,Z) function returns a substring of input string X that begins with the Y-th character and which is Z characters long. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, matrix: context, detail)

R-64138-28774-62367-40797-31143-24203-38235-49085

  An aggregate query without a GROUP BY clause always returns exactly one row of data, even if there are zero rows of input data. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-64182-49733-18009-45461-02192-56112-34061-30398

  The sqlite3_expanded_sql(P) interface returns a pointer to a UTF-8 string containing the SQL text of prepared statement P with bound parameters expanded. (source: c3ref/expanded_sql.html, checked-by: th3/req1/sql01.test, matrix: context, detail)

R-64199-22471-28685-05688-45410-48917-35278-06379

  If the ORDER BY expression is assigned a collation sequence using the postfix COLLATE operator, then the specified collation sequence is used. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-64203-64297-25977-44727-61905-56050-52768-56293

  The same SQL function may be registered multiple times using different preferred text encodings, with different implementations for each encoding. (source: c3ref/create_function.html, checked-by: th3/req1/createfunc04.test, matrix: context, detail)

R-64208-53052-48559-48683-00395-47002-65177-30547

  The SQLITE_DEFAULT_PAGE_SIZE compile-time option can be used to change the default page size assigned to new databases. (source: pragma.html, matrix: context, detail)

R-64224-62578-03972-01663-15299-36598-00230-00133

  If an UPDATE statement attempts to set an integer primary key or rowid column to a NULL or blob value, or to a string or real value that cannot be losslessly converted to an integer, a "datatype mismatch" error occurs and the statement is aborted. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-64249-42392-53555-26523-38701-52551-63844-05212

  The ltrim(X,Y) function returns a string formed by removing any and all characters that appear in Y from the left side of X. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, matrix: context, detail)

R-64254-06275-15717-61317-29135-17923-39276-44642

  The string returned by sqlite3_expanded_sql(P), on the other hand, is obtained from sqlite3_malloc() and must be free by the application by passing it to sqlite3_free(). (source: c3ref/expanded_sql.html, checked-by: th3/req1/sql01.test, matrix: context, detail)

R-64276-00534-35608-51878-49907-08473-11116-64004

  Any existing statements prepared using the legacy sqlite3_prepare() interface may fail with an SQLITE_SCHEMA error after the foreign_keys setting is changed. (source: pragma.html, checked-by: th3/req1/pragma19.test, matrix: context, detail)

R-64317-38978-24132-13511-50003-08766-02219-42213

  The other columns are pairs, one pair per dimension, containing the minimum and maximum values for that dimension, respectively. (source: rtree.html, matrix: context, detail)

R-64324-28127-56247-07957-53732-02733-48072-24920

  A TEXT value is less than a BLOB value. (source: datatype3.html, checked-by: th3/req1/datatype3_04.test, matrix: context, detail)

R-64351-21396-30235-21975-23610-30773-00421-25207

  sqlite> SELECT * FROM > (SELECT * FROM t1 WHERE a=1 ORDER BY b LIMIT 2) AS x, > (SELECT * FROM t2 WHERE c=1 ORDER BY d LIMIT 2) AS y; QUERY PLAN |--MATERIALIZE 0x18F06F0 | `--SEARCH TABLE t1 USING COVERING INDEX i2 (a=?) |--MATERIALIZE 0x18F80D0 | |--SEARCH TABLE t2 USING INDEX i4 (c=?) | `--USE TEMP B-TREE FOR ORDER BY |--SCAN SUBQUERY 0x18F06F0 AS x `--SCAN SUBQUERY 0x18F80D0 AS y (source: eqp.html, matrix: context, detail)

R-64365-33714-02196-49679-58449-42596-39965-50249

  SQLITE_DBSTATUS_CACHE_HIT This parameter returns the number of pager cache hits that have occurred. (source: c3ref/c_dbstatus_options.html, matrix: context, detail)

R-64415-18962-49048-16298-22605-23771-20510-46620

  A record might have fewer values than the number of columns in the corresponding table. (source: fileformat2.html, matrix: context, detail)

R-64444-28602-34432-27879-08826-07495-40207-13752

  If the limit is zero, then the analysis limit is disabled and the ANALYZE command will examine all rows of each index. (source: pragma.html, matrix: context, detail)

R-64451-07163-52994-32419-24914-21127-60728-58807

  The soft_heap_limit pragma always returns the same integer that would be returned by the sqlite3_soft_heap_limit64(-1) C-language function. (source: pragma.html, checked-by: src/pragma.c, tcl/softheap1.test, matrix: context, detail)

R-64470-55820-31502-18212-19924-05102-35790-30152

  Calling this routine with an argument less than or equal to zero turns off all busy handlers. (source: c3ref/busy_timeout.html, checked-by: th3/cov1/main21.test, matrix: context, detail)

R-64479-57858-30969-38404-45379-17984-36095-58502

  The highwater mark associated with SQLITE_DBSTATUS_STMT_USED is always 0. (source: c3ref/c_dbstatus_options.html, checked-by: src/status.c, th3/req1/dbstatus01.test, matrix: context, detail)

R-64486-07109-38818-39912-16477-45635-40659-20062

  All five date and time functions take a time string as an argument. (source: lang_datefunc.html, checked-by: th3/req1/date01.test, matrix: context, detail)

R-64488-01207-41542-36370-36584-38548-35733-59275

  The temp_store_directory pragma can be used to specify the directory containing temporary files when FILE is specified. (source: pragma.html, matrix: context, detail)

R-64528-42778-02888-51810-06932-64442-58390-22409

  If the 3rd parameter to the sqlite3_result_text* interfaces is non-negative, then as many bytes (not characters) of the text pointed to by the 2nd parameter are taken as the application-defined function result. (source: c3ref/result_blob.html, checked-by: th3/req1/result02.test, matrix: context, detail)

R-64531-59395-59522-15917-19627-46695-59010-51244

  Invoking this pragma without an argument is equivalent to calling the sqlite3_wal_checkpoint() C interface. (source: pragma.html, checked-by: th3/req1/checkpoint01.test, matrix: context, detail)

R-64535-08414-56299-20863-17793-59913-52096-13773

  If there are less than N rows remaining after taking the OFFSET clause into account, or if the LIMIT clause evaluated to a negative value, then all remaining rows are deleted. (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-64536-51728-48624-04422-11602-40097-21490-13878

  The values for each column in the record immediately follow the header. (source: fileformat2.html, checked-by: src/vdbe.c, matrix: context, detail)

R-64550-29191-54086-24811-00443-47986-21003-27772

  Note that the result from casting any non-BLOB value into a BLOB and the result from casting any BLOB value into a non-BLOB value may be different depending on whether the database encoding is UTF-8, UTF-16be, or UTF-16le. (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)

R-64586-34038-50551-35162-29949-64214-50082-35974

  On a checkpoint, the WAL is first flushed to persistent storage using the xSync method of the VFS. (source: fileformat2.html, matrix: context, detail)

R-64600-17320-28497-51655-11610-39748-50206-04089

  The first ptrmap page will contain back pointer information for pages 3 through J+2, inclusive. (source: fileformat2.html, matrix: context, detail)

R-64601-24454-22641-31955-15642-29153-65084-11267

  If X is a memory allocation previously obtained from sqlite3_malloc(), sqlite3_malloc64(), sqlite3_realloc(), or sqlite3_realloc64(), then sqlite3_msize(X) returns the size of that memory allocation in bytes. (source: c3ref/free.html, checked-by: th3/req1/malloc02.test, matrix: context, detail)

R-64618-48771-56077-37095-41787-03212-44585-24877

  If the outer query is an aggregate, then the subquery may not contain ORDER BY. (source: optoverview.html, matrix: context, detail)

R-64621-04411-33319-49745-15596-29150-62306-56215

  For the sqlite3_result_text16(), sqlite3_result_text16le(), and sqlite3_result_text16be() routines, and for sqlite3_result_text64() when the encoding is not UTF8, if the input UTF16 begins with a byte-order mark (BOM, U+FEFF) then the BOM is removed from the string and the rest of the string is interpreted according to the byte-order specified by the BOM. (source: c3ref/result_blob.html, matrix: context, detail)

R-64625-44339-60095-18400-35169-15526-52031-11800

  The 6th parameter to the authorizer callback is the name of the inner-most trigger or view that is responsible for the access attempt or NULL if this access attempt is directly from top-level SQL code. (source: c3ref/c_alter_table.html, checked-by: th3/cov1/auth03.test, matrix: context, detail)

R-64629-22390-19344-37404-07828-61811-57666-02667

  Unused database file pages are added to a "freelist" and reused for subsequent inserts. (source: pragma.html, checked-by: th3/req1/pragma07.test, matrix: context, detail)

R-64629-41035-41356-60925-45960-54046-62030-03939

  The sqlite3_trace() callback is invoked with a UTF-8 rendering of the SQL statement text as the statement first begins executing. (source: c3ref/profile.html, checked-by: th3/cov1/main16.test, matrix: context, detail)

R-64634-29359-61184-64182-15828-53059-45249-47923

  Note also that when adding a CHECK constraint, the CHECK constraint is not tested against preexisting rows of the table. (source: lang_altertable.html, checked-by: th3/req1/altertable01.test, matrix: context, detail)

R-64707-05329-18384-25236-31190-36839-36915-56468

  The left-most character of X is number 1. (source: lang_corefunc.html, checked-by: th3/cov1/func02.test, matrix: context, detail)

R-64781-29425-02417-13736-38225-42517-23683-29387

  Some pragmas take effect during the SQL compilation stage, not the execution stage. (source: pragma.html, checked-by: th3/req1/pragma06.test, matrix: context, detail)

R-64797-45496-20081-43950-39002-36712-47915-33301

  The expression may not use subqueries, aggregate functions, window functions, or table-valued functions. (source: gencol.html, matrix: context, detail)

R-64809-29224-33309-48329-38874-47326-32566-40643

  An SQL operation that is interrupted will return SQLITE_INTERRUPT. (source: c3ref/interrupt.html, matrix: context, detail)

R-64812-56077-47875-43117-23188-46780-09721-28568

  If every subterm of an OR clause is separately indexable then the OR clause might be coded such that a separate index is used to evaluate each term of the OR clause. (source: optoverview.html, matrix: context, detail)

R-64813-58505-03479-11903-29047-19194-00816-28075

  The WAL is always located in the same directory as the database file and has the same name as the database file but with the string "-wal" appended. (source: fileformat2.html, matrix: context, detail)

R-64828-59568-61067-60898-36143-56429-01681-45331

  The table has the same number of columns as the rows returned by the SELECT statement. The name of each column is the same as the name of the corresponding column in the result set of the SELECT statement. (source: lang_createtable.html, checked-by: tcl/e_createtable.test, matrix: context, detail)

R-64839-61120-28231-56530-41272-62247-43805-43738

  SQLite may attempt to convert values between the storage classes INTEGER, REAL, and/or TEXT before performing a comparison. (source: datatype3.html, checked-by: th3/req1/datatype3_05.test, matrix: context, detail)

R-64844-34873-54978-44161-37358-50690-61472-16160

  When auto_vacuum is enabled for a database free pages may be reclaimed after deleting data, causing the file to shrink, without rebuilding the entire database using VACUUM. (source: lang_vacuum.html, checked-by: tcl/e_vacuum.test, matrix: context, detail)

R-64852-21591-48845-17571-26387-46542-15231-04527

  The sqlite3_backup object is created by a call to sqlite3_backup_init() and is destroyed by a call to sqlite3_backup_finish(). (source: c3ref/backup.html, checked-by: src/backup.c, th3/cov1/backup01.test, matrix: context, detail)

R-64894-16593-62452-43919-42251-52509-45292-14622

  Thus if the BETWEEN term is not used as an index constraint and instead must be used to test input rows, the expr1 expression is only evaluated once. (source: optoverview.html, matrix: context, detail)

R-64894-50321-17583-62706-45487-44187-46471-34655

  The string "?000" is returned if the argument is NULL or contains no ASCII alphabetic characters. (source: lang_corefunc.html, checked-by: src/func.c, th3/cov1/func07.test, matrix: context, detail)

R-64895-14776-45323-12456-17492-01351-20079-09519

  The truncate optimization can be permanently disabled for all queries by recompiling SQLite with the SQLITE_OMIT_TRUNCATE_OPTIMIZATION compile-time switch. (source: lang_delete.html, matrix: context, detail)

R-64942-06615-59529-33377-22531-50938-02982-04631

  The LIMIT and ORDER BY clauses (described below) are unsupported for DELETE statements within triggers. (source: lang_delete.html, checked-by: tcl/e_delete.test, matrix: context, detail)

R-64951-20071-29590-30713-07634-57943-17719-34762

  If the subquery uses LIMIT, then the outer query may not be DISTINCT. (source: optoverview.html, matrix: context, detail)

R-64962-17428-03573-42931-48456-26794-13581-20203

  Each column in an SQLite 3 database is assigned one of the following type affinities: TEXT NUMERIC INTEGER REAL BLOB (source: datatype3.html, checked-by: th3/req1/datatype3_05.test, matrix: context, detail)

R-64962-58611-23755-17940-51440-03163-56069-63868

  If the authorizer callback returns any value other than SQLITE_IGNORE, SQLITE_OK, or SQLITE_DENY then the sqlite3_prepare_v2() or equivalent call that triggered the authorizer will fail with an error message. (source: c3ref/set_authorizer.html, checked-by: tcl/auth3.test, th3/cov1/auth01.test, matrix: context, detail)

R-64967-62742-25252-37896-34522-17857-15899-52885

  The WAL journaling mode is persistent; after being set it stays in effect across multiple database connections and after closing and reopening the database. (source: pragma.html, checked-by: th3/req1/pragma24.test, matrix: context, detail)

R-64973-09381-20072-06844-08666-32916-49559-16306

  A pragma can take either zero or one argument. (source: pragma.html, checked-by: th3/req1/pragma01.test, matrix: context, detail)

R-65019-08383-37218-08161-37100-03292-58035-06860

  The rank of the column within the table being indexed. (source: pragma.html, checked-by: tcl/pragma.test, th3/req1/pragma15.test, matrix: context, detail)

R-65033-28449-21866-26015-44447-32158-58356-59086

  The built-in BINARY collation compares strings byte by byte using the memcmp() function from the standard C library. (source: fileformat2.html, checked-by: src/main.c, matrix: context, detail)

R-65058-57158-61886-52055-64360-05204-52569-52918

  For example, adding an "ON UPDATE CASCADE" clause to the foreign key as shown below enhances the example schema from section 1 to allow the user to update the artistid (the parent key of the foreign key constraint) column without breaking referential integrity: -- Database schema CREATE TABLE artist( artistid INTEGER PRIMARY KEY, artistname TEXT ); CREATE TABLE track( trackid INTEGER, trackname TEXT, trackartist INTEGER REFERENCES artist(artistid) ON UPDATE CASCADE ); sqlite> SELECT * FROM artist; artistid artistname -------- ----------------- 1 Dean Martin 2 Frank Sinatra sqlite> SELECT * FROM track; trackid trackname trackartist ------- ----------------- ----------- 11 That's Amore 1 12 Christmas Blues 1 13 My Way 2 sqlite> -- Update the artistid column of the artist record for "Dean Martin". sqlite> -- Normally, this would raise a constraint, as it would orphan the two sqlite> -- dependent records in the track table. However, the ON UPDATE CASCADE clause sqlite> -- attached to the foreign key definition causes the update to "cascade" sqlite> -- to the child table, preventing the foreign key constraint violation. sqlite> UPDATE artist SET artistid = 100 WHERE artistname = 'Dean Martin'; sqlite> SELECT * FROM artist; artistid artistname -------- ----------------- 2 Frank Sinatra 100 Dean Martin sqlite> SELECT * FROM track; trackid trackname trackartist ------- ----------------- ----------- 11 That's Amore 100 12 Christmas Blues 100 13 My Way 2 (source: foreignkeys.html, checked-by: tcl/e_fkey.test, th3/req1/foreignkeys17.test, matrix: context, detail)

R-65068-25814-18099-09241-35748-05178-29106-53953

  If the savepoint-name in a RELEASE command does not match any savepoint currently in the transaction stack, then no savepoints are released, the database is unchanged, and the RELEASE command returns an error. (source: lang_savepoint.html, matrix: context, detail)

R-65068-27207-32171-32439-07967-23118-62780-22376

  Otherwise, if the ORDER BY expression is any other expression, it is evaluated and the returned value used to order the output rows. (source: lang_select.html, checked-by: tcl/e_select.test, matrix: context, detail)

R-65080-38137-04546-49301-16311-04630-53630-13035

  The default setting for secure_delete is determined by the SQLITE_SECURE_DELETE compile-time option and is normally off. (source: pragma.html, checked-by: th3/cov1/pragma20.test, th3/cov1/pragma21.test, matrix: context, detail)

R-65084-00602-21133-41951-43387-02500-18887-33247

  sqlite3_shutdown() will invoke sqlite3_os_end(). (source: c3ref/initialize.html, matrix: context, detail)

R-65114-09470-57981-35509-40409-30231-64456-31746

  The sqlite_stat4.sample column holds a BLOB in the record format that encodes the indexed columns followed by the rowid for a rowid table or by the columns of the primary key for a WITHOUT ROWID table. (source: fileformat2.html, matrix: context, detail)

R-65124-17715-29002-58648-01842-29148-18346-40549

  The estimatedCost value is an estimate of the cost of a particular strategy. (source: c3ref/index_info.html, matrix: context, detail)

R-65161-60989-13939-65119-57772-34659-43488-10354

  The WHERE clause may not contain subqueries, references to other tables, non-deterministic functions, or bound parameters. (source: partialindex.html, checked-by: th3/cov1/index01.test, matrix: context, detail)

R-65170-37686-46750-59741-09929-07769-53734-56917

  Each prepared statement maintains various SQLITE_STMTSTATUS counters that measure the number of times it has performed specific operations. (source: c3ref/stmt_status.html, matrix: context, detail)

R-65300-64550-00463-55023-40104-43666-12951-02448

  An operand on a mathematical operator that does not look in any way numeric and is not NULL is converted to 0 or 0.0. (source: datatype3.html, checked-by: th3/req1/datatype3_06.test, matrix: context, detail)

R-65304-57881-32228-09146-30017-59454-39464-18055

  CREATE TABLE t1( a TEXT, -- text affinity b NUMERIC, -- numeric affinity c BLOB, -- no affinity d -- no affinity ); -- Values will be stored as TEXT, INTEGER, TEXT, and INTEGER respectively INSERT INTO t1 VALUES('500', '500', '500', 500); SELECT typeof(a), typeof(b), typeof(c), typeof(d) FROM t1; text|integer|text|integer -- Because column "a" has text affinity, numeric values on the -- right-hand side of the comparisons are converted to text before -- the comparison occurs. SELECT a < 40, a < 60, a < 600 FROM t1; 0|1|1 -- Text affinity is applied to the right-hand operands but since -- they are already TEXT this is a no-op; no conversions occur. SELECT a < '40', a < '60', a < '600' FROM t1; 0|1|1 -- Column "b" has numeric affinity and so numeric affinity is applied -- to the operands on the right. Since the operands are already numeric, -- the application of affinity is a no-op; no conversions occur. All -- values are compared numerically. SELECT b < 40, b < 60, b < 600 FROM t1; 0|0|1 -- Numeric affinity is applied to operands on the right, converting them -- from text to integers. Then a numeric comparison occurs. SELECT b < '40', b < '60', b < '600' FROM t1; 0|0|1 -- No affinity conversions occur. Right-hand side values all have -- storage class INTEGER which are always less than the TEXT values -- on the left. SELECT c < 40, c < 60, c < 600 FROM t1; 0|0|0 -- No affinity conversions occur. Values are compared as TEXT. SELECT c < '40', c < '60', c < '600' FROM t1; 0|1|1 -- No affinity conversions occur. Right-hand side values all have -- storage class INTEGER which compare numerically with the INTEGER -- values on the left. SELECT d < 40, d < 60, d < 600 FROM t1; 0|0|1 -- No affinity conversions occur. INTEGER values on the left are -- always less than TEXT values on the right. SELECT d < '40', d < '60', d < '600' FROM t1; 1|1|1 (source: datatype3.html, checked-by: th3/req1/datatype3_05.test, matrix: context, detail)

R-65312-04917-64079-24281-62446-41326-63748-51040

  If the parameter N to sqlite3_malloc() is zero or negative then sqlite3_malloc() returns a NULL pointer. (source: c3ref/free.html, checked-by: th3/req1/malloc02.test, matrix: context, detail)

R-65343-41028-54070-29515-00373-53952-30391-17078

  SQLite will normally invoke xFetch() with a createFlag of 0 or 1. SQLite will only use a createFlag of 2 after a prior call with a createFlag of 1 failed. (source: c3ref/pcache_methods2.html, matrix: context, detail)

R-65347-63411-45850-56512-24851-44706-34523-61535

  In other words, the WAL can fill up with frames and then be checkpointed and then new frames can overwrite the old ones. (source: fileformat2.html, matrix: context, detail)

R-65366-15139-04842-55947-24968-22096-64628-38309

  The callback is invoked by SQLite after the commit has taken place and the associated write-lock on the database released (source: c3ref/wal_hook.html, checked-by: tcl/e_walhook.test, matrix: context, detail)

R-65380-53022-62704-42379-02430-24457-15703-19233

  If the right-most simple SELECT is a VALUES clause then no LIMIT clause is allowed. (source: lang_select.html, checked-by: th3/req1/select02.test, matrix: context, detail)

R-65388-41786-00092-02077-09568-05356-17956-02801

  The SQLITE_ prefix may be omitted from the option name passed to sqlite3_compileoption_used(). (source: c3ref/compileoption_get.html, checked-by: th3/cov1/ctime01.test, matrix: context, detail)

R-65413-22646-29156-64725-36805-48680-56286-58533

  The expression of a generated column may refer to other generated columns in the same row, but no generated column can depend upon itself, either directly or indirectly. (source: gencol.html, matrix: context, detail)

R-65415-14215-28340-46015-14060-32761-36485-26152

  The xCurrentTimeInt64() method returns, as an integer, the Julian Day Number multiplied by 86400000 (the number of milliseconds in a 24-hour day). (source: c3ref/vfs.html, checked-by: th3/th3testvfs.c, matrix: context, detail)

R-65428-21389-17979-34707-50338-54767-57809-35123

  The return value of the xFileControl method becomes the return value of this routine. (source: c3ref/file_control.html, matrix: context, detail)

R-65438-26258-44776-08221-02933-16071-14773-52455

  This function returns the total number of rows inserted, modified or deleted by all INSERT, UPDATE or DELETE statements completed since the database connection was opened, including those executed as part of trigger programs. (source: c3ref/total_changes.html, checked-by: tcl/e_totalchanges.test, matrix: context, detail)

R-65463-62993-22311-50014-58341-59872-02270-20667

  Any database name qualifier that occurs prior to the name of the object being created is removed. (source: fileformat2.html, matrix: context, detail)

R-65489-09702-43837-30882-04138-20719-06311-14611

  BEFORE is the default when neither keyword is present. (source: lang_createtrigger.html, matrix: context, detail)

R-65499-53765-60887-64265-16155-35530-39670-45020

  On the other hand, passive mode might leave the checkpoint unfinished if there are concurrent readers or writers. (source: c3ref/wal_checkpoint_v2.html, checked-by: tcl/e_walckpt.test, th3/req1/checkpoint01.test, matrix: context, detail)

R-65507-55649-05448-07822-60967-65270-42964-52514

  The sqlite_stat1 is an internal table created by the ANALYZE command and used to hold supplemental information about tables and indexes that the query planner can use to help it find better ways of performing queries. (source: fileformat2.html, matrix: context, detail)

R-65524-61849-43329-61953-54493-09890-31645-08912

  If an application-defined SQL function named "regexp" is added at run-time, then the "X REGEXP Y" operator will be implemented as a call to "regexp(Y,X)". (source: lang_expr.html, checked-by: tcl/e_expr.test, matrix: context, detail)