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

📄 sqlite3.h

📁 在WinCE/Windows平台上面使用的数据库
💻 H
📖 第 1 页 / 共 5 页
字号:
** and will never change.  It does not need to be destroyed.  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.**** The typedef is necessary to work around problems in certain** C++ compilers.  See ticket #2191.*/typedef void (*sqlite3_destructor_type)(void*);#define SQLITE_STATIC      ((sqlite3_destructor_type)0)#define SQLITE_TRANSIENT   ((sqlite3_destructor_type)-1)/*** User-defined functions invoke the following routines in order to** set their return value.*/void sqlite3_result_blob(sqlite3_context*, const void*, int, void(*)(void*));void sqlite3_result_double(sqlite3_context*, double);void sqlite3_result_error(sqlite3_context*, const char*, int);void sqlite3_result_error16(sqlite3_context*, const void*, int);void sqlite3_result_int(sqlite3_context*, int);void sqlite3_result_int64(sqlite3_context*, sqlite_int64);void sqlite3_result_null(sqlite3_context*);void sqlite3_result_text(sqlite3_context*, const char*, int, void(*)(void*));void sqlite3_result_text16(sqlite3_context*, const void*, int, void(*)(void*));void sqlite3_result_text16le(sqlite3_context*, const void*, int,void(*)(void*));void sqlite3_result_text16be(sqlite3_context*, const void*, int,void(*)(void*));void sqlite3_result_value(sqlite3_context*, sqlite3_value*);/*** These are the allowed values for the eTextRep argument to** sqlite3_create_collation and sqlite3_create_function.*/#define SQLITE_UTF8           1#define SQLITE_UTF16LE        2#define SQLITE_UTF16BE        3#define SQLITE_UTF16          4    /* Use native byte order */#define SQLITE_ANY            5    /* sqlite3_create_function only */#define SQLITE_UTF16_ALIGNED  8    /* sqlite3_create_collation only *//*** These two functions are used to add new collation sequences to the** sqlite3 handle specified as the first argument. **** The name of the new collation sequence is specified as a UTF-8 string** for sqlite3_create_collation() and a UTF-16 string for** sqlite3_create_collation16(). In both cases the name is passed as the** second function argument.**** The third argument must be one of the constants SQLITE_UTF8,** SQLITE_UTF16LE or SQLITE_UTF16BE, indicating that the user-supplied** routine expects to be passed pointers to strings encoded using UTF-8,** UTF-16 little-endian or UTF-16 big-endian respectively.**** A pointer to the user supplied routine must be passed as the fifth** argument. If it is NULL, this is the same as deleting the collation** sequence (so that SQLite cannot call it anymore). Each time the user** supplied function is invoked, it is passed a copy of the void* passed as** the fourth argument to sqlite3_create_collation() or** sqlite3_create_collation16() as its first parameter.**** The remaining arguments to the user-supplied routine are two strings,** each represented by a [length, data] pair and encoded in the encoding** that was passed as the third argument when the collation sequence was** registered. The user routine should return negative, zero or positive if** the first string is less than, equal to, or greater than the second** string. i.e. (STRING1 - STRING2).*/int sqlite3_create_collation(  sqlite3*,   const char *zName,   int eTextRep,   void*,  int(*xCompare)(void*,int,const void*,int,const void*));int sqlite3_create_collation16(  sqlite3*,   const char *zName,   int eTextRep,   void*,  int(*xCompare)(void*,int,const void*,int,const void*));/*** To avoid having to register all collation sequences before a database** can be used, a single callback function may be registered with the** database handle to be called whenever an undefined collation sequence is** required.**** 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. If sqlite3_collation_needed16() is used, the names** are passed as UTF-16 in machine native byte order. A call to either** function replaces any existing callback.**** When the user-function 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** handle. 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.**** The collation sequence is returned to SQLite by a collation-needed** callback using the sqlite3_create_collation() or** sqlite3_create_collation16() APIs, described above.*/int sqlite3_collation_needed(  sqlite3*,   void*,   void(*)(void*,sqlite3*,int eTextRep,const char*));int sqlite3_collation_needed16(  sqlite3*,   void*,  void(*)(void*,sqlite3*,int eTextRep,const void*));/*** Specify the key for an encrypted database.  This routine should be** called right after sqlite3_open().**** The code to implement this API is not available in the public release** of SQLite.*/int sqlite3_key(  sqlite3 *db,                   /* Database to be rekeyed */  const void *pKey, int nKey     /* The key */);/*** Change the key on an open database.  If the current database is not** encrypted, this routine will encrypt it.  If pNew==0 or nNew==0, the** database is decrypted.**** The code to implement this API is not available in the public release** of SQLite.*/int sqlite3_rekey(  sqlite3 *db,                   /* Database to be rekeyed */  const void *pKey, int nKey     /* The new key */);/*** Sleep for a little while. The second parameter is the number of** miliseconds to sleep for. **** If the operating system does not support sleep requests with ** milisecond time resolution, then the time will be rounded up to ** the nearest second. The number of miliseconds of sleep actually ** requested from the operating system is returned.*/int sqlite3_sleep(int);/*** Return TRUE (non-zero) if the statement supplied as an argument needs** to be recompiled.  A statement needs to be recompiled whenever the** execution environment changes in a way that would alter the program** that sqlite3_prepare() generates.  For example, if new functions or** collating sequences are registered or if an authorizer function is** added or changed.***/int sqlite3_expired(sqlite3_stmt*);/*** Move all bindings from the first prepared statement over to the second.** This routine is useful, for example, if the first prepared statement** fails with an SQLITE_SCHEMA error.  The same SQL can be prepared into** the second prepared statement then all of the bindings transfered over** to the second statement before the first statement is finalized.*/int sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*);/*** If the following global variable is made to point to a** string which is the name of a directory, then all temporary files** created by SQLite will be placed in that directory.  If this variable** is NULL pointer, then SQLite does a search for an appropriate temporary** file directory.**** Once sqlite3_open() has been called, changing this variable will invalidate** the current temporary database, if any.*/extern char *sqlite3_temp_directory;/*** This function is called to recover from a malloc() failure that occured** within the SQLite library. Normally, after a single malloc() fails the ** library refuses to function (all major calls return SQLITE_NOMEM).** This function restores the library state so that it can be used again.**** All existing statements (sqlite3_stmt pointers) must be finalized or** reset before this call is made. Otherwise, SQLITE_BUSY is returned.** If any in-memory databases are in use, either as a main or TEMP** database, SQLITE_ERROR is returned. In either of these cases, the ** library is not reset and remains unusable.**** This function is *not* threadsafe. Calling this from within a threaded** application when threads other than the caller have used SQLite is** dangerous and will almost certainly result in malfunctions.**** This functionality can be omitted from a build by defining the ** SQLITE_OMIT_GLOBALRECOVER at compile time.*/int sqlite3_global_recover(void);/*** Test to see whether or not the database connection is in autocommit** mode.  Return TRUE if it is and FALSE if not.  Autocommit mode is on** by default.  Autocommit is disabled by a BEGIN statement and reenabled** by the next COMMIT or ROLLBACK.*/int sqlite3_get_autocommit(sqlite3*);/*** Return the sqlite3* database handle to which the prepared statement given** in the argument belongs.  This is the same database handle that was** the first argument to the sqlite3_prepare() that was used to create** the statement in the first place.*/sqlite3 *sqlite3_db_handle(sqlite3_stmt*);/*** Register a callback function with the database connection identified by the ** first argument to be invoked whenever a row is updated, inserted or deleted.** Any callback set by a previous call to this function for the same ** database connection is overridden.**** The second argument is a pointer to the function to invoke when a ** row is updated, inserted or deleted. The first argument to the callback is** a copy of the third argument to sqlite3_update_hook. 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. The third and ** fourth arguments to the callback contain pointers to the database and ** table name containing the affected row. The final callback parameter is ** the rowid of the row. In the case of an update, this is the rowid after ** the update takes place.**** The update hook is not invoked when internal system tables are** modified (i.e. sqlite_master and sqlite_sequence).**** If another function was previously registered, its pArg value is returned.** Otherwise NULL is returned.*/void *sqlite3_update_hook(  sqlite3*,   void(*)(void *,int ,char const *,char const *,sqlite_int64),  void*);/*** Register a callback to be invoked whenever a transaction is rolled** back. **** The new callback function overrides any existing rollback-hook** callback. If there was an existing callback, then it's pArg value ** (the third argument to sqlite3_rollback_hook() when it was registered) ** is returned. Otherwise, NULL is returned.**** 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. The ** callback is not invoked if a transaction is automatically rolled** back because the database connection is closed.*/void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*);/*** This function is only available if the library is compiled without** the SQLITE_OMIT_SHARED_CACHE macro defined. It is used to enable or** disable (if the argument is true or false, respectively) the ** "shared pager" feature.*/int sqlite3_enable_shared_cache(int);/*** Attempt to free N bytes of heap memory by deallocating non-essential** memory allocations held by the database library (example: memory ** used to cache database pages to improve performance).**** This function is not a part of standard builds.  It is only created** if SQLite is compiled with the SQLITE_ENABLE_MEMORY_MANAGEMENT macro.*/int sqlite3_release_memory(int);/*** Place a "soft" limit on the amount of heap memory that may be allocated by** SQLite within the current thread. If an internal allocation is requested ** that would exceed the specified limit, sqlite3_release_memory() is invoked** one or more times to free up some space before the allocation is made.**** The limit is called "soft", because if sqlite3_release_memory() cannot free** sufficient memory to prevent the limit from being exceeded, the memory is** allocated anyway and the current operation proceeds.**** This function is only available if the library was compiled with the ** SQLITE_ENABLE_MEMO

⌨️ 快捷键说明

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