mirror of
https://github.com/php/php-src.git
synced 2025-08-20 09:24:05 +02:00
Upgrade bundled library to 2.8.14 + misc fixes
(http://www.sqlite.org/cvstrac/chngview?cn=1742)
This commit is contained in:
parent
cd732f1a3f
commit
e563b4eafa
43 changed files with 5953 additions and 5559 deletions
|
@ -380,11 +380,8 @@ WhereInfo *sqliteWhereBegin(
|
|||
memset(aExpr, 0, sizeof(aExpr));
|
||||
nExpr = exprSplit(ARRAYSIZE(aExpr), aExpr, pWhere);
|
||||
if( nExpr==ARRAYSIZE(aExpr) ){
|
||||
char zBuf[50];
|
||||
sprintf(zBuf, "%d", (int)ARRAYSIZE(aExpr)-1);
|
||||
sqliteSetString(&pParse->zErrMsg, "WHERE clause too complex - no more "
|
||||
"than ", zBuf, " terms allowed", (char*)0);
|
||||
pParse->nErr++;
|
||||
sqliteErrorMsg(pParse, "WHERE clause too complex - no more "
|
||||
"than %d terms allowed", (int)ARRAYSIZE(aExpr)-1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -672,18 +669,17 @@ WhereInfo *sqliteWhereBegin(
|
|||
*/
|
||||
for(i=0; i<pTabList->nSrc; i++){
|
||||
Table *pTab;
|
||||
Index *pIx;
|
||||
|
||||
pTab = pTabList->a[i].pTab;
|
||||
if( pTab->isTransient || pTab->pSelect ) continue;
|
||||
sqliteVdbeAddOp(v, OP_Integer, pTab->iDb, 0);
|
||||
sqliteVdbeAddOp(v, OP_OpenRead, pTabList->a[i].iCursor, pTab->tnum);
|
||||
sqliteVdbeChangeP3(v, -1, pTab->zName, P3_STATIC);
|
||||
sqliteVdbeOp3(v, OP_OpenRead, pTabList->a[i].iCursor, pTab->tnum,
|
||||
pTab->zName, P3_STATIC);
|
||||
sqliteCodeVerifySchema(pParse, pTab->iDb);
|
||||
if( pWInfo->a[i].pIdx!=0 ){
|
||||
sqliteVdbeAddOp(v, OP_Integer, pWInfo->a[i].pIdx->iDb, 0);
|
||||
sqliteVdbeAddOp(v, OP_OpenRead,
|
||||
pWInfo->a[i].iCur, pWInfo->a[i].pIdx->tnum);
|
||||
sqliteVdbeChangeP3(v, -1, pWInfo->a[i].pIdx->zName, P3_STATIC);
|
||||
if( (pIx = pWInfo->a[i].pIdx)!=0 ){
|
||||
sqliteVdbeAddOp(v, OP_Integer, pIx->iDb, 0);
|
||||
sqliteVdbeOp3(v, OP_OpenRead, pWInfo->a[i].iCur, pIx->tnum, pIx->zName,0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -855,10 +851,8 @@ WhereInfo *sqliteWhereBegin(
|
|||
}else{
|
||||
sqliteExprCode(pParse, aExpr[k].p->pLeft);
|
||||
}
|
||||
sqliteVdbeAddOp(v, OP_IsNumeric, 1, brk);
|
||||
if( aExpr[k].p->op==TK_LT || aExpr[k].p->op==TK_GT ){
|
||||
sqliteVdbeAddOp(v, OP_AddImm, 1, 0);
|
||||
}
|
||||
sqliteVdbeAddOp(v, OP_ForceInt,
|
||||
aExpr[k].p->op==TK_LT || aExpr[k].p->op==TK_GT, brk);
|
||||
sqliteVdbeAddOp(v, OP_MoveTo, iCur, brk);
|
||||
aExpr[k].p = 0;
|
||||
}else{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue