Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Change sqlite* to sqlite3* in the API reference for version 3.0. Ticket #818. (CVS 1847) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
7c96daddb6b857f904f0ea72d6bad21a |
User & Date: | drh 2004-07-22 15:45:16.000 |
Context
2004-07-22
| ||
15:47 | Update VERSION and changes.html in preparation for the next release. (CVS 1848) (check-in: 428f80239e user: drh tags: trunk) | |
15:45 | Change sqlite* to sqlite3* in the API reference for version 3.0. Ticket #818. (CVS 1847) (check-in: 7c96daddb6 user: drh tags: trunk) | |
15:02 | Fix bugs associated with the codec. (CVS 1846) (check-in: b0a3becd82 user: drh tags: trunk) | |
Changes
Changes to www/capi3ref.tcl.
|
| | | 1 2 3 4 5 6 7 8 | set rcsid {$Id: capi3ref.tcl,v 1.7 2004/07/22 15:45:16 drh Exp $} source common.tcl header {C/C++ Interface For SQLite Version 3} puts { <h2>C/C++ Interface For SQLite Version 3</h2> } proc api {name prototype desc {notused x}} { |
︙ | ︙ | |||
100 101 102 103 104 105 106 | The sqlite3_bind_*() routine must be called after sqlite3_prepare() or sqlite3_reset() and before sqlite3_step(). Bindings are not reset by the sqlite3_reset() routine. Unbound wildcards are interpreted as NULL. } api {} { | | | 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | The sqlite3_bind_*() routine must be called after sqlite3_prepare() or sqlite3_reset() and before sqlite3_step(). Bindings are not reset by the sqlite3_reset() routine. Unbound wildcards are interpreted as NULL. } api {} { int sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*); } { This routine identifies a callback function that is invoked whenever an attempt is made to open a database table that is currently locked by another process or thread. If the busy callback is NULL, then sqlite3_exec() returns SQLITE_BUSY immediately if it finds a locked table. If the busy callback is not NULL, then sqlite3_exec() invokes the callback with two arguments. The |
︙ | ︙ | |||
125 126 127 128 129 130 131 | is allowed, in theory.) But the busy handler may not close the database. Closing the database from a busy handler will delete data structures out from under the executing query and will probably result in a coredump. } api {} { | | | | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | is allowed, in theory.) But the busy handler may not close the database. Closing the database from a busy handler will delete data structures out from under the executing query and will probably result in a coredump. } api {} { int sqlite3_busy_timeout(sqlite3*, int ms); } { This routine sets a busy handler that sleeps for a while when a table is locked. The handler will sleep multiple times until at least "ms" milleseconds of sleeping have been done. After "ms" milleseconds of sleeping, the handler returns 0 which causes sqlite3_exec() to return SQLITE_BUSY. Calling this routine with an argument less than or equal to zero turns off all busy handlers. } api {} { int sqlite3_changes(sqlite3*); } { This function returns the number of database rows that were changed (or inserted or deleted) by the most recently completed INSERT, UPDATE, or DELETE statement. 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 |
︙ | ︙ | |||
162 163 164 165 166 167 168 | this optimization, the change count for "DELETE FROM table" will be zero 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. } api {} { | | | 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | this optimization, the change count for "DELETE FROM table" will be zero 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. } api {} { int sqlite3_total_changes(sqlite3*); } { This function returns the total number of database rows that have be modified, inserted, or deleted since the database connection was created using sqlite3_open(). All changes are counted, including changes by triggers and changes to TEMP and auxiliary databases. Except, changes to the SQLITE_MASTER table (caused by statements such as CREATE TABLE) are not counted. Nor are changes counted when |
︙ | ︙ | |||
184 185 186 187 188 189 190 | this optimization, the change count for "DELETE FROM table" will be zero 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. } api {} { | | | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 | this optimization, the change count for "DELETE FROM table" will be zero 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. } api {} { int sqlite3_close(sqlite3*); } { Call this function with a pointer to a structure that was previously returned from sqlite3_open() or sqlite3_open16() and the corresponding database will by closed. SQLITE_OK is returned if the close is successful. If there are prepared statements that have not been finalized, then SQLITE_BUSY |
︙ | ︙ | |||
313 314 315 316 317 318 319 | The first parameter is a prepared SQL statement. This function returns the column heading for the Nth column of that statement, where N is the second function parameter. The string returned is UTF-8 for sqlite3_column_name() and UTF-16 for sqlite3_column_name16(). } api {} { | | | 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 | The first parameter is a prepared SQL statement. This function returns the column heading for the Nth column of that statement, where N is the second function parameter. The string returned is UTF-8 for sqlite3_column_name() and UTF-16 for sqlite3_column_name16(). } api {} { void *sqlite3_commit_hook(sqlite3*, int(*xCallback)(void*), void *pArg); } { <i>Experimental</i> Register a callback function to be invoked whenever a new transaction is committed. The pArg argument is passed through to the callback. callback. If the callback function returns non-zero, then the commit is converted into a rollback. |
︙ | ︙ | |||
529 530 531 532 533 534 535 | The string "not an error" is returned when the most recent API call was successful. } api {} { int sqlite3_exec( | | | 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 | The string "not an error" is returned when the most recent API call was successful. } api {} { int sqlite3_exec( sqlite3*, /* An open database */ const char *sql, /* SQL to be executed */ sqlite_callback, /* Callback function */ void *, /* 1st argument to callback function */ char **errmsg /* Error msg written here */ ); } { A function to executes one or more statements of SQL. |
︙ | ︙ | |||
605 606 607 608 609 610 611 | } { Use this routine to free memory obtained from sqlite3_mprintf() or sqlite3_vmprintf(). } api {} { int sqlite3_get_table( | | | 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 | } { Use this routine to free memory obtained from sqlite3_mprintf() or sqlite3_vmprintf(). } api {} { int sqlite3_get_table( sqlite3*, /* An open database */ const char *sql, /* SQL to be executed */ char ***resultp, /* Result written to a char *[] that this points to */ int *nrow, /* Number of result rows written here */ int *ncolumn, /* Number of result columns written here */ char **errmsg /* Error msg written here */ ); void sqlite3_free_table(char **result); |
︙ | ︙ | |||
660 661 662 663 664 665 666 | malloc() directly. Only sqlite3_free_table() is able to release the memory properly and safely. The return value of this routine is the same as from sqlite3_exec(). } api {sqlite3_interrupt} { | | | | 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 | malloc() directly. Only sqlite3_free_table() is able to release the memory properly and safely. The return value of this routine is the same as from sqlite3_exec(). } api {sqlite3_interrupt} { void sqlite3_interrupt(sqlite3*); } { 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. } {} api {} { long long int sqlite3_last_insert_rowid(sqlite3*); } { Each entry in an SQLite table has a unique integer key. (The key is the value of the INTEGER PRIMARY KEY column if there is such a column, otherwise the key is generated at random. The unique key is always available as the ROWID, OID, or _ROWID_ column.) The following routine returns the integer key of the most recent insert in the database. |
︙ | ︙ | |||
803 804 805 806 807 808 809 | set to NULL. If the input text contained no SQL (if the input is and empty string or a comment) then *ppStmt is set to NULL. On success, SQLITE_OK is returned. Otherwise an error code is returned. } api {} { | | | 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 | set to NULL. If the input text contained no SQL (if the input is and empty string or a comment) then *ppStmt is set to NULL. On success, SQLITE_OK is returned. Otherwise an error code is returned. } api {} { void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); } { <i>Experimental</i> This routine configures a callback function - the progress callback - that is invoked periodically during long running calls to sqlite3_exec(), sqlite3_step() and sqlite3_get_table(). An example use for this API is to keep |
︙ | ︙ | |||
868 869 870 871 872 873 874 | The operation of these routines is very similar to the operation of sqlite3_bind_blob() and its cousins. Refer to the documentation there for additional information. } api {} { int sqlite3_set_authorizer( | | | 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 | The operation of these routines is very similar to the operation of sqlite3_bind_blob() and its cousins. Refer to the documentation there for additional information. } api {} { int sqlite3_set_authorizer( sqlite3*, int (*xAuth)(void*,int,const char*,const char*,const char*,const char*), void *pUserData ); #define SQLITE_CREATE_INDEX 1 /* Index Name Table Name */ #define SQLITE_CREATE_TABLE 2 /* Table Name NULL */ #define SQLITE_CREATE_TEMP_INDEX 3 /* Index Name Table Name */ #define SQLITE_CREATE_TEMP_TABLE 4 /* Table Name NULL */ |
︙ | ︙ | |||
963 964 965 966 967 968 969 | Perhaps it was called on a virtual machine that had already been finalized or on one that had previously returned SQLITE_ERROR or SQLITE_DONE. Or it could be the case the the same database connection is being used simulataneously by two or more threads. } api {} { | | | 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 | Perhaps it was called on a virtual machine that had already been finalized or on one that had previously returned SQLITE_ERROR or SQLITE_DONE. Or it could be the case the the same database connection is being used simulataneously by two or more threads. } api {} { void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*); } { Register a function that is called at every invocation of sqlite3_exec() or sqlite3_prepare(). This function can be used (for example) to generate a log file of all SQL executed against a database. This is frequently useful when debugging an application that uses SQLite. } |
︙ | ︙ |