mirror of
https://github.com/DBD-SQLite/DBD-SQLite
synced 2025-06-08 06:38:12 -04:00
updated SQLite to 3.8.0.1 (ribasushi++)
This commit is contained in:
parent
451e952bac
commit
055404810a
2 changed files with 18 additions and 9 deletions
19
sqlite3.c
19
sqlite3.c
|
@ -1,6 +1,6 @@
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
** This file is an amalgamation of many separate C source files from SQLite
|
** This file is an amalgamation of many separate C source files from SQLite
|
||||||
** version 3.8.0. By combining all the individual C code files into this
|
** version 3.8.0.1. By combining all the individual C code files into this
|
||||||
** single large file, the entire code can be compiled as a single translation
|
** single large file, the entire code can be compiled as a single translation
|
||||||
** unit. This allows many compilers to do optimizations that would not be
|
** unit. This allows many compilers to do optimizations that would not be
|
||||||
** possible if the files were compiled separately. Performance improvements
|
** possible if the files were compiled separately. Performance improvements
|
||||||
|
@ -656,9 +656,9 @@ extern "C" {
|
||||||
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
||||||
** [sqlite_version()] and [sqlite_source_id()].
|
** [sqlite_version()] and [sqlite_source_id()].
|
||||||
*/
|
*/
|
||||||
#define SQLITE_VERSION "3.8.0"
|
#define SQLITE_VERSION "3.8.0.1"
|
||||||
#define SQLITE_VERSION_NUMBER 3008000
|
#define SQLITE_VERSION_NUMBER 3008000
|
||||||
#define SQLITE_SOURCE_ID "2013-08-26 04:50:08 f64cd21e2e23ed7cff48f7dafa5e76adde9321c2"
|
#define SQLITE_SOURCE_ID "2013-08-29 17:35:01 352362bc01660edfbda08179d60f09e2038a2f49"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Run-Time Library Version Numbers
|
** CAPI3REF: Run-Time Library Version Numbers
|
||||||
|
@ -105959,9 +105959,11 @@ static int isMatchOfColumn(
|
||||||
** a join, then transfer the appropriate markings over to derived.
|
** a join, then transfer the appropriate markings over to derived.
|
||||||
*/
|
*/
|
||||||
static void transferJoinMarkings(Expr *pDerived, Expr *pBase){
|
static void transferJoinMarkings(Expr *pDerived, Expr *pBase){
|
||||||
|
if( pDerived ){
|
||||||
pDerived->flags |= pBase->flags & EP_FromJoin;
|
pDerived->flags |= pBase->flags & EP_FromJoin;
|
||||||
pDerived->iRightJoinTable = pBase->iRightJoinTable;
|
pDerived->iRightJoinTable = pBase->iRightJoinTable;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#if !defined(SQLITE_OMIT_OR_OPTIMIZATION) && !defined(SQLITE_OMIT_SUBQUERY)
|
#if !defined(SQLITE_OMIT_OR_OPTIMIZATION) && !defined(SQLITE_OMIT_SUBQUERY)
|
||||||
/*
|
/*
|
||||||
|
@ -106417,6 +106419,7 @@ static void exprAnalyze(
|
||||||
pNewExpr = sqlite3PExpr(pParse, ops[i],
|
pNewExpr = sqlite3PExpr(pParse, ops[i],
|
||||||
sqlite3ExprDup(db, pExpr->pLeft, 0),
|
sqlite3ExprDup(db, pExpr->pLeft, 0),
|
||||||
sqlite3ExprDup(db, pList->a[i].pExpr, 0), 0);
|
sqlite3ExprDup(db, pList->a[i].pExpr, 0), 0);
|
||||||
|
transferJoinMarkings(pNewExpr, pExpr);
|
||||||
idxNew = whereClauseInsert(pWC, pNewExpr, TERM_VIRTUAL|TERM_DYNAMIC);
|
idxNew = whereClauseInsert(pWC, pNewExpr, TERM_VIRTUAL|TERM_DYNAMIC);
|
||||||
testcase( idxNew==0 );
|
testcase( idxNew==0 );
|
||||||
exprAnalyze(pSrc, pWC, idxNew);
|
exprAnalyze(pSrc, pWC, idxNew);
|
||||||
|
@ -106484,6 +106487,7 @@ static void exprAnalyze(
|
||||||
pNewExpr1 = sqlite3PExpr(pParse, TK_GE,
|
pNewExpr1 = sqlite3PExpr(pParse, TK_GE,
|
||||||
sqlite3ExprAddCollateToken(pParse,pNewExpr1,&sCollSeqName),
|
sqlite3ExprAddCollateToken(pParse,pNewExpr1,&sCollSeqName),
|
||||||
pStr1, 0);
|
pStr1, 0);
|
||||||
|
transferJoinMarkings(pNewExpr1, pExpr);
|
||||||
idxNew1 = whereClauseInsert(pWC, pNewExpr1, TERM_VIRTUAL|TERM_DYNAMIC);
|
idxNew1 = whereClauseInsert(pWC, pNewExpr1, TERM_VIRTUAL|TERM_DYNAMIC);
|
||||||
testcase( idxNew1==0 );
|
testcase( idxNew1==0 );
|
||||||
exprAnalyze(pSrc, pWC, idxNew1);
|
exprAnalyze(pSrc, pWC, idxNew1);
|
||||||
|
@ -106491,6 +106495,7 @@ static void exprAnalyze(
|
||||||
pNewExpr2 = sqlite3PExpr(pParse, TK_LT,
|
pNewExpr2 = sqlite3PExpr(pParse, TK_LT,
|
||||||
sqlite3ExprAddCollateToken(pParse,pNewExpr2,&sCollSeqName),
|
sqlite3ExprAddCollateToken(pParse,pNewExpr2,&sCollSeqName),
|
||||||
pStr2, 0);
|
pStr2, 0);
|
||||||
|
transferJoinMarkings(pNewExpr2, pExpr);
|
||||||
idxNew2 = whereClauseInsert(pWC, pNewExpr2, TERM_VIRTUAL|TERM_DYNAMIC);
|
idxNew2 = whereClauseInsert(pWC, pNewExpr2, TERM_VIRTUAL|TERM_DYNAMIC);
|
||||||
testcase( idxNew2==0 );
|
testcase( idxNew2==0 );
|
||||||
exprAnalyze(pSrc, pWC, idxNew2);
|
exprAnalyze(pSrc, pWC, idxNew2);
|
||||||
|
@ -110300,11 +110305,15 @@ static int whereShortCut(WhereLoopBuilder *pBuilder){
|
||||||
pLoop->rRun = 33; /* 33==whereCost(10) */
|
pLoop->rRun = 33; /* 33==whereCost(10) */
|
||||||
}else{
|
}else{
|
||||||
for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
|
for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
|
||||||
if( pIdx->onError==OE_None || pIdx->pPartIdxWhere!=0 ) continue;
|
assert( pLoop->aLTermSpace==pLoop->aLTerm );
|
||||||
|
assert( ArraySize(pLoop->aLTermSpace)==4 );
|
||||||
|
if( pIdx->onError==OE_None
|
||||||
|
|| pIdx->pPartIdxWhere!=0
|
||||||
|
|| pIdx->nColumn>ArraySize(pLoop->aLTermSpace)
|
||||||
|
) continue;
|
||||||
for(j=0; j<pIdx->nColumn; j++){
|
for(j=0; j<pIdx->nColumn; j++){
|
||||||
pTerm = findTerm(pWC, iCur, pIdx->aiColumn[j], 0, WO_EQ, pIdx);
|
pTerm = findTerm(pWC, iCur, pIdx->aiColumn[j], 0, WO_EQ, pIdx);
|
||||||
if( pTerm==0 ) break;
|
if( pTerm==0 ) break;
|
||||||
whereLoopResize(pWInfo->pParse->db, pLoop, j);
|
|
||||||
pLoop->aLTerm[j] = pTerm;
|
pLoop->aLTerm[j] = pTerm;
|
||||||
}
|
}
|
||||||
if( j!=pIdx->nColumn ) continue;
|
if( j!=pIdx->nColumn ) continue;
|
||||||
|
|
|
@ -107,9 +107,9 @@ extern "C" {
|
||||||
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
||||||
** [sqlite_version()] and [sqlite_source_id()].
|
** [sqlite_version()] and [sqlite_source_id()].
|
||||||
*/
|
*/
|
||||||
#define SQLITE_VERSION "3.8.0"
|
#define SQLITE_VERSION "3.8.0.1"
|
||||||
#define SQLITE_VERSION_NUMBER 3008000
|
#define SQLITE_VERSION_NUMBER 3008000
|
||||||
#define SQLITE_SOURCE_ID "2013-08-26 04:50:08 f64cd21e2e23ed7cff48f7dafa5e76adde9321c2"
|
#define SQLITE_SOURCE_ID "2013-08-29 17:35:01 352362bc01660edfbda08179d60f09e2038a2f49"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** CAPI3REF: Run-Time Library Version Numbers
|
** CAPI3REF: Run-Time Library Version Numbers
|
||||||
|
|
Loading…
Add table
Reference in a new issue