diff options
author | Wez Furlong <wez@php.net> | 2004-07-10 12:27:51 +0000 |
---|---|---|
committer | Wez Furlong <wez@php.net> | 2004-07-10 12:27:51 +0000 |
commit | e563b4eafa63ba8beb88defa1e36f037a7a97a60 (patch) | |
tree | 2e72dfa1c4b7fe62fde9ab326a67047ba2f4cc9e /ext/sqlite/libsqlite/src/where.c | |
parent | cd732f1a3f5df97407797fe7ebb97830552479ad (diff) | |
download | php-git-e563b4eafa63ba8beb88defa1e36f037a7a97a60.tar.gz |
Upgrade bundled library to 2.8.14 + misc fixes
(http://www.sqlite.org/cvstrac/chngview?cn=1742)
Diffstat (limited to 'ext/sqlite/libsqlite/src/where.c')
-rw-r--r-- | ext/sqlite/libsqlite/src/where.c | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/ext/sqlite/libsqlite/src/where.c b/ext/sqlite/libsqlite/src/where.c index 11358e413c..a3a31a2e84 100644 --- a/ext/sqlite/libsqlite/src/where.c +++ b/ext/sqlite/libsqlite/src/where.c @@ -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{ |