Fossil SCM
Update the built-in SQLite to 3.14 release.
Commit
60d5fee782d03aedf5248cfa604226b7533fbc47
Parent
4a4a51a541605fe…
2 files changed
+31
-13
+5
-6
+31
-13
| --- src/sqlite3.c | ||
| +++ src/sqlite3.c | ||
| @@ -380,11 +380,11 @@ | ||
| 380 | 380 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 381 | 381 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 382 | 382 | */ |
| 383 | 383 | #define SQLITE_VERSION "3.14.0" |
| 384 | 384 | #define SQLITE_VERSION_NUMBER 3014000 |
| 385 | -#define SQLITE_SOURCE_ID "2016-08-04 13:23:28 9adda385267d1a0ecff259b42a284913668441a2" | |
| 385 | +#define SQLITE_SOURCE_ID "2016-08-08 13:40:27 d5e98057028abcf7217d0d2b2e29bbbcdf09d6de" | |
| 386 | 386 | |
| 387 | 387 | /* |
| 388 | 388 | ** CAPI3REF: Run-Time Library Version Numbers |
| 389 | 389 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 390 | 390 | ** |
| @@ -2217,11 +2217,11 @@ | ||
| 2217 | 2217 | ** interface independently of the [load_extension()] SQL function. |
| 2218 | 2218 | ** The [sqlite3_enable_load_extension()] API enables or disables both the |
| 2219 | 2219 | ** C-API [sqlite3_load_extension()] and the SQL function [load_extension()]. |
| 2220 | 2220 | ** There should be two additional arguments. |
| 2221 | 2221 | ** When the first argument to this interface is 1, then only the C-API is |
| 2222 | -** enabled and the SQL function remains disabled. If the first argment to | |
| 2222 | +** enabled and the SQL function remains disabled. If the first argument to | |
| 2223 | 2223 | ** this interface is 0, then both the C-API and the SQL function are disabled. |
| 2224 | 2224 | ** If the first argument is -1, then no changes are made to state of either the |
| 2225 | 2225 | ** C-API or the SQL function. |
| 2226 | 2226 | ** The second parameter is a pointer to an integer into which |
| 2227 | 2227 | ** is written 0 or 1 to indicate whether [sqlite3_load_extension()] interface |
| @@ -5795,11 +5795,11 @@ | ||
| 5795 | 5795 | ** interface returns SQLITE_OK and fills in the non-NULL pointers in |
| 5796 | 5796 | ** the final five arguments with appropriate values if the specified |
| 5797 | 5797 | ** column exists. ^The sqlite3_table_column_metadata() interface returns |
| 5798 | 5798 | ** SQLITE_ERROR and if the specified column does not exist. |
| 5799 | 5799 | ** ^If the column-name parameter to sqlite3_table_column_metadata() is a |
| 5800 | -** NULL pointer, then this routine simply checks for the existance of the | |
| 5800 | +** NULL pointer, then this routine simply checks for the existence of the | |
| 5801 | 5801 | ** table and returns SQLITE_OK if the table exists and SQLITE_ERROR if it |
| 5802 | 5802 | ** does not. |
| 5803 | 5803 | ** |
| 5804 | 5804 | ** ^The column is identified by the second, third and fourth parameters to |
| 5805 | 5805 | ** this function. ^(The second parameter is either the name of the database |
| @@ -8390,11 +8390,11 @@ | ||
| 8390 | 8390 | ** tables. |
| 8391 | 8391 | ** |
| 8392 | 8392 | ** ^The second parameter to the preupdate callback is a pointer to |
| 8393 | 8393 | ** the [database connection] that registered the preupdate hook. |
| 8394 | 8394 | ** ^The third parameter to the preupdate callback is one of the constants |
| 8395 | -** [SQLITE_INSERT], [SQLITE_DELETE], or [SQLITE_UPDATE] to indentify the | |
| 8395 | +** [SQLITE_INSERT], [SQLITE_DELETE], or [SQLITE_UPDATE] to identify the | |
| 8396 | 8396 | ** kind of update operation that is about to occur. |
| 8397 | 8397 | ** ^(The fourth parameter to the preupdate callback is the name of the |
| 8398 | 8398 | ** database within the database connection that is being modified. This |
| 8399 | 8399 | ** will be "main" for the main database or "temp" for TEMP tables or |
| 8400 | 8400 | ** the name given after the AS keyword in the [ATTACH] statement for attached |
| @@ -10337,11 +10337,11 @@ | ||
| 10337 | 10337 | ** following structure. All structure methods must be defined, setting |
| 10338 | 10338 | ** any member of the fts5_tokenizer struct to NULL leads to undefined |
| 10339 | 10339 | ** behaviour. The structure methods are expected to function as follows: |
| 10340 | 10340 | ** |
| 10341 | 10341 | ** xCreate: |
| 10342 | -** This function is used to allocate and inititalize a tokenizer instance. | |
| 10342 | +** This function is used to allocate and initialize a tokenizer instance. | |
| 10343 | 10343 | ** A tokenizer instance is required to actually tokenize text. |
| 10344 | 10344 | ** |
| 10345 | 10345 | ** The first argument passed to this function is a copy of the (void*) |
| 10346 | 10346 | ** pointer provided by the application when the fts5_tokenizer object |
| 10347 | 10347 | ** was registered with FTS5 (the third argument to xCreateTokenizer()). |
| @@ -10596,11 +10596,10 @@ | ||
| 10596 | 10596 | #if 0 |
| 10597 | 10597 | } /* end of the 'extern "C"' block */ |
| 10598 | 10598 | #endif |
| 10599 | 10599 | |
| 10600 | 10600 | #endif /* _FTS5_H */ |
| 10601 | - | |
| 10602 | 10601 | |
| 10603 | 10602 | /******** End of fts5.h *********/ |
| 10604 | 10603 | |
| 10605 | 10604 | /************** End of sqlite3.h *********************************************/ |
| 10606 | 10605 | /************** Continuing where we left off in sqliteInt.h ******************/ |
| @@ -13084,10 +13083,11 @@ | ||
| 13084 | 13083 | SQLITE_PRIVATE sqlite3_file *sqlite3PagerJrnlFile(Pager*); |
| 13085 | 13084 | SQLITE_PRIVATE const char *sqlite3PagerJournalname(Pager*); |
| 13086 | 13085 | SQLITE_PRIVATE void *sqlite3PagerTempSpace(Pager*); |
| 13087 | 13086 | SQLITE_PRIVATE int sqlite3PagerIsMemdb(Pager*); |
| 13088 | 13087 | SQLITE_PRIVATE void sqlite3PagerCacheStat(Pager *, int, int, int *); |
| 13088 | +SQLITE_PRIVATE void sqlite3PagerClearCache(Pager*); | |
| 13089 | 13089 | SQLITE_PRIVATE int sqlite3SectorSize(sqlite3_file *); |
| 13090 | 13090 | |
| 13091 | 13091 | /* Functions used to truncate the database file. */ |
| 13092 | 13092 | SQLITE_PRIVATE void sqlite3PagerTruncateImage(Pager*,Pgno); |
| 13093 | 13093 | |
| @@ -53411,10 +53411,21 @@ | ||
| 53411 | 53411 | ** sqlite3BackupUpdate() only. |
| 53412 | 53412 | */ |
| 53413 | 53413 | SQLITE_PRIVATE sqlite3_backup **sqlite3PagerBackupPtr(Pager *pPager){ |
| 53414 | 53414 | return &pPager->pBackup; |
| 53415 | 53415 | } |
| 53416 | + | |
| 53417 | +#ifndef SQLITE_OMIT_VACUUM | |
| 53418 | +/* | |
| 53419 | +** Unless this is an in-memory or temporary database, clear the pager cache. | |
| 53420 | +*/ | |
| 53421 | +SQLITE_PRIVATE void sqlite3PagerClearCache(Pager *pPager){ | |
| 53422 | + assert( MEMDB==0 || pPager->tempFile ); | |
| 53423 | + if( pPager->tempFile==0 ) pager_reset(pPager); | |
| 53424 | +} | |
| 53425 | +#endif | |
| 53426 | + | |
| 53416 | 53427 | |
| 53417 | 53428 | #ifndef SQLITE_OMIT_WAL |
| 53418 | 53429 | /* |
| 53419 | 53430 | ** This function is called when the user invokes "PRAGMA wal_checkpoint", |
| 53420 | 53431 | ** "PRAGMA wal_blocking_checkpoint" or calls the sqlite3_wal_checkpoint() |
| @@ -53636,11 +53647,10 @@ | ||
| 53636 | 53647 | SQLITE_PRIVATE int sqlite3PagerWalFramesize(Pager *pPager){ |
| 53637 | 53648 | assert( pPager->eState>=PAGER_READER ); |
| 53638 | 53649 | return sqlite3WalFramesize(pPager->pWal); |
| 53639 | 53650 | } |
| 53640 | 53651 | #endif |
| 53641 | - | |
| 53642 | 53652 | |
| 53643 | 53653 | #endif /* SQLITE_OMIT_DISKIO */ |
| 53644 | 53654 | |
| 53645 | 53655 | /************** End of pager.c ***********************************************/ |
| 53646 | 53656 | /************** Begin file wal.c *********************************************/ |
| @@ -68596,17 +68606,19 @@ | ||
| 68596 | 68606 | /* 0x7FFFFFFF is the hard limit for the number of pages in a database |
| 68597 | 68607 | ** file. By passing this as the number of pages to copy to |
| 68598 | 68608 | ** sqlite3_backup_step(), we can guarantee that the copy finishes |
| 68599 | 68609 | ** within a single call (unless an error occurs). The assert() statement |
| 68600 | 68610 | ** checks this assumption - (p->rc) should be set to either SQLITE_DONE |
| 68601 | - ** or an error code. | |
| 68602 | - */ | |
| 68611 | + ** or an error code. */ | |
| 68603 | 68612 | sqlite3_backup_step(&b, 0x7FFFFFFF); |
| 68604 | 68613 | assert( b.rc!=SQLITE_OK ); |
| 68614 | + | |
| 68605 | 68615 | rc = sqlite3_backup_finish(&b); |
| 68606 | 68616 | if( rc==SQLITE_OK ){ |
| 68607 | 68617 | pTo->pBt->btsFlags &= ~BTS_PAGESIZE_FIXED; |
| 68618 | + }else{ | |
| 68619 | + sqlite3PagerClearCache(sqlite3BtreePager(b.pDest)); | |
| 68608 | 68620 | } |
| 68609 | 68621 | |
| 68610 | 68622 | assert( sqlite3BtreeIsInTrans(pTo)==0 ); |
| 68611 | 68623 | copy_finished: |
| 68612 | 68624 | sqlite3BtreeLeave(pFrom); |
| @@ -100390,10 +100402,17 @@ | ||
| 100390 | 100402 | for(pLoop=pTab->pIndex, n=1; pLoop; pLoop=pLoop->pNext, n++){} |
| 100391 | 100403 | zName = sqlite3MPrintf(db, "sqlite_autoindex_%s_%d", pTab->zName, n); |
| 100392 | 100404 | if( zName==0 ){ |
| 100393 | 100405 | goto exit_create_index; |
| 100394 | 100406 | } |
| 100407 | + | |
| 100408 | + /* Automatic index names generated from within sqlite3_declare_vtab() | |
| 100409 | + ** must have names that are distinct from normal automatic index names. | |
| 100410 | + ** The following statement converts "sqlite3_autoindex..." into | |
| 100411 | + ** "sqlite3_butoindex..." in order to make the names distinct. | |
| 100412 | + ** The "vtab_err.test" test demonstrates the need of this statement. */ | |
| 100413 | + if( IN_DECLARE_VTAB ) zName[7]++; | |
| 100395 | 100414 | } |
| 100396 | 100415 | |
| 100397 | 100416 | /* Check for authorization to create an index. |
| 100398 | 100417 | */ |
| 100399 | 100418 | #ifndef SQLITE_OMIT_AUTHORIZATION |
| @@ -122479,11 +122498,11 @@ | ||
| 122479 | 122498 | SQLITE_PRIVATE int sqlite3VtabCallDestroy(sqlite3 *db, int iDb, const char *zTab){ |
| 122480 | 122499 | int rc = SQLITE_OK; |
| 122481 | 122500 | Table *pTab; |
| 122482 | 122501 | |
| 122483 | 122502 | pTab = sqlite3FindTable(db, zTab, db->aDb[iDb].zName); |
| 122484 | - if( ALWAYS(pTab!=0 && pTab->pVTable!=0) ){ | |
| 122503 | + if( pTab!=0 && ALWAYS(pTab->pVTable!=0) ){ | |
| 122485 | 122504 | VTable *p; |
| 122486 | 122505 | int (*xDestroy)(sqlite3_vtab *); |
| 122487 | 122506 | for(p=pTab->pVTable; p; p=p->pNext){ |
| 122488 | 122507 | assert( p->pVtab ); |
| 122489 | 122508 | if( p->pVtab->nRef>0 ){ |
| @@ -177492,11 +177511,11 @@ | ||
| 177492 | 177511 | ** following structure. All structure methods must be defined, setting |
| 177493 | 177512 | ** any member of the fts5_tokenizer struct to NULL leads to undefined |
| 177494 | 177513 | ** behaviour. The structure methods are expected to function as follows: |
| 177495 | 177514 | ** |
| 177496 | 177515 | ** xCreate: |
| 177497 | -** This function is used to allocate and inititalize a tokenizer instance. | |
| 177516 | +** This function is used to allocate and initialize a tokenizer instance. | |
| 177498 | 177517 | ** A tokenizer instance is required to actually tokenize text. |
| 177499 | 177518 | ** |
| 177500 | 177519 | ** The first argument passed to this function is a copy of the (void*) |
| 177501 | 177520 | ** pointer provided by the application when the fts5_tokenizer object |
| 177502 | 177521 | ** was registered with FTS5 (the third argument to xCreateTokenizer()). |
| @@ -177751,11 +177770,10 @@ | ||
| 177751 | 177770 | #if 0 |
| 177752 | 177771 | } /* end of the 'extern "C"' block */ |
| 177753 | 177772 | #endif |
| 177754 | 177773 | |
| 177755 | 177774 | #endif /* _FTS5_H */ |
| 177756 | - | |
| 177757 | 177775 | |
| 177758 | 177776 | /* |
| 177759 | 177777 | ** 2014 May 31 |
| 177760 | 177778 | ** |
| 177761 | 177779 | ** The author disclaims copyright to this source code. In place of |
| @@ -193980,11 +193998,11 @@ | ||
| 193980 | 193998 | int nArg, /* Number of args */ |
| 193981 | 193999 | sqlite3_value **apUnused /* Function arguments */ |
| 193982 | 194000 | ){ |
| 193983 | 194001 | assert( nArg==0 ); |
| 193984 | 194002 | UNUSED_PARAM2(nArg, apUnused); |
| 193985 | - sqlite3_result_text(pCtx, "fts5: 2016-08-04 13:23:28 9adda385267d1a0ecff259b42a284913668441a2", -1, SQLITE_TRANSIENT); | |
| 194003 | + sqlite3_result_text(pCtx, "fts5: 2016-08-05 20:54:45 95578898835b933901603bd4d5e063f1219a016f", -1, SQLITE_TRANSIENT); | |
| 193986 | 194004 | } |
| 193987 | 194005 | |
| 193988 | 194006 | static int fts5Init(sqlite3 *db){ |
| 193989 | 194007 | static const sqlite3_module fts5Mod = { |
| 193990 | 194008 | /* iVersion */ 2, |
| 193991 | 194009 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -380,11 +380,11 @@ | |
| 380 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 381 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 382 | */ |
| 383 | #define SQLITE_VERSION "3.14.0" |
| 384 | #define SQLITE_VERSION_NUMBER 3014000 |
| 385 | #define SQLITE_SOURCE_ID "2016-08-04 13:23:28 9adda385267d1a0ecff259b42a284913668441a2" |
| 386 | |
| 387 | /* |
| 388 | ** CAPI3REF: Run-Time Library Version Numbers |
| 389 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 390 | ** |
| @@ -2217,11 +2217,11 @@ | |
| 2217 | ** interface independently of the [load_extension()] SQL function. |
| 2218 | ** The [sqlite3_enable_load_extension()] API enables or disables both the |
| 2219 | ** C-API [sqlite3_load_extension()] and the SQL function [load_extension()]. |
| 2220 | ** There should be two additional arguments. |
| 2221 | ** When the first argument to this interface is 1, then only the C-API is |
| 2222 | ** enabled and the SQL function remains disabled. If the first argment to |
| 2223 | ** this interface is 0, then both the C-API and the SQL function are disabled. |
| 2224 | ** If the first argument is -1, then no changes are made to state of either the |
| 2225 | ** C-API or the SQL function. |
| 2226 | ** The second parameter is a pointer to an integer into which |
| 2227 | ** is written 0 or 1 to indicate whether [sqlite3_load_extension()] interface |
| @@ -5795,11 +5795,11 @@ | |
| 5795 | ** interface returns SQLITE_OK and fills in the non-NULL pointers in |
| 5796 | ** the final five arguments with appropriate values if the specified |
| 5797 | ** column exists. ^The sqlite3_table_column_metadata() interface returns |
| 5798 | ** SQLITE_ERROR and if the specified column does not exist. |
| 5799 | ** ^If the column-name parameter to sqlite3_table_column_metadata() is a |
| 5800 | ** NULL pointer, then this routine simply checks for the existance of the |
| 5801 | ** table and returns SQLITE_OK if the table exists and SQLITE_ERROR if it |
| 5802 | ** does not. |
| 5803 | ** |
| 5804 | ** ^The column is identified by the second, third and fourth parameters to |
| 5805 | ** this function. ^(The second parameter is either the name of the database |
| @@ -8390,11 +8390,11 @@ | |
| 8390 | ** tables. |
| 8391 | ** |
| 8392 | ** ^The second parameter to the preupdate callback is a pointer to |
| 8393 | ** the [database connection] that registered the preupdate hook. |
| 8394 | ** ^The third parameter to the preupdate callback is one of the constants |
| 8395 | ** [SQLITE_INSERT], [SQLITE_DELETE], or [SQLITE_UPDATE] to indentify the |
| 8396 | ** kind of update operation that is about to occur. |
| 8397 | ** ^(The fourth parameter to the preupdate callback is the name of the |
| 8398 | ** database within the database connection that is being modified. This |
| 8399 | ** will be "main" for the main database or "temp" for TEMP tables or |
| 8400 | ** the name given after the AS keyword in the [ATTACH] statement for attached |
| @@ -10337,11 +10337,11 @@ | |
| 10337 | ** following structure. All structure methods must be defined, setting |
| 10338 | ** any member of the fts5_tokenizer struct to NULL leads to undefined |
| 10339 | ** behaviour. The structure methods are expected to function as follows: |
| 10340 | ** |
| 10341 | ** xCreate: |
| 10342 | ** This function is used to allocate and inititalize a tokenizer instance. |
| 10343 | ** A tokenizer instance is required to actually tokenize text. |
| 10344 | ** |
| 10345 | ** The first argument passed to this function is a copy of the (void*) |
| 10346 | ** pointer provided by the application when the fts5_tokenizer object |
| 10347 | ** was registered with FTS5 (the third argument to xCreateTokenizer()). |
| @@ -10596,11 +10596,10 @@ | |
| 10596 | #if 0 |
| 10597 | } /* end of the 'extern "C"' block */ |
| 10598 | #endif |
| 10599 | |
| 10600 | #endif /* _FTS5_H */ |
| 10601 | |
| 10602 | |
| 10603 | /******** End of fts5.h *********/ |
| 10604 | |
| 10605 | /************** End of sqlite3.h *********************************************/ |
| 10606 | /************** Continuing where we left off in sqliteInt.h ******************/ |
| @@ -13084,10 +13083,11 @@ | |
| 13084 | SQLITE_PRIVATE sqlite3_file *sqlite3PagerJrnlFile(Pager*); |
| 13085 | SQLITE_PRIVATE const char *sqlite3PagerJournalname(Pager*); |
| 13086 | SQLITE_PRIVATE void *sqlite3PagerTempSpace(Pager*); |
| 13087 | SQLITE_PRIVATE int sqlite3PagerIsMemdb(Pager*); |
| 13088 | SQLITE_PRIVATE void sqlite3PagerCacheStat(Pager *, int, int, int *); |
| 13089 | SQLITE_PRIVATE int sqlite3SectorSize(sqlite3_file *); |
| 13090 | |
| 13091 | /* Functions used to truncate the database file. */ |
| 13092 | SQLITE_PRIVATE void sqlite3PagerTruncateImage(Pager*,Pgno); |
| 13093 | |
| @@ -53411,10 +53411,21 @@ | |
| 53411 | ** sqlite3BackupUpdate() only. |
| 53412 | */ |
| 53413 | SQLITE_PRIVATE sqlite3_backup **sqlite3PagerBackupPtr(Pager *pPager){ |
| 53414 | return &pPager->pBackup; |
| 53415 | } |
| 53416 | |
| 53417 | #ifndef SQLITE_OMIT_WAL |
| 53418 | /* |
| 53419 | ** This function is called when the user invokes "PRAGMA wal_checkpoint", |
| 53420 | ** "PRAGMA wal_blocking_checkpoint" or calls the sqlite3_wal_checkpoint() |
| @@ -53636,11 +53647,10 @@ | |
| 53636 | SQLITE_PRIVATE int sqlite3PagerWalFramesize(Pager *pPager){ |
| 53637 | assert( pPager->eState>=PAGER_READER ); |
| 53638 | return sqlite3WalFramesize(pPager->pWal); |
| 53639 | } |
| 53640 | #endif |
| 53641 | |
| 53642 | |
| 53643 | #endif /* SQLITE_OMIT_DISKIO */ |
| 53644 | |
| 53645 | /************** End of pager.c ***********************************************/ |
| 53646 | /************** Begin file wal.c *********************************************/ |
| @@ -68596,17 +68606,19 @@ | |
| 68596 | /* 0x7FFFFFFF is the hard limit for the number of pages in a database |
| 68597 | ** file. By passing this as the number of pages to copy to |
| 68598 | ** sqlite3_backup_step(), we can guarantee that the copy finishes |
| 68599 | ** within a single call (unless an error occurs). The assert() statement |
| 68600 | ** checks this assumption - (p->rc) should be set to either SQLITE_DONE |
| 68601 | ** or an error code. |
| 68602 | */ |
| 68603 | sqlite3_backup_step(&b, 0x7FFFFFFF); |
| 68604 | assert( b.rc!=SQLITE_OK ); |
| 68605 | rc = sqlite3_backup_finish(&b); |
| 68606 | if( rc==SQLITE_OK ){ |
| 68607 | pTo->pBt->btsFlags &= ~BTS_PAGESIZE_FIXED; |
| 68608 | } |
| 68609 | |
| 68610 | assert( sqlite3BtreeIsInTrans(pTo)==0 ); |
| 68611 | copy_finished: |
| 68612 | sqlite3BtreeLeave(pFrom); |
| @@ -100390,10 +100402,17 @@ | |
| 100390 | for(pLoop=pTab->pIndex, n=1; pLoop; pLoop=pLoop->pNext, n++){} |
| 100391 | zName = sqlite3MPrintf(db, "sqlite_autoindex_%s_%d", pTab->zName, n); |
| 100392 | if( zName==0 ){ |
| 100393 | goto exit_create_index; |
| 100394 | } |
| 100395 | } |
| 100396 | |
| 100397 | /* Check for authorization to create an index. |
| 100398 | */ |
| 100399 | #ifndef SQLITE_OMIT_AUTHORIZATION |
| @@ -122479,11 +122498,11 @@ | |
| 122479 | SQLITE_PRIVATE int sqlite3VtabCallDestroy(sqlite3 *db, int iDb, const char *zTab){ |
| 122480 | int rc = SQLITE_OK; |
| 122481 | Table *pTab; |
| 122482 | |
| 122483 | pTab = sqlite3FindTable(db, zTab, db->aDb[iDb].zName); |
| 122484 | if( ALWAYS(pTab!=0 && pTab->pVTable!=0) ){ |
| 122485 | VTable *p; |
| 122486 | int (*xDestroy)(sqlite3_vtab *); |
| 122487 | for(p=pTab->pVTable; p; p=p->pNext){ |
| 122488 | assert( p->pVtab ); |
| 122489 | if( p->pVtab->nRef>0 ){ |
| @@ -177492,11 +177511,11 @@ | |
| 177492 | ** following structure. All structure methods must be defined, setting |
| 177493 | ** any member of the fts5_tokenizer struct to NULL leads to undefined |
| 177494 | ** behaviour. The structure methods are expected to function as follows: |
| 177495 | ** |
| 177496 | ** xCreate: |
| 177497 | ** This function is used to allocate and inititalize a tokenizer instance. |
| 177498 | ** A tokenizer instance is required to actually tokenize text. |
| 177499 | ** |
| 177500 | ** The first argument passed to this function is a copy of the (void*) |
| 177501 | ** pointer provided by the application when the fts5_tokenizer object |
| 177502 | ** was registered with FTS5 (the third argument to xCreateTokenizer()). |
| @@ -177751,11 +177770,10 @@ | |
| 177751 | #if 0 |
| 177752 | } /* end of the 'extern "C"' block */ |
| 177753 | #endif |
| 177754 | |
| 177755 | #endif /* _FTS5_H */ |
| 177756 | |
| 177757 | |
| 177758 | /* |
| 177759 | ** 2014 May 31 |
| 177760 | ** |
| 177761 | ** The author disclaims copyright to this source code. In place of |
| @@ -193980,11 +193998,11 @@ | |
| 193980 | int nArg, /* Number of args */ |
| 193981 | sqlite3_value **apUnused /* Function arguments */ |
| 193982 | ){ |
| 193983 | assert( nArg==0 ); |
| 193984 | UNUSED_PARAM2(nArg, apUnused); |
| 193985 | sqlite3_result_text(pCtx, "fts5: 2016-08-04 13:23:28 9adda385267d1a0ecff259b42a284913668441a2", -1, SQLITE_TRANSIENT); |
| 193986 | } |
| 193987 | |
| 193988 | static int fts5Init(sqlite3 *db){ |
| 193989 | static const sqlite3_module fts5Mod = { |
| 193990 | /* iVersion */ 2, |
| 193991 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -380,11 +380,11 @@ | |
| 380 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 381 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 382 | */ |
| 383 | #define SQLITE_VERSION "3.14.0" |
| 384 | #define SQLITE_VERSION_NUMBER 3014000 |
| 385 | #define SQLITE_SOURCE_ID "2016-08-08 13:40:27 d5e98057028abcf7217d0d2b2e29bbbcdf09d6de" |
| 386 | |
| 387 | /* |
| 388 | ** CAPI3REF: Run-Time Library Version Numbers |
| 389 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 390 | ** |
| @@ -2217,11 +2217,11 @@ | |
| 2217 | ** interface independently of the [load_extension()] SQL function. |
| 2218 | ** The [sqlite3_enable_load_extension()] API enables or disables both the |
| 2219 | ** C-API [sqlite3_load_extension()] and the SQL function [load_extension()]. |
| 2220 | ** There should be two additional arguments. |
| 2221 | ** When the first argument to this interface is 1, then only the C-API is |
| 2222 | ** enabled and the SQL function remains disabled. If the first argument to |
| 2223 | ** this interface is 0, then both the C-API and the SQL function are disabled. |
| 2224 | ** If the first argument is -1, then no changes are made to state of either the |
| 2225 | ** C-API or the SQL function. |
| 2226 | ** The second parameter is a pointer to an integer into which |
| 2227 | ** is written 0 or 1 to indicate whether [sqlite3_load_extension()] interface |
| @@ -5795,11 +5795,11 @@ | |
| 5795 | ** interface returns SQLITE_OK and fills in the non-NULL pointers in |
| 5796 | ** the final five arguments with appropriate values if the specified |
| 5797 | ** column exists. ^The sqlite3_table_column_metadata() interface returns |
| 5798 | ** SQLITE_ERROR and if the specified column does not exist. |
| 5799 | ** ^If the column-name parameter to sqlite3_table_column_metadata() is a |
| 5800 | ** NULL pointer, then this routine simply checks for the existence of the |
| 5801 | ** table and returns SQLITE_OK if the table exists and SQLITE_ERROR if it |
| 5802 | ** does not. |
| 5803 | ** |
| 5804 | ** ^The column is identified by the second, third and fourth parameters to |
| 5805 | ** this function. ^(The second parameter is either the name of the database |
| @@ -8390,11 +8390,11 @@ | |
| 8390 | ** tables. |
| 8391 | ** |
| 8392 | ** ^The second parameter to the preupdate callback is a pointer to |
| 8393 | ** the [database connection] that registered the preupdate hook. |
| 8394 | ** ^The third parameter to the preupdate callback is one of the constants |
| 8395 | ** [SQLITE_INSERT], [SQLITE_DELETE], or [SQLITE_UPDATE] to identify the |
| 8396 | ** kind of update operation that is about to occur. |
| 8397 | ** ^(The fourth parameter to the preupdate callback is the name of the |
| 8398 | ** database within the database connection that is being modified. This |
| 8399 | ** will be "main" for the main database or "temp" for TEMP tables or |
| 8400 | ** the name given after the AS keyword in the [ATTACH] statement for attached |
| @@ -10337,11 +10337,11 @@ | |
| 10337 | ** following structure. All structure methods must be defined, setting |
| 10338 | ** any member of the fts5_tokenizer struct to NULL leads to undefined |
| 10339 | ** behaviour. The structure methods are expected to function as follows: |
| 10340 | ** |
| 10341 | ** xCreate: |
| 10342 | ** This function is used to allocate and initialize a tokenizer instance. |
| 10343 | ** A tokenizer instance is required to actually tokenize text. |
| 10344 | ** |
| 10345 | ** The first argument passed to this function is a copy of the (void*) |
| 10346 | ** pointer provided by the application when the fts5_tokenizer object |
| 10347 | ** was registered with FTS5 (the third argument to xCreateTokenizer()). |
| @@ -10596,11 +10596,10 @@ | |
| 10596 | #if 0 |
| 10597 | } /* end of the 'extern "C"' block */ |
| 10598 | #endif |
| 10599 | |
| 10600 | #endif /* _FTS5_H */ |
| 10601 | |
| 10602 | /******** End of fts5.h *********/ |
| 10603 | |
| 10604 | /************** End of sqlite3.h *********************************************/ |
| 10605 | /************** Continuing where we left off in sqliteInt.h ******************/ |
| @@ -13084,10 +13083,11 @@ | |
| 13083 | SQLITE_PRIVATE sqlite3_file *sqlite3PagerJrnlFile(Pager*); |
| 13084 | SQLITE_PRIVATE const char *sqlite3PagerJournalname(Pager*); |
| 13085 | SQLITE_PRIVATE void *sqlite3PagerTempSpace(Pager*); |
| 13086 | SQLITE_PRIVATE int sqlite3PagerIsMemdb(Pager*); |
| 13087 | SQLITE_PRIVATE void sqlite3PagerCacheStat(Pager *, int, int, int *); |
| 13088 | SQLITE_PRIVATE void sqlite3PagerClearCache(Pager*); |
| 13089 | SQLITE_PRIVATE int sqlite3SectorSize(sqlite3_file *); |
| 13090 | |
| 13091 | /* Functions used to truncate the database file. */ |
| 13092 | SQLITE_PRIVATE void sqlite3PagerTruncateImage(Pager*,Pgno); |
| 13093 | |
| @@ -53411,10 +53411,21 @@ | |
| 53411 | ** sqlite3BackupUpdate() only. |
| 53412 | */ |
| 53413 | SQLITE_PRIVATE sqlite3_backup **sqlite3PagerBackupPtr(Pager *pPager){ |
| 53414 | return &pPager->pBackup; |
| 53415 | } |
| 53416 | |
| 53417 | #ifndef SQLITE_OMIT_VACUUM |
| 53418 | /* |
| 53419 | ** Unless this is an in-memory or temporary database, clear the pager cache. |
| 53420 | */ |
| 53421 | SQLITE_PRIVATE void sqlite3PagerClearCache(Pager *pPager){ |
| 53422 | assert( MEMDB==0 || pPager->tempFile ); |
| 53423 | if( pPager->tempFile==0 ) pager_reset(pPager); |
| 53424 | } |
| 53425 | #endif |
| 53426 | |
| 53427 | |
| 53428 | #ifndef SQLITE_OMIT_WAL |
| 53429 | /* |
| 53430 | ** This function is called when the user invokes "PRAGMA wal_checkpoint", |
| 53431 | ** "PRAGMA wal_blocking_checkpoint" or calls the sqlite3_wal_checkpoint() |
| @@ -53636,11 +53647,10 @@ | |
| 53647 | SQLITE_PRIVATE int sqlite3PagerWalFramesize(Pager *pPager){ |
| 53648 | assert( pPager->eState>=PAGER_READER ); |
| 53649 | return sqlite3WalFramesize(pPager->pWal); |
| 53650 | } |
| 53651 | #endif |
| 53652 | |
| 53653 | #endif /* SQLITE_OMIT_DISKIO */ |
| 53654 | |
| 53655 | /************** End of pager.c ***********************************************/ |
| 53656 | /************** Begin file wal.c *********************************************/ |
| @@ -68596,17 +68606,19 @@ | |
| 68606 | /* 0x7FFFFFFF is the hard limit for the number of pages in a database |
| 68607 | ** file. By passing this as the number of pages to copy to |
| 68608 | ** sqlite3_backup_step(), we can guarantee that the copy finishes |
| 68609 | ** within a single call (unless an error occurs). The assert() statement |
| 68610 | ** checks this assumption - (p->rc) should be set to either SQLITE_DONE |
| 68611 | ** or an error code. */ |
| 68612 | sqlite3_backup_step(&b, 0x7FFFFFFF); |
| 68613 | assert( b.rc!=SQLITE_OK ); |
| 68614 | |
| 68615 | rc = sqlite3_backup_finish(&b); |
| 68616 | if( rc==SQLITE_OK ){ |
| 68617 | pTo->pBt->btsFlags &= ~BTS_PAGESIZE_FIXED; |
| 68618 | }else{ |
| 68619 | sqlite3PagerClearCache(sqlite3BtreePager(b.pDest)); |
| 68620 | } |
| 68621 | |
| 68622 | assert( sqlite3BtreeIsInTrans(pTo)==0 ); |
| 68623 | copy_finished: |
| 68624 | sqlite3BtreeLeave(pFrom); |
| @@ -100390,10 +100402,17 @@ | |
| 100402 | for(pLoop=pTab->pIndex, n=1; pLoop; pLoop=pLoop->pNext, n++){} |
| 100403 | zName = sqlite3MPrintf(db, "sqlite_autoindex_%s_%d", pTab->zName, n); |
| 100404 | if( zName==0 ){ |
| 100405 | goto exit_create_index; |
| 100406 | } |
| 100407 | |
| 100408 | /* Automatic index names generated from within sqlite3_declare_vtab() |
| 100409 | ** must have names that are distinct from normal automatic index names. |
| 100410 | ** The following statement converts "sqlite3_autoindex..." into |
| 100411 | ** "sqlite3_butoindex..." in order to make the names distinct. |
| 100412 | ** The "vtab_err.test" test demonstrates the need of this statement. */ |
| 100413 | if( IN_DECLARE_VTAB ) zName[7]++; |
| 100414 | } |
| 100415 | |
| 100416 | /* Check for authorization to create an index. |
| 100417 | */ |
| 100418 | #ifndef SQLITE_OMIT_AUTHORIZATION |
| @@ -122479,11 +122498,11 @@ | |
| 122498 | SQLITE_PRIVATE int sqlite3VtabCallDestroy(sqlite3 *db, int iDb, const char *zTab){ |
| 122499 | int rc = SQLITE_OK; |
| 122500 | Table *pTab; |
| 122501 | |
| 122502 | pTab = sqlite3FindTable(db, zTab, db->aDb[iDb].zName); |
| 122503 | if( pTab!=0 && ALWAYS(pTab->pVTable!=0) ){ |
| 122504 | VTable *p; |
| 122505 | int (*xDestroy)(sqlite3_vtab *); |
| 122506 | for(p=pTab->pVTable; p; p=p->pNext){ |
| 122507 | assert( p->pVtab ); |
| 122508 | if( p->pVtab->nRef>0 ){ |
| @@ -177492,11 +177511,11 @@ | |
| 177511 | ** following structure. All structure methods must be defined, setting |
| 177512 | ** any member of the fts5_tokenizer struct to NULL leads to undefined |
| 177513 | ** behaviour. The structure methods are expected to function as follows: |
| 177514 | ** |
| 177515 | ** xCreate: |
| 177516 | ** This function is used to allocate and initialize a tokenizer instance. |
| 177517 | ** A tokenizer instance is required to actually tokenize text. |
| 177518 | ** |
| 177519 | ** The first argument passed to this function is a copy of the (void*) |
| 177520 | ** pointer provided by the application when the fts5_tokenizer object |
| 177521 | ** was registered with FTS5 (the third argument to xCreateTokenizer()). |
| @@ -177751,11 +177770,10 @@ | |
| 177770 | #if 0 |
| 177771 | } /* end of the 'extern "C"' block */ |
| 177772 | #endif |
| 177773 | |
| 177774 | #endif /* _FTS5_H */ |
| 177775 | |
| 177776 | /* |
| 177777 | ** 2014 May 31 |
| 177778 | ** |
| 177779 | ** The author disclaims copyright to this source code. In place of |
| @@ -193980,11 +193998,11 @@ | |
| 193998 | int nArg, /* Number of args */ |
| 193999 | sqlite3_value **apUnused /* Function arguments */ |
| 194000 | ){ |
| 194001 | assert( nArg==0 ); |
| 194002 | UNUSED_PARAM2(nArg, apUnused); |
| 194003 | sqlite3_result_text(pCtx, "fts5: 2016-08-05 20:54:45 95578898835b933901603bd4d5e063f1219a016f", -1, SQLITE_TRANSIENT); |
| 194004 | } |
| 194005 | |
| 194006 | static int fts5Init(sqlite3 *db){ |
| 194007 | static const sqlite3_module fts5Mod = { |
| 194008 | /* iVersion */ 2, |
| 194009 |
+5
-6
| --- src/sqlite3.h | ||
| +++ src/sqlite3.h | ||
| @@ -120,11 +120,11 @@ | ||
| 120 | 120 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 121 | 121 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 122 | 122 | */ |
| 123 | 123 | #define SQLITE_VERSION "3.14.0" |
| 124 | 124 | #define SQLITE_VERSION_NUMBER 3014000 |
| 125 | -#define SQLITE_SOURCE_ID "2016-08-04 13:23:28 9adda385267d1a0ecff259b42a284913668441a2" | |
| 125 | +#define SQLITE_SOURCE_ID "2016-08-08 13:40:27 d5e98057028abcf7217d0d2b2e29bbbcdf09d6de" | |
| 126 | 126 | |
| 127 | 127 | /* |
| 128 | 128 | ** CAPI3REF: Run-Time Library Version Numbers |
| 129 | 129 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 130 | 130 | ** |
| @@ -1957,11 +1957,11 @@ | ||
| 1957 | 1957 | ** interface independently of the [load_extension()] SQL function. |
| 1958 | 1958 | ** The [sqlite3_enable_load_extension()] API enables or disables both the |
| 1959 | 1959 | ** C-API [sqlite3_load_extension()] and the SQL function [load_extension()]. |
| 1960 | 1960 | ** There should be two additional arguments. |
| 1961 | 1961 | ** When the first argument to this interface is 1, then only the C-API is |
| 1962 | -** enabled and the SQL function remains disabled. If the first argment to | |
| 1962 | +** enabled and the SQL function remains disabled. If the first argument to | |
| 1963 | 1963 | ** this interface is 0, then both the C-API and the SQL function are disabled. |
| 1964 | 1964 | ** If the first argument is -1, then no changes are made to state of either the |
| 1965 | 1965 | ** C-API or the SQL function. |
| 1966 | 1966 | ** The second parameter is a pointer to an integer into which |
| 1967 | 1967 | ** is written 0 or 1 to indicate whether [sqlite3_load_extension()] interface |
| @@ -5535,11 +5535,11 @@ | ||
| 5535 | 5535 | ** interface returns SQLITE_OK and fills in the non-NULL pointers in |
| 5536 | 5536 | ** the final five arguments with appropriate values if the specified |
| 5537 | 5537 | ** column exists. ^The sqlite3_table_column_metadata() interface returns |
| 5538 | 5538 | ** SQLITE_ERROR and if the specified column does not exist. |
| 5539 | 5539 | ** ^If the column-name parameter to sqlite3_table_column_metadata() is a |
| 5540 | -** NULL pointer, then this routine simply checks for the existance of the | |
| 5540 | +** NULL pointer, then this routine simply checks for the existence of the | |
| 5541 | 5541 | ** table and returns SQLITE_OK if the table exists and SQLITE_ERROR if it |
| 5542 | 5542 | ** does not. |
| 5543 | 5543 | ** |
| 5544 | 5544 | ** ^The column is identified by the second, third and fourth parameters to |
| 5545 | 5545 | ** this function. ^(The second parameter is either the name of the database |
| @@ -8130,11 +8130,11 @@ | ||
| 8130 | 8130 | ** tables. |
| 8131 | 8131 | ** |
| 8132 | 8132 | ** ^The second parameter to the preupdate callback is a pointer to |
| 8133 | 8133 | ** the [database connection] that registered the preupdate hook. |
| 8134 | 8134 | ** ^The third parameter to the preupdate callback is one of the constants |
| 8135 | -** [SQLITE_INSERT], [SQLITE_DELETE], or [SQLITE_UPDATE] to indentify the | |
| 8135 | +** [SQLITE_INSERT], [SQLITE_DELETE], or [SQLITE_UPDATE] to identify the | |
| 8136 | 8136 | ** kind of update operation that is about to occur. |
| 8137 | 8137 | ** ^(The fourth parameter to the preupdate callback is the name of the |
| 8138 | 8138 | ** database within the database connection that is being modified. This |
| 8139 | 8139 | ** will be "main" for the main database or "temp" for TEMP tables or |
| 8140 | 8140 | ** the name given after the AS keyword in the [ATTACH] statement for attached |
| @@ -10077,11 +10077,11 @@ | ||
| 10077 | 10077 | ** following structure. All structure methods must be defined, setting |
| 10078 | 10078 | ** any member of the fts5_tokenizer struct to NULL leads to undefined |
| 10079 | 10079 | ** behaviour. The structure methods are expected to function as follows: |
| 10080 | 10080 | ** |
| 10081 | 10081 | ** xCreate: |
| 10082 | -** This function is used to allocate and inititalize a tokenizer instance. | |
| 10082 | +** This function is used to allocate and initialize a tokenizer instance. | |
| 10083 | 10083 | ** A tokenizer instance is required to actually tokenize text. |
| 10084 | 10084 | ** |
| 10085 | 10085 | ** The first argument passed to this function is a copy of the (void*) |
| 10086 | 10086 | ** pointer provided by the application when the fts5_tokenizer object |
| 10087 | 10087 | ** was registered with FTS5 (the third argument to xCreateTokenizer()). |
| @@ -10336,8 +10336,7 @@ | ||
| 10336 | 10336 | #ifdef __cplusplus |
| 10337 | 10337 | } /* end of the 'extern "C"' block */ |
| 10338 | 10338 | #endif |
| 10339 | 10339 | |
| 10340 | 10340 | #endif /* _FTS5_H */ |
| 10341 | - | |
| 10342 | 10341 | |
| 10343 | 10342 | /******** End of fts5.h *********/ |
| 10344 | 10343 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -120,11 +120,11 @@ | |
| 120 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 121 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 122 | */ |
| 123 | #define SQLITE_VERSION "3.14.0" |
| 124 | #define SQLITE_VERSION_NUMBER 3014000 |
| 125 | #define SQLITE_SOURCE_ID "2016-08-04 13:23:28 9adda385267d1a0ecff259b42a284913668441a2" |
| 126 | |
| 127 | /* |
| 128 | ** CAPI3REF: Run-Time Library Version Numbers |
| 129 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 130 | ** |
| @@ -1957,11 +1957,11 @@ | |
| 1957 | ** interface independently of the [load_extension()] SQL function. |
| 1958 | ** The [sqlite3_enable_load_extension()] API enables or disables both the |
| 1959 | ** C-API [sqlite3_load_extension()] and the SQL function [load_extension()]. |
| 1960 | ** There should be two additional arguments. |
| 1961 | ** When the first argument to this interface is 1, then only the C-API is |
| 1962 | ** enabled and the SQL function remains disabled. If the first argment to |
| 1963 | ** this interface is 0, then both the C-API and the SQL function are disabled. |
| 1964 | ** If the first argument is -1, then no changes are made to state of either the |
| 1965 | ** C-API or the SQL function. |
| 1966 | ** The second parameter is a pointer to an integer into which |
| 1967 | ** is written 0 or 1 to indicate whether [sqlite3_load_extension()] interface |
| @@ -5535,11 +5535,11 @@ | |
| 5535 | ** interface returns SQLITE_OK and fills in the non-NULL pointers in |
| 5536 | ** the final five arguments with appropriate values if the specified |
| 5537 | ** column exists. ^The sqlite3_table_column_metadata() interface returns |
| 5538 | ** SQLITE_ERROR and if the specified column does not exist. |
| 5539 | ** ^If the column-name parameter to sqlite3_table_column_metadata() is a |
| 5540 | ** NULL pointer, then this routine simply checks for the existance of the |
| 5541 | ** table and returns SQLITE_OK if the table exists and SQLITE_ERROR if it |
| 5542 | ** does not. |
| 5543 | ** |
| 5544 | ** ^The column is identified by the second, third and fourth parameters to |
| 5545 | ** this function. ^(The second parameter is either the name of the database |
| @@ -8130,11 +8130,11 @@ | |
| 8130 | ** tables. |
| 8131 | ** |
| 8132 | ** ^The second parameter to the preupdate callback is a pointer to |
| 8133 | ** the [database connection] that registered the preupdate hook. |
| 8134 | ** ^The third parameter to the preupdate callback is one of the constants |
| 8135 | ** [SQLITE_INSERT], [SQLITE_DELETE], or [SQLITE_UPDATE] to indentify the |
| 8136 | ** kind of update operation that is about to occur. |
| 8137 | ** ^(The fourth parameter to the preupdate callback is the name of the |
| 8138 | ** database within the database connection that is being modified. This |
| 8139 | ** will be "main" for the main database or "temp" for TEMP tables or |
| 8140 | ** the name given after the AS keyword in the [ATTACH] statement for attached |
| @@ -10077,11 +10077,11 @@ | |
| 10077 | ** following structure. All structure methods must be defined, setting |
| 10078 | ** any member of the fts5_tokenizer struct to NULL leads to undefined |
| 10079 | ** behaviour. The structure methods are expected to function as follows: |
| 10080 | ** |
| 10081 | ** xCreate: |
| 10082 | ** This function is used to allocate and inititalize a tokenizer instance. |
| 10083 | ** A tokenizer instance is required to actually tokenize text. |
| 10084 | ** |
| 10085 | ** The first argument passed to this function is a copy of the (void*) |
| 10086 | ** pointer provided by the application when the fts5_tokenizer object |
| 10087 | ** was registered with FTS5 (the third argument to xCreateTokenizer()). |
| @@ -10336,8 +10336,7 @@ | |
| 10336 | #ifdef __cplusplus |
| 10337 | } /* end of the 'extern "C"' block */ |
| 10338 | #endif |
| 10339 | |
| 10340 | #endif /* _FTS5_H */ |
| 10341 | |
| 10342 | |
| 10343 | /******** End of fts5.h *********/ |
| 10344 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -120,11 +120,11 @@ | |
| 120 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 121 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 122 | */ |
| 123 | #define SQLITE_VERSION "3.14.0" |
| 124 | #define SQLITE_VERSION_NUMBER 3014000 |
| 125 | #define SQLITE_SOURCE_ID "2016-08-08 13:40:27 d5e98057028abcf7217d0d2b2e29bbbcdf09d6de" |
| 126 | |
| 127 | /* |
| 128 | ** CAPI3REF: Run-Time Library Version Numbers |
| 129 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 130 | ** |
| @@ -1957,11 +1957,11 @@ | |
| 1957 | ** interface independently of the [load_extension()] SQL function. |
| 1958 | ** The [sqlite3_enable_load_extension()] API enables or disables both the |
| 1959 | ** C-API [sqlite3_load_extension()] and the SQL function [load_extension()]. |
| 1960 | ** There should be two additional arguments. |
| 1961 | ** When the first argument to this interface is 1, then only the C-API is |
| 1962 | ** enabled and the SQL function remains disabled. If the first argument to |
| 1963 | ** this interface is 0, then both the C-API and the SQL function are disabled. |
| 1964 | ** If the first argument is -1, then no changes are made to state of either the |
| 1965 | ** C-API or the SQL function. |
| 1966 | ** The second parameter is a pointer to an integer into which |
| 1967 | ** is written 0 or 1 to indicate whether [sqlite3_load_extension()] interface |
| @@ -5535,11 +5535,11 @@ | |
| 5535 | ** interface returns SQLITE_OK and fills in the non-NULL pointers in |
| 5536 | ** the final five arguments with appropriate values if the specified |
| 5537 | ** column exists. ^The sqlite3_table_column_metadata() interface returns |
| 5538 | ** SQLITE_ERROR and if the specified column does not exist. |
| 5539 | ** ^If the column-name parameter to sqlite3_table_column_metadata() is a |
| 5540 | ** NULL pointer, then this routine simply checks for the existence of the |
| 5541 | ** table and returns SQLITE_OK if the table exists and SQLITE_ERROR if it |
| 5542 | ** does not. |
| 5543 | ** |
| 5544 | ** ^The column is identified by the second, third and fourth parameters to |
| 5545 | ** this function. ^(The second parameter is either the name of the database |
| @@ -8130,11 +8130,11 @@ | |
| 8130 | ** tables. |
| 8131 | ** |
| 8132 | ** ^The second parameter to the preupdate callback is a pointer to |
| 8133 | ** the [database connection] that registered the preupdate hook. |
| 8134 | ** ^The third parameter to the preupdate callback is one of the constants |
| 8135 | ** [SQLITE_INSERT], [SQLITE_DELETE], or [SQLITE_UPDATE] to identify the |
| 8136 | ** kind of update operation that is about to occur. |
| 8137 | ** ^(The fourth parameter to the preupdate callback is the name of the |
| 8138 | ** database within the database connection that is being modified. This |
| 8139 | ** will be "main" for the main database or "temp" for TEMP tables or |
| 8140 | ** the name given after the AS keyword in the [ATTACH] statement for attached |
| @@ -10077,11 +10077,11 @@ | |
| 10077 | ** following structure. All structure methods must be defined, setting |
| 10078 | ** any member of the fts5_tokenizer struct to NULL leads to undefined |
| 10079 | ** behaviour. The structure methods are expected to function as follows: |
| 10080 | ** |
| 10081 | ** xCreate: |
| 10082 | ** This function is used to allocate and initialize a tokenizer instance. |
| 10083 | ** A tokenizer instance is required to actually tokenize text. |
| 10084 | ** |
| 10085 | ** The first argument passed to this function is a copy of the (void*) |
| 10086 | ** pointer provided by the application when the fts5_tokenizer object |
| 10087 | ** was registered with FTS5 (the third argument to xCreateTokenizer()). |
| @@ -10336,8 +10336,7 @@ | |
| 10336 | #ifdef __cplusplus |
| 10337 | } /* end of the 'extern "C"' block */ |
| 10338 | #endif |
| 10339 | |
| 10340 | #endif /* _FTS5_H */ |
| 10341 | |
| 10342 | /******** End of fts5.h *********/ |
| 10343 |