Fossil SCM

Update the built-in SQLite to the version 3.8.3.1 release candidate.

drh 2014-02-11 04:53 trunk
Commit 34aef781b5d47c172b0bdbdae50944d0bba8a545
2 files changed +11 -7 +2 -2
+11 -7
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -1,8 +1,8 @@
11
/******************************************************************************
22
** This file is an amalgamation of many separate C source files from SQLite
3
-** version 3.8.3. By combining all the individual C code files into this
3
+** version 3.8.3.1. By combining all the individual C code files into this
44
** single large file, the entire code can be compiled as a single translation
55
** unit. This allows many compilers to do optimizations that would not be
66
** possible if the files were compiled separately. Performance improvements
77
** of 5% or more are commonly seen when SQLite is compiled as a single
88
** translation unit.
@@ -133,13 +133,13 @@
133133
**
134134
** See also: [sqlite3_libversion()],
135135
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
136136
** [sqlite_version()] and [sqlite_source_id()].
137137
*/
138
-#define SQLITE_VERSION "3.8.3"
138
+#define SQLITE_VERSION "3.8.3.1"
139139
#define SQLITE_VERSION_NUMBER 3008003
140
-#define SQLITE_SOURCE_ID "2014-01-27 15:02:07 be1acb610f7e594b417dd8409b7a7aa8f3af5f77"
140
+#define SQLITE_SOURCE_ID "2014-02-11 03:55:33 3111df71b2a6bef08cf37c6e350f5accc506f9eb"
141141
142142
/*
143143
** CAPI3REF: Run-Time Library Version Numbers
144144
** KEYWORDS: sqlite3_version, sqlite3_sourceid
145145
**
@@ -41074,11 +41074,11 @@
4107441074
** Find a page in the hash table given its page number. Return
4107541075
** a pointer to the page or NULL if the requested page is not
4107641076
** already in memory.
4107741077
*/
4107841078
static PgHdr *pager_lookup(Pager *pPager, Pgno pgno){
41079
- PgHdr *p; /* Return value */
41079
+ PgHdr *p = 0; /* Return value */
4108041080
4108141081
/* It is not possible for a call to PcacheFetch() with createFlag==0 to
4108241082
** fail, since no attempt to allocate dynamic memory will be made.
4108341083
*/
4108441084
(void)sqlite3PcacheFetch(pPager->pPCache, pgno, 0, &p);
@@ -77453,10 +77453,11 @@
7745377453
pNew->selFlags = p->selFlags & ~SF_UsesEphemeral;
7745477454
pNew->pRightmost = 0;
7745577455
pNew->addrOpenEphm[0] = -1;
7745677456
pNew->addrOpenEphm[1] = -1;
7745777457
pNew->addrOpenEphm[2] = -1;
77458
+ pNew->nSelectRow = p->nSelectRow;
7745877459
pNew->pWith = withDup(db, p->pWith);
7745977460
return pNew;
7746077461
}
7746177462
#else
7746277463
SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3 *db, Select *p, int flags){
@@ -89483,11 +89484,12 @@
8948389484
/* Populate the OLD.* pseudo-table register array. These values will be
8948489485
** used by any BEFORE and AFTER triggers that exist. */
8948589486
sqlite3VdbeAddOp2(v, OP_Copy, iPk, iOld);
8948689487
for(iCol=0; iCol<pTab->nCol; iCol++){
8948789488
testcase( mask!=0xffffffff && iCol==31 );
89488
- if( mask==0xffffffff || (mask & MASKBIT32(iCol))!=0 ){
89489
+ testcase( mask!=0xffffffff && iCol==32 );
89490
+ if( mask==0xffffffff || (iCol<=31 && (mask & MASKBIT32(iCol))!=0) ){
8948989491
sqlite3ExprCodeGetColumnOfTable(v, pTab, iDataCur, iCol, iOld+iCol+1);
8949089492
}
8949189493
}
8949289494
8949389495
/* Invoke BEFORE DELETE trigger programs. */
@@ -112137,11 +112139,13 @@
112137112139
int iTerm;
112138112140
for(iTerm=0; iTerm<pWC->nTerm; iTerm++){
112139112141
Expr *pExpr = pWC->a[iTerm].pExpr;
112140112142
if( &pWC->a[iTerm] == pTerm ) continue;
112141112143
if( ExprHasProperty(pExpr, EP_FromJoin) ) continue;
112142
- if( pWC->a[iTerm].wtFlags & (TERM_ORINFO) ) continue;
112144
+ testcase( pWC->a[iTerm].wtFlags & TERM_ORINFO );
112145
+ testcase( pWC->a[iTerm].wtFlags & TERM_VIRTUAL );
112146
+ if( pWC->a[iTerm].wtFlags & (TERM_ORINFO|TERM_VIRTUAL) ) continue;
112143112147
if( (pWC->a[iTerm].eOperator & WO_ALL)==0 ) continue;
112144112148
pExpr = sqlite3ExprDup(db, pExpr, 0);
112145112149
pAndExpr = sqlite3ExprAnd(db, pAndExpr, pExpr);
112146112150
}
112147112151
if( pAndExpr ){
@@ -122703,11 +122707,11 @@
122703122707
** database files might have arbitrary corruption. Setting the flag during
122704122708
** testing causes certain assert() statements in the code to be activated
122705122709
** that demonstrat invariants on well-formed database files.
122706122710
*/
122707122711
case SQLITE_TESTCTRL_NEVER_CORRUPT: {
122708
- sqlite3Config.neverCorrupt = va_arg(ap, int);
122712
+ sqlite3GlobalConfig.neverCorrupt = va_arg(ap, int);
122709122713
break;
122710122714
}
122711122715
122712122716
}
122713122717
va_end(ap);
122714122718
--- 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.8.3. By combining all the individual C code files into this
4 ** single large file, the entire code can be compiled as a single 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% or more are commonly seen when SQLite is compiled as a single
8 ** translation unit.
@@ -133,13 +133,13 @@
133 **
134 ** See also: [sqlite3_libversion()],
135 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
136 ** [sqlite_version()] and [sqlite_source_id()].
137 */
138 #define SQLITE_VERSION "3.8.3"
139 #define SQLITE_VERSION_NUMBER 3008003
140 #define SQLITE_SOURCE_ID "2014-01-27 15:02:07 be1acb610f7e594b417dd8409b7a7aa8f3af5f77"
141
142 /*
143 ** CAPI3REF: Run-Time Library Version Numbers
144 ** KEYWORDS: sqlite3_version, sqlite3_sourceid
145 **
@@ -41074,11 +41074,11 @@
41074 ** Find a page in the hash table given its page number. Return
41075 ** a pointer to the page or NULL if the requested page is not
41076 ** already in memory.
41077 */
41078 static PgHdr *pager_lookup(Pager *pPager, Pgno pgno){
41079 PgHdr *p; /* Return value */
41080
41081 /* It is not possible for a call to PcacheFetch() with createFlag==0 to
41082 ** fail, since no attempt to allocate dynamic memory will be made.
41083 */
41084 (void)sqlite3PcacheFetch(pPager->pPCache, pgno, 0, &p);
@@ -77453,10 +77453,11 @@
77453 pNew->selFlags = p->selFlags & ~SF_UsesEphemeral;
77454 pNew->pRightmost = 0;
77455 pNew->addrOpenEphm[0] = -1;
77456 pNew->addrOpenEphm[1] = -1;
77457 pNew->addrOpenEphm[2] = -1;
 
77458 pNew->pWith = withDup(db, p->pWith);
77459 return pNew;
77460 }
77461 #else
77462 SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3 *db, Select *p, int flags){
@@ -89483,11 +89484,12 @@
89483 /* Populate the OLD.* pseudo-table register array. These values will be
89484 ** used by any BEFORE and AFTER triggers that exist. */
89485 sqlite3VdbeAddOp2(v, OP_Copy, iPk, iOld);
89486 for(iCol=0; iCol<pTab->nCol; iCol++){
89487 testcase( mask!=0xffffffff && iCol==31 );
89488 if( mask==0xffffffff || (mask & MASKBIT32(iCol))!=0 ){
 
89489 sqlite3ExprCodeGetColumnOfTable(v, pTab, iDataCur, iCol, iOld+iCol+1);
89490 }
89491 }
89492
89493 /* Invoke BEFORE DELETE trigger programs. */
@@ -112137,11 +112139,13 @@
112137 int iTerm;
112138 for(iTerm=0; iTerm<pWC->nTerm; iTerm++){
112139 Expr *pExpr = pWC->a[iTerm].pExpr;
112140 if( &pWC->a[iTerm] == pTerm ) continue;
112141 if( ExprHasProperty(pExpr, EP_FromJoin) ) continue;
112142 if( pWC->a[iTerm].wtFlags & (TERM_ORINFO) ) continue;
 
 
112143 if( (pWC->a[iTerm].eOperator & WO_ALL)==0 ) continue;
112144 pExpr = sqlite3ExprDup(db, pExpr, 0);
112145 pAndExpr = sqlite3ExprAnd(db, pAndExpr, pExpr);
112146 }
112147 if( pAndExpr ){
@@ -122703,11 +122707,11 @@
122703 ** database files might have arbitrary corruption. Setting the flag during
122704 ** testing causes certain assert() statements in the code to be activated
122705 ** that demonstrat invariants on well-formed database files.
122706 */
122707 case SQLITE_TESTCTRL_NEVER_CORRUPT: {
122708 sqlite3Config.neverCorrupt = va_arg(ap, int);
122709 break;
122710 }
122711
122712 }
122713 va_end(ap);
122714
--- 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.8.3.1. By combining all the individual C code files into this
4 ** single large file, the entire code can be compiled as a single 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% or more are commonly seen when SQLite is compiled as a single
8 ** translation unit.
@@ -133,13 +133,13 @@
133 **
134 ** See also: [sqlite3_libversion()],
135 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
136 ** [sqlite_version()] and [sqlite_source_id()].
137 */
138 #define SQLITE_VERSION "3.8.3.1"
139 #define SQLITE_VERSION_NUMBER 3008003
140 #define SQLITE_SOURCE_ID "2014-02-11 03:55:33 3111df71b2a6bef08cf37c6e350f5accc506f9eb"
141
142 /*
143 ** CAPI3REF: Run-Time Library Version Numbers
144 ** KEYWORDS: sqlite3_version, sqlite3_sourceid
145 **
@@ -41074,11 +41074,11 @@
41074 ** Find a page in the hash table given its page number. Return
41075 ** a pointer to the page or NULL if the requested page is not
41076 ** already in memory.
41077 */
41078 static PgHdr *pager_lookup(Pager *pPager, Pgno pgno){
41079 PgHdr *p = 0; /* Return value */
41080
41081 /* It is not possible for a call to PcacheFetch() with createFlag==0 to
41082 ** fail, since no attempt to allocate dynamic memory will be made.
41083 */
41084 (void)sqlite3PcacheFetch(pPager->pPCache, pgno, 0, &p);
@@ -77453,10 +77453,11 @@
77453 pNew->selFlags = p->selFlags & ~SF_UsesEphemeral;
77454 pNew->pRightmost = 0;
77455 pNew->addrOpenEphm[0] = -1;
77456 pNew->addrOpenEphm[1] = -1;
77457 pNew->addrOpenEphm[2] = -1;
77458 pNew->nSelectRow = p->nSelectRow;
77459 pNew->pWith = withDup(db, p->pWith);
77460 return pNew;
77461 }
77462 #else
77463 SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3 *db, Select *p, int flags){
@@ -89483,11 +89484,12 @@
89484 /* Populate the OLD.* pseudo-table register array. These values will be
89485 ** used by any BEFORE and AFTER triggers that exist. */
89486 sqlite3VdbeAddOp2(v, OP_Copy, iPk, iOld);
89487 for(iCol=0; iCol<pTab->nCol; iCol++){
89488 testcase( mask!=0xffffffff && iCol==31 );
89489 testcase( mask!=0xffffffff && iCol==32 );
89490 if( mask==0xffffffff || (iCol<=31 && (mask & MASKBIT32(iCol))!=0) ){
89491 sqlite3ExprCodeGetColumnOfTable(v, pTab, iDataCur, iCol, iOld+iCol+1);
89492 }
89493 }
89494
89495 /* Invoke BEFORE DELETE trigger programs. */
@@ -112137,11 +112139,13 @@
112139 int iTerm;
112140 for(iTerm=0; iTerm<pWC->nTerm; iTerm++){
112141 Expr *pExpr = pWC->a[iTerm].pExpr;
112142 if( &pWC->a[iTerm] == pTerm ) continue;
112143 if( ExprHasProperty(pExpr, EP_FromJoin) ) continue;
112144 testcase( pWC->a[iTerm].wtFlags & TERM_ORINFO );
112145 testcase( pWC->a[iTerm].wtFlags & TERM_VIRTUAL );
112146 if( pWC->a[iTerm].wtFlags & (TERM_ORINFO|TERM_VIRTUAL) ) continue;
112147 if( (pWC->a[iTerm].eOperator & WO_ALL)==0 ) continue;
112148 pExpr = sqlite3ExprDup(db, pExpr, 0);
112149 pAndExpr = sqlite3ExprAnd(db, pAndExpr, pExpr);
112150 }
112151 if( pAndExpr ){
@@ -122703,11 +122707,11 @@
122707 ** database files might have arbitrary corruption. Setting the flag during
122708 ** testing causes certain assert() statements in the code to be activated
122709 ** that demonstrat invariants on well-formed database files.
122710 */
122711 case SQLITE_TESTCTRL_NEVER_CORRUPT: {
122712 sqlite3GlobalConfig.neverCorrupt = va_arg(ap, int);
122713 break;
122714 }
122715
122716 }
122717 va_end(ap);
122718
+2 -2
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -105,13 +105,13 @@
105105
**
106106
** See also: [sqlite3_libversion()],
107107
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
108108
** [sqlite_version()] and [sqlite_source_id()].
109109
*/
110
-#define SQLITE_VERSION "3.8.3"
110
+#define SQLITE_VERSION "3.8.3.1"
111111
#define SQLITE_VERSION_NUMBER 3008003
112
-#define SQLITE_SOURCE_ID "2014-01-27 15:02:07 be1acb610f7e594b417dd8409b7a7aa8f3af5f77"
112
+#define SQLITE_SOURCE_ID "2014-02-11 03:55:33 3111df71b2a6bef08cf37c6e350f5accc506f9eb"
113113
114114
/*
115115
** CAPI3REF: Run-Time Library Version Numbers
116116
** KEYWORDS: sqlite3_version, sqlite3_sourceid
117117
**
118118
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -105,13 +105,13 @@
105 **
106 ** See also: [sqlite3_libversion()],
107 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
108 ** [sqlite_version()] and [sqlite_source_id()].
109 */
110 #define SQLITE_VERSION "3.8.3"
111 #define SQLITE_VERSION_NUMBER 3008003
112 #define SQLITE_SOURCE_ID "2014-01-27 15:02:07 be1acb610f7e594b417dd8409b7a7aa8f3af5f77"
113
114 /*
115 ** CAPI3REF: Run-Time Library Version Numbers
116 ** KEYWORDS: sqlite3_version, sqlite3_sourceid
117 **
118
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -105,13 +105,13 @@
105 **
106 ** See also: [sqlite3_libversion()],
107 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
108 ** [sqlite_version()] and [sqlite_source_id()].
109 */
110 #define SQLITE_VERSION "3.8.3.1"
111 #define SQLITE_VERSION_NUMBER 3008003
112 #define SQLITE_SOURCE_ID "2014-02-11 03:55:33 3111df71b2a6bef08cf37c6e350f5accc506f9eb"
113
114 /*
115 ** CAPI3REF: Run-Time Library Version Numbers
116 ** KEYWORDS: sqlite3_version, sqlite3_sourceid
117 **
118

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button