From: drh Date: Thu, 26 Jun 2008 21:45:26 +0000 (+0000) Subject: Fix a bug introduced by check-in (5316). Add some VDBE comments to X-Git-Tag: version-3.6.10~860 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3c31fc23b1780598404e6faa8852ac8b80ac0c49;p=thirdparty%2Fsqlite.git Fix a bug introduced by check-in (5316). Add some VDBE comments to the IN expression code generator. (CVS 5317) FossilOrigin-Name: 1043a605e2dcad4b5222674efe392ee9915dc57d --- diff --git a/manifest b/manifest index f0aa52333e..07632088b7 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Avoid\sgenerating\sunnecessary\sSCopy\sinstructions\swith\sthe\sRHS\sof\san\sIN\noperator\sis\sa\slist\sof\svalues.\s(CVS\s5316) -D 2008-06-26T20:06:07 +C Fix\sa\sbug\sintroduced\sby\scheck-in\s(5316).\s\sAdd\ssome\sVDBE\scomments\sto\nthe\sIN\sexpression\scode\sgenerator.\s(CVS\s5317) +D 2008-06-26T21:45:26 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in 325dfac0a0dd1cb4d975f1ace6453157892e6042 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -103,7 +103,7 @@ F src/callback.c 3ba98ae46f60aa7c2c40eac7d18fe5ba9b706b83 F src/complete.c cb14e06dbe79dee031031f0d9e686ff306afe07c F src/date.c e841168e5520bbbb2a1cbcdce7531d8b23017b4d F src/delete.c d3fc5987f2eb88f7b9549d58a5dfea079a83fe8b -F src/expr.c 557faa5ac7183016032077f34aa53c0fe759abe5 +F src/expr.c 3bb6d63230df920c46a6790c6f0e204b00973fb7 F src/fault.c 3638519d1e0b82bccfafcb9f5ff491918b28f8e1 F src/func.c 1e7d9569570134ac0771a00382d9d4b41c4aa052 F src/global.c 2304cfa3288763bd2fed10caf8c6fbaa2b383f4e @@ -594,7 +594,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 1dbced29de5f59ba2ebf877edcadf171540374d1 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e -P 168fd6f83e2c837e91d02fa49fff3fe2f9538928 -R e1a92aea430aad3339e25549f0582b1d +P ec80474b1c157a29fb6978dd5575c396c57973b3 +R 2776a8777b2027a36d141711118a9d4a U drh -Z 0ed860dc736798983c144766ce199486 +Z 08c80bc1275e333a7b4bb518d0147ebb diff --git a/manifest.uuid b/manifest.uuid index 4052077d91..32767f8ee4 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -ec80474b1c157a29fb6978dd5575c396c57973b3 \ No newline at end of file +1043a605e2dcad4b5222674efe392ee9915dc57d \ No newline at end of file diff --git a/src/expr.c b/src/expr.c index 58a714916c..cb78adabd0 100644 --- a/src/expr.c +++ b/src/expr.c @@ -12,7 +12,7 @@ ** This file contains routines used for analyzing expressions and ** for generating VDBE code that evaluates expressions in SQLite. ** -** $Id: expr.c,v 1.378 2008/06/26 20:06:07 drh Exp $ +** $Id: expr.c,v 1.379 2008/06/26 21:45:26 drh Exp $ */ #include "sqliteInt.h" #include @@ -1936,7 +1936,7 @@ void sqlite3CodeSubselect(Parse *pParse, Expr *pExpr, int rMayHaveNull){ assert( pParse->disableColCache>0 ); pParse->disableColCache--; sqlite3VdbeAddOp4(v, OP_MakeRecord, r3, 1, r2, &affinity, 1); - sqlite3ExprCacheAffinityChange(pParse, r1, 1); + sqlite3ExprCacheAffinityChange(pParse, r3, 1); sqlite3VdbeAddOp2(v, OP_IdxInsert, pExpr->iTable, r2); } sqlite3ReleaseTempReg(pParse, r1); @@ -2582,6 +2582,7 @@ int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){ char affinity; int eType; + VdbeNoopComment((v, "begin IN expr r%d", target)); eType = sqlite3FindInIndex(pParse, pExpr, &rMayHaveNull); if( rMayHaveNull ){ rNotFound = ++pParse->nMem; @@ -2661,6 +2662,7 @@ int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){ } sqlite3VdbeJumpHere(v, j2); sqlite3VdbeJumpHere(v, j5); + VdbeComment((v, "end IN expr r%d", target)); break; } #endif