⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqlite3.h

📁 嵌入式小型数据库软件
💻 H
📖 第 1 页 / 共 5 页
字号:
#define SQLITE_CONFIG_GETMALLOC     5  /* sqlite3_mem_methods* */#define SQLITE_CONFIG_SCRATCH       6  /* void*, int sz, int N */#define SQLITE_CONFIG_PAGECACHE     7  /* void*, int sz, int N */#define SQLITE_CONFIG_HEAP          8  /* void*, int nByte, int min */#define SQLITE_CONFIG_MEMSTATUS     9  /* boolean */#define SQLITE_CONFIG_MUTEX        10  /* sqlite3_mutex_methods* */#define SQLITE_CONFIG_GETMUTEX     11  /* sqlite3_mutex_methods* *//*** CAPI3REF: Enable Or Disable Extended Result Codes {F12200}**** The sqlite3_extended_result_codes() routine enables or disables the** [extended result codes] feature of SQLite. The extended result** codes are disabled by default for historical compatibility considerations.**** INVARIANTS:**** {F12201} Each new [database connection] shall have the**          [extended result codes] feature disabled by default.**** {F12202} The [sqlite3_extended_result_codes(D,F)] interface shall enable**          [extended result codes] for the  [database connection] D**          if the F parameter is true, or disable them if F is false.*/int sqlite3_extended_result_codes(sqlite3*, int onoff);/*** CAPI3REF: Last Insert Rowid {F12220}**** Each entry in an SQLite table has a unique 64-bit signed** integer key called the "rowid". 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. If** the table has a column of type INTEGER PRIMARY KEY then that column** is another alias for the rowid.**** This routine returns the rowid of the most recent** successful INSERT into the database from the [database connection]** in the first argument.  If no successful INSERTs** have ever occurred on that database connection, zero is returned.**** If an INSERT occurs within a trigger, then the rowid of the inserted** row is returned by this routine as long as the trigger is running.** But once the trigger terminates, the value returned by this routine** reverts to the last value inserted before the trigger fired.**** An INSERT that fails due to a constraint violation is not a** successful INSERT and does not change the value returned by this** routine.  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.  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.**** For the purposes of this routine, an INSERT is considered to** be successful even if it is subsequently rolled back.**** INVARIANTS:**** {F12221} The [sqlite3_last_insert_rowid()] function returns the rowid**          of the most recent successful INSERT performed on the same**          [database connection] and within the same or higher level**          trigger context, or zero if there have been no qualifying inserts.**** {F12223} The [sqlite3_last_insert_rowid()] function returns the**          same value when called from the same trigger context**          immediately before and after a ROLLBACK.**** LIMITATIONS:**** {A12232} If a separate thread performs a new INSERT on the same**          database connection while the [sqlite3_last_insert_rowid()]**          function is running and thus changes the last insert rowid,**          then the value returned by [sqlite3_last_insert_rowid()] is**          unpredictable and might not equal either the old or the new**          last insert rowid.*/sqlite3_int64 sqlite3_last_insert_rowid(sqlite3*);/*** CAPI3REF: Count The Number Of Rows Modified {F12240}**** This function returns the number of database rows that were changed** or inserted or deleted by the most recently completed SQL statement** on the [database connection] specified by the first parameter.** Only changes that are directly specified by the INSERT, UPDATE,** or DELETE statement are counted.  Auxiliary changes caused by** triggers are not counted. Use the [sqlite3_total_changes()] function** to find the total number of changes including changes caused by triggers.**** A "row change" is a change to a single row of a single table** caused by an INSERT, DELETE, or UPDATE statement.  Rows that** are changed as side effects of REPLACE constraint resolution,** rollback, ABORT processing, DROP TABLE, or by any other** mechanisms do not count as direct row changes.**** A "trigger context" is a scope of execution that begins and** ends with the script of a trigger.  Most SQL statements are** evaluated outside of any trigger.  This is the "top level"** trigger context.  If a trigger fires from the top level, a** new trigger context is entered for the duration of that one** trigger.  Subtriggers create subcontexts for their duration.**** Calling [sqlite3_exec()] or [sqlite3_step()] recursively does** not create a new trigger context.**** This function returns the number of direct row changes in the** most recent INSERT, UPDATE, or DELETE statement within the same** trigger context.**** Thus, when called from the top level, this function returns the** number of changes in the most recent INSERT, UPDATE, or DELETE** that also occurred at the top level.  Within the body of a trigger,** the sqlite3_changes() interface can be called to find the number of** changes in the most recently completed INSERT, UPDATE, or DELETE** statement within the body of the same trigger.** However, the number returned does not include changes** caused by subtriggers since those have their own context.**** SQLite implements the command "DELETE FROM table" without a WHERE clause** by dropping and recreating the table.  (This is much faster than going** through and deleting individual elements from the table.)  Because of this** optimization, the deletions in "DELETE FROM table" are not row changes and** will not be counted by the sqlite3_changes() or [sqlite3_total_changes()]** functions, regardless of the number of elements that were originally** in the table.  To get an accurate count of the number of rows deleted, use** "DELETE FROM table WHERE 1" instead.**** INVARIANTS:**** {F12241} The [sqlite3_changes()] function shall return the number of**          row changes caused by the most recent INSERT, UPDATE,**          or DELETE statement on the same database connection and**          within the same or higher trigger context, or zero if there have**          not been any qualifying row changes.**** {F12243} Statements of the form "DELETE FROM tablename" with no**          WHERE clause shall cause subsequent calls to**          [sqlite3_changes()] to return zero, regardless of the**          number of rows originally in the table.**** LIMITATIONS:**** {A12252} If a separate thread makes changes on the same database connection**          while [sqlite3_changes()] is running then the value returned**          is unpredictable and not meaningful.*/int sqlite3_changes(sqlite3*);/*** CAPI3REF: Total Number Of Rows Modified {F12260}**** This function returns the number of row changes caused by INSERT,** UPDATE or DELETE statements since the [database connection] was opened.** The count includes all changes from all trigger contexts.  However,** the count does not include changes used to implement REPLACE constraints,** do rollbacks or ABORT processing, or DROP table processing.** The changes are counted as soon as the statement that makes them is** completed (when the statement handle is passed to [sqlite3_reset()] or** [sqlite3_finalize()]).**** SQLite implements the command "DELETE FROM table" without a WHERE clause** by dropping and recreating the table.  (This is much faster than going** through and deleting individual elements from the table.)  Because of this** optimization, the deletions in "DELETE FROM table" are not row changes and** will not be counted by the sqlite3_changes() or [sqlite3_total_changes()]** functions, regardless of the number of elements that were originally** in the table.  To get an accurate count of the number of rows deleted, use** "DELETE FROM table WHERE 1" instead.**** See also the [sqlite3_changes()] interface.**** INVARIANTS:**** {F12261} The [sqlite3_total_changes()] returns the total number**          of row changes caused by INSERT, UPDATE, and/or DELETE**          statements on the same [database connection], in any**          trigger context, since the database connection was created.**** {F12263} Statements of the form "DELETE FROM tablename" with no**          WHERE clause shall not change the value returned**          by [sqlite3_total_changes()].**** LIMITATIONS:**** {A12264} If a separate thread makes changes on the same database connection**          while [sqlite3_total_changes()] is running then the value**          returned is unpredictable and not meaningful.*/int sqlite3_total_changes(sqlite3*);/*** CAPI3REF: Interrupt A Long-Running Query {F12270}**** This function causes any pending database operation to abort and** return at its earliest opportunity. This routine is typically** called in response to a user action such as pressing "Cancel"** or Ctrl-C where the user wants a long query operation to halt** immediately.**** It is safe to call this routine from a thread different from the** thread that is currently running the database operation.  But it** is not safe to call this routine with a [database connection] that** is closed or might close before sqlite3_interrupt() returns.**** If an SQL operation is very nearly finished at the time when** sqlite3_interrupt() is called, then it might not have an opportunity** to be interrupted and might continue to completion.**** An SQL operation that is interrupted will return [SQLITE_INTERRUPT].** If the interrupted SQL operation is an INSERT, UPDATE, or DELETE** that is inside an explicit transaction, then the entire transaction** will be rolled back automatically.**** A call to sqlite3_interrupt() has no effect on SQL statements** that are started after sqlite3_interrupt() returns.**** INVARIANTS:**** {F12271} The [sqlite3_interrupt()] interface will force all running**          SQL statements associated with the same database connection**          to halt after processing at most one additional row of data.**** {F12272} Any SQL statement that is interrupted by [sqlite3_interrupt()]**          will return [SQLITE_INTERRUPT].**** LIMITATIONS:**** {A12279} If the database connection closes while [sqlite3_interrupt()]**          is running then bad things will likely happen.*/void sqlite3_interrupt(sqlite3*);/*** CAPI3REF: Determine If An SQL Statement Is Complete {F10510}**** These routines are useful for command-line input to determine if the** currently entered text seems to form complete a SQL statement or** if additional input is needed before sending the text into** SQLite for parsing.  These routines return true if the input string** appears to be a complete SQL statement.  A statement is judged to be** complete if it ends with a semicolon token and is not a fragment of a** CREATE TRIGGER statement.  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.**** These routines do not parse the SQL statements thus** will not detect syntactically incorrect SQL.**** INVARIANTS:**** {F10511} A successful evaluation of [sqlite3_complete()] or**          [sqlite3_complete16()] functions shall**          return a numeric 1 if and only if the last non-whitespace**          token in their input is a semicolon that is not in between**          the BEGIN and END of a CREATE TRIGGER statement.**** {F10512} If a memory allocation error occurs during an invocation**          of [sqlite3_complete()] or [sqlite3_complete16()] then the**          routine shall return [SQLITE_NOMEM].**** LIMITATIONS:**** {A10512} The input to [sqlite3_complete()] must be a zero-terminated**          UTF-8 string.**** {A10513} The input to [sqlite3_complete16()] must be a zero-terminated**          UTF-16 string in native byte order.*/int sqlite3_complete(const char *sql);int sqlite3_complete16(const void *sql);/*** CAPI3REF: Register A Callback To Handle SQLITE_BUSY Errors {F12310}**** This routine sets a callback function that might be invoked whenever** an attempt is made to open a database table that another thread** or process has locked.**** If the busy callback is NULL, then [SQLITE_BUSY] or [SQLITE_IOERR_BLOCKED]** is returned immediat

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -