Fossil SCM
Update the built-in SQLite version to 3.6.14.2.
Commit
d21b90e365b5eb98b9c78b07bf5bba4f250bbe4d
Parent
3b76c0474e3386a…
2 files changed
+21
-5
+1
-1
+21
-5
| --- src/sqlite3.c | ||
| +++ src/sqlite3.c | ||
| @@ -1,8 +1,8 @@ | ||
| 1 | 1 | /****************************************************************************** |
| 2 | 2 | ** This file is an amalgamation of many separate C source files from SQLite |
| 3 | -** version 3.6.14.1. By combining all the individual C code files into this | |
| 3 | +** version 3.6.14.2. By combining all the individual C code files into this | |
| 4 | 4 | ** single large file, the entire code can be compiled as a one translation |
| 5 | 5 | ** unit. This allows many compilers to do optimizations that would not be |
| 6 | 6 | ** possible if the files were compiled separately. Performance improvements |
| 7 | 7 | ** of 5% are more are commonly seen when SQLite is compiled as a single |
| 8 | 8 | ** translation unit. |
| @@ -15,11 +15,11 @@ | ||
| 15 | 15 | ** needed if you want a wrapper to interface SQLite with your choice of |
| 16 | 16 | ** programming language. The code for the "sqlite3" command-line shell |
| 17 | 17 | ** is also in a separate file. This file contains only code for the core |
| 18 | 18 | ** SQLite library. |
| 19 | 19 | ** |
| 20 | -** This amalgamation was generated on 2009-05-18 17:12:46 UTC. | |
| 20 | +** This amalgamation was generated on 2009-05-25 12:34:31 UTC. | |
| 21 | 21 | */ |
| 22 | 22 | #define SQLITE_CORE 1 |
| 23 | 23 | #define SQLITE_AMALGAMATION 1 |
| 24 | 24 | #ifndef SQLITE_PRIVATE |
| 25 | 25 | # define SQLITE_PRIVATE static |
| @@ -599,11 +599,11 @@ | ||
| 599 | 599 | ** |
| 600 | 600 | ** See also: [sqlite3_libversion()] and [sqlite3_libversion_number()]. |
| 601 | 601 | ** |
| 602 | 602 | ** Requirements: [H10011] [H10014] |
| 603 | 603 | */ |
| 604 | -#define SQLITE_VERSION "3.6.14.1" | |
| 604 | +#define SQLITE_VERSION "3.6.14.2" | |
| 605 | 605 | #define SQLITE_VERSION_NUMBER 3006014 |
| 606 | 606 | |
| 607 | 607 | /* |
| 608 | 608 | ** CAPI3REF: Run-Time Library Version Numbers {H10020} <S60100> |
| 609 | 609 | ** KEYWORDS: sqlite3_version |
| @@ -57681,11 +57681,11 @@ | ||
| 57681 | 57681 | ** |
| 57682 | 57682 | ************************************************************************* |
| 57683 | 57683 | ** This file contains routines used for analyzing expressions and |
| 57684 | 57684 | ** for generating VDBE code that evaluates expressions in SQLite. |
| 57685 | 57685 | ** |
| 57686 | -** $Id: expr.c,v 1.432 2009/05/06 18:57:10 shane Exp $ | |
| 57686 | +** $Id: expr.c,v 1.432.2.1 2009/05/25 12:02:24 drh Exp $ | |
| 57687 | 57687 | */ |
| 57688 | 57688 | |
| 57689 | 57689 | /* |
| 57690 | 57690 | ** Return the 'affinity' of the expression pExpr if any. |
| 57691 | 57691 | ** |
| @@ -59469,10 +59469,26 @@ | ||
| 59469 | 59469 | cacheEntryClear(pParse, p); |
| 59470 | 59470 | p->iReg = 0; |
| 59471 | 59471 | } |
| 59472 | 59472 | } |
| 59473 | 59473 | } |
| 59474 | + | |
| 59475 | +/* | |
| 59476 | +** When a cached column is reused, make sure that its register is | |
| 59477 | +** no longer available as a temp register. ticket #3879: that same | |
| 59478 | +** register might be in the cache in multiple places, so be sure to | |
| 59479 | +** get them all. | |
| 59480 | +*/ | |
| 59481 | +static void sqlite3ExprCachePinRegister(Parse *pParse, int iReg){ | |
| 59482 | + int i; | |
| 59483 | + struct yColCache *p; | |
| 59484 | + for(i=0, p=pParse->aColCache; i<SQLITE_N_COLCACHE; i++, p++){ | |
| 59485 | + if( p->iReg==iReg ){ | |
| 59486 | + p->tempReg = 0; | |
| 59487 | + } | |
| 59488 | + } | |
| 59489 | +} | |
| 59474 | 59490 | |
| 59475 | 59491 | /* |
| 59476 | 59492 | ** Generate code that will extract the iColumn-th column from |
| 59477 | 59493 | ** table pTab and store the column value in a register. An effort |
| 59478 | 59494 | ** is made to store the column value in register iReg, but this is |
| @@ -59505,11 +59521,11 @@ | ||
| 59505 | 59521 | #if 0 |
| 59506 | 59522 | sqlite3VdbeAddOp0(v, OP_Noop); |
| 59507 | 59523 | VdbeComment((v, "OPT: tab%d.col%d -> r%d", iTable, iColumn, p->iReg)); |
| 59508 | 59524 | #endif |
| 59509 | 59525 | p->lru = pParse->iCacheCnt++; |
| 59510 | - p->tempReg = 0; /* This pins the register, but also leaks it */ | |
| 59526 | + sqlite3ExprCachePinRegister(pParse, p->iReg); | |
| 59511 | 59527 | return p->iReg; |
| 59512 | 59528 | } |
| 59513 | 59529 | } |
| 59514 | 59530 | assert( v!=0 ); |
| 59515 | 59531 | if( iColumn<0 ){ |
| 59516 | 59532 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -1,8 +1,8 @@ | |
| 1 | /****************************************************************************** |
| 2 | ** This file is an amalgamation of many separate C source files from SQLite |
| 3 | ** version 3.6.14.1. By combining all the individual C code files into this |
| 4 | ** single large file, the entire code can be compiled as a one translation |
| 5 | ** unit. This allows many compilers to do optimizations that would not be |
| 6 | ** possible if the files were compiled separately. Performance improvements |
| 7 | ** of 5% are more are commonly seen when SQLite is compiled as a single |
| 8 | ** translation unit. |
| @@ -15,11 +15,11 @@ | |
| 15 | ** needed if you want a wrapper to interface SQLite with your choice of |
| 16 | ** programming language. The code for the "sqlite3" command-line shell |
| 17 | ** is also in a separate file. This file contains only code for the core |
| 18 | ** SQLite library. |
| 19 | ** |
| 20 | ** This amalgamation was generated on 2009-05-18 17:12:46 UTC. |
| 21 | */ |
| 22 | #define SQLITE_CORE 1 |
| 23 | #define SQLITE_AMALGAMATION 1 |
| 24 | #ifndef SQLITE_PRIVATE |
| 25 | # define SQLITE_PRIVATE static |
| @@ -599,11 +599,11 @@ | |
| 599 | ** |
| 600 | ** See also: [sqlite3_libversion()] and [sqlite3_libversion_number()]. |
| 601 | ** |
| 602 | ** Requirements: [H10011] [H10014] |
| 603 | */ |
| 604 | #define SQLITE_VERSION "3.6.14.1" |
| 605 | #define SQLITE_VERSION_NUMBER 3006014 |
| 606 | |
| 607 | /* |
| 608 | ** CAPI3REF: Run-Time Library Version Numbers {H10020} <S60100> |
| 609 | ** KEYWORDS: sqlite3_version |
| @@ -57681,11 +57681,11 @@ | |
| 57681 | ** |
| 57682 | ************************************************************************* |
| 57683 | ** This file contains routines used for analyzing expressions and |
| 57684 | ** for generating VDBE code that evaluates expressions in SQLite. |
| 57685 | ** |
| 57686 | ** $Id: expr.c,v 1.432 2009/05/06 18:57:10 shane Exp $ |
| 57687 | */ |
| 57688 | |
| 57689 | /* |
| 57690 | ** Return the 'affinity' of the expression pExpr if any. |
| 57691 | ** |
| @@ -59469,10 +59469,26 @@ | |
| 59469 | cacheEntryClear(pParse, p); |
| 59470 | p->iReg = 0; |
| 59471 | } |
| 59472 | } |
| 59473 | } |
| 59474 | |
| 59475 | /* |
| 59476 | ** Generate code that will extract the iColumn-th column from |
| 59477 | ** table pTab and store the column value in a register. An effort |
| 59478 | ** is made to store the column value in register iReg, but this is |
| @@ -59505,11 +59521,11 @@ | |
| 59505 | #if 0 |
| 59506 | sqlite3VdbeAddOp0(v, OP_Noop); |
| 59507 | VdbeComment((v, "OPT: tab%d.col%d -> r%d", iTable, iColumn, p->iReg)); |
| 59508 | #endif |
| 59509 | p->lru = pParse->iCacheCnt++; |
| 59510 | p->tempReg = 0; /* This pins the register, but also leaks it */ |
| 59511 | return p->iReg; |
| 59512 | } |
| 59513 | } |
| 59514 | assert( v!=0 ); |
| 59515 | if( iColumn<0 ){ |
| 59516 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -1,8 +1,8 @@ | |
| 1 | /****************************************************************************** |
| 2 | ** This file is an amalgamation of many separate C source files from SQLite |
| 3 | ** version 3.6.14.2. By combining all the individual C code files into this |
| 4 | ** single large file, the entire code can be compiled as a one translation |
| 5 | ** unit. This allows many compilers to do optimizations that would not be |
| 6 | ** possible if the files were compiled separately. Performance improvements |
| 7 | ** of 5% are more are commonly seen when SQLite is compiled as a single |
| 8 | ** translation unit. |
| @@ -15,11 +15,11 @@ | |
| 15 | ** needed if you want a wrapper to interface SQLite with your choice of |
| 16 | ** programming language. The code for the "sqlite3" command-line shell |
| 17 | ** is also in a separate file. This file contains only code for the core |
| 18 | ** SQLite library. |
| 19 | ** |
| 20 | ** This amalgamation was generated on 2009-05-25 12:34:31 UTC. |
| 21 | */ |
| 22 | #define SQLITE_CORE 1 |
| 23 | #define SQLITE_AMALGAMATION 1 |
| 24 | #ifndef SQLITE_PRIVATE |
| 25 | # define SQLITE_PRIVATE static |
| @@ -599,11 +599,11 @@ | |
| 599 | ** |
| 600 | ** See also: [sqlite3_libversion()] and [sqlite3_libversion_number()]. |
| 601 | ** |
| 602 | ** Requirements: [H10011] [H10014] |
| 603 | */ |
| 604 | #define SQLITE_VERSION "3.6.14.2" |
| 605 | #define SQLITE_VERSION_NUMBER 3006014 |
| 606 | |
| 607 | /* |
| 608 | ** CAPI3REF: Run-Time Library Version Numbers {H10020} <S60100> |
| 609 | ** KEYWORDS: sqlite3_version |
| @@ -57681,11 +57681,11 @@ | |
| 57681 | ** |
| 57682 | ************************************************************************* |
| 57683 | ** This file contains routines used for analyzing expressions and |
| 57684 | ** for generating VDBE code that evaluates expressions in SQLite. |
| 57685 | ** |
| 57686 | ** $Id: expr.c,v 1.432.2.1 2009/05/25 12:02:24 drh Exp $ |
| 57687 | */ |
| 57688 | |
| 57689 | /* |
| 57690 | ** Return the 'affinity' of the expression pExpr if any. |
| 57691 | ** |
| @@ -59469,10 +59469,26 @@ | |
| 59469 | cacheEntryClear(pParse, p); |
| 59470 | p->iReg = 0; |
| 59471 | } |
| 59472 | } |
| 59473 | } |
| 59474 | |
| 59475 | /* |
| 59476 | ** When a cached column is reused, make sure that its register is |
| 59477 | ** no longer available as a temp register. ticket #3879: that same |
| 59478 | ** register might be in the cache in multiple places, so be sure to |
| 59479 | ** get them all. |
| 59480 | */ |
| 59481 | static void sqlite3ExprCachePinRegister(Parse *pParse, int iReg){ |
| 59482 | int i; |
| 59483 | struct yColCache *p; |
| 59484 | for(i=0, p=pParse->aColCache; i<SQLITE_N_COLCACHE; i++, p++){ |
| 59485 | if( p->iReg==iReg ){ |
| 59486 | p->tempReg = 0; |
| 59487 | } |
| 59488 | } |
| 59489 | } |
| 59490 | |
| 59491 | /* |
| 59492 | ** Generate code that will extract the iColumn-th column from |
| 59493 | ** table pTab and store the column value in a register. An effort |
| 59494 | ** is made to store the column value in register iReg, but this is |
| @@ -59505,11 +59521,11 @@ | |
| 59521 | #if 0 |
| 59522 | sqlite3VdbeAddOp0(v, OP_Noop); |
| 59523 | VdbeComment((v, "OPT: tab%d.col%d -> r%d", iTable, iColumn, p->iReg)); |
| 59524 | #endif |
| 59525 | p->lru = pParse->iCacheCnt++; |
| 59526 | sqlite3ExprCachePinRegister(pParse, p->iReg); |
| 59527 | return p->iReg; |
| 59528 | } |
| 59529 | } |
| 59530 | assert( v!=0 ); |
| 59531 | if( iColumn<0 ){ |
| 59532 |
+1
-1
| --- src/sqlite3.h | ||
| +++ src/sqlite3.h | ||
| @@ -97,11 +97,11 @@ | ||
| 97 | 97 | ** |
| 98 | 98 | ** See also: [sqlite3_libversion()] and [sqlite3_libversion_number()]. |
| 99 | 99 | ** |
| 100 | 100 | ** Requirements: [H10011] [H10014] |
| 101 | 101 | */ |
| 102 | -#define SQLITE_VERSION "3.6.14.1" | |
| 102 | +#define SQLITE_VERSION "3.6.14.2" | |
| 103 | 103 | #define SQLITE_VERSION_NUMBER 3006014 |
| 104 | 104 | |
| 105 | 105 | /* |
| 106 | 106 | ** CAPI3REF: Run-Time Library Version Numbers {H10020} <S60100> |
| 107 | 107 | ** KEYWORDS: sqlite3_version |
| 108 | 108 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -97,11 +97,11 @@ | |
| 97 | ** |
| 98 | ** See also: [sqlite3_libversion()] and [sqlite3_libversion_number()]. |
| 99 | ** |
| 100 | ** Requirements: [H10011] [H10014] |
| 101 | */ |
| 102 | #define SQLITE_VERSION "3.6.14.1" |
| 103 | #define SQLITE_VERSION_NUMBER 3006014 |
| 104 | |
| 105 | /* |
| 106 | ** CAPI3REF: Run-Time Library Version Numbers {H10020} <S60100> |
| 107 | ** KEYWORDS: sqlite3_version |
| 108 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -97,11 +97,11 @@ | |
| 97 | ** |
| 98 | ** See also: [sqlite3_libversion()] and [sqlite3_libversion_number()]. |
| 99 | ** |
| 100 | ** Requirements: [H10011] [H10014] |
| 101 | */ |
| 102 | #define SQLITE_VERSION "3.6.14.2" |
| 103 | #define SQLITE_VERSION_NUMBER 3006014 |
| 104 | |
| 105 | /* |
| 106 | ** CAPI3REF: Run-Time Library Version Numbers {H10020} <S60100> |
| 107 | ** KEYWORDS: sqlite3_version |
| 108 |