From: drh Date: Thu, 19 Nov 2009 14:48:40 +0000 (+0000) Subject: Fix a bug introduced with recent optimizations: The unary minus operator X-Git-Tag: fts3-refactor^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cd7f457e6dbaaf281f29951734b7a4d7e4065069;p=thirdparty%2Fsqlite.git Fix a bug introduced with recent optimizations: The unary minus operator is TK_UMINUS, not TK_MINUS. FossilOrigin-Name: 4bd43307090258f8652c995b056101c51b81274a --- diff --git a/manifest b/manifest index b5d538d16d..1a4501e33f 100644 --- a/manifest +++ b/manifest @@ -1,8 +1,8 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -C Performance\simprovement\sby\savoiding\sunnecessary\scalls\sto\smemset(). -D 2009-11-18T23:01:26 +C Fix\sa\sbug\sintroduced\swith\srecent\soptimizations:\s\sThe\sunary\sminus\soperator\nis\sTK_UMINUS,\snot\sTK_MINUS. +D 2009-11-19T14:48:41 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in 53f3dfa49f28ab5b80cb083fb7c9051e596bcfa1 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -117,7 +117,7 @@ F src/callback.c 908f3e0172c3d4058f4ca0acd42c637c52e9669f F src/complete.c 417df1ef5ea798532bb6290b0cc4265fef82980a F src/date.c a79c0a8f219370b972e320741f995a3bef9df33f F src/delete.c ec04635d152debdab70d4b30c5516b59282075ea -F src/expr.c ba653dafb23a75a7dbfb2033daa9786faf1e09da +F src/expr.c be7f3db3e3b57f1f66f7a2acc445e8cb03fbd5a5 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb F src/fkey.c e2116672a6bd610dc888e27df292ebc7999c9bb0 F src/func.c bf54e1202cbfb28bf4b1fd9b58899009ae76716f @@ -771,14 +771,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f -P bf6c0bd1c5568c6292ea0a64c8a5071e1bd3079a -R 94c882b37dbcf4df81d200097ee8fbfb +P 85940468e6f93f7c493fbc129f13cf6233c5d0c0 +R 4334616ec3a04171089d5218674f276f U drh -Z b3176df7e21156fb3581aee8f7ad5f21 +Z ca489ed3469db220b1d5fb3df060f216 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) -iD8DBQFLBH37oxKgR168RlERAvTsAKCNI4hjKsYZ9AAT0Ncul8Hfw1/HcwCfdR+2 -xaKwTs+NByafheeCCOovKPQ= -=EJ9B +iD8DBQFLBVrPoxKgR168RlERAoRaAJ4gDEPk2Y2GXXrrk8IpB/mDzLoa0gCcDFTL +vi9c1acPvgWIuqUQcwsFpn8= +=yxuW -----END PGP SIGNATURE----- diff --git a/manifest.uuid b/manifest.uuid index 909f0247d1..84754abfe3 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -85940468e6f93f7c493fbc129f13cf6233c5d0c0 \ No newline at end of file +4bd43307090258f8652c995b056101c51b81274a \ No newline at end of file diff --git a/src/expr.c b/src/expr.c index 99d88f9407..fbb456f895 100644 --- a/src/expr.c +++ b/src/expr.c @@ -1274,7 +1274,7 @@ int sqlite3ExprIsInteger(Expr *p, int *pValue){ */ int sqlite3ExprCanBeNull(const Expr *p){ u8 op; - while( p->op==TK_UPLUS || p->op==TK_MINUS ){ p = p->pLeft; } + while( p->op==TK_UPLUS || p->op==TK_UMINUS ){ p = p->pLeft; } op = p->op; if( op==TK_REGISTER ) op = p->op2; switch( op ){ @@ -1319,7 +1319,7 @@ void sqlite3ExprCodeIsNullJump( int sqlite3ExprNeedsNoAffinityChange(const Expr *p, char aff){ u8 op; if( aff==SQLITE_AFF_NONE ) return 1; - while( p->op==TK_UPLUS || p->op==TK_MINUS ){ p = p->pLeft; } + while( p->op==TK_UPLUS || p->op==TK_UMINUS ){ p = p->pLeft; } op = p->op; if( op==TK_REGISTER ) op = p->op2; switch( op ){