]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a bug introduced with recent optimizations: The unary minus operator
authordrh <drh@noemail.net>
Thu, 19 Nov 2009 14:48:40 +0000 (14:48 +0000)
committerdrh <drh@noemail.net>
Thu, 19 Nov 2009 14:48:40 +0000 (14:48 +0000)
is TK_UMINUS, not TK_MINUS.

FossilOrigin-Name: 4bd43307090258f8652c995b056101c51b81274a

manifest
manifest.uuid
src/expr.c

index b5d538d16dddfcb3a4bceef1ab1718fd34fc7210..1a4501e33faf5fddd78100f0bb92dc15a338059a 100644 (file)
--- 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-----
index 909f0247d17f38a85d4950a4ef2de15229988cd4..84754abfe36431f3a0f04b5201a85966db6bf64a 100644 (file)
@@ -1 +1 @@
-85940468e6f93f7c493fbc129f13cf6233c5d0c0
\ No newline at end of file
+4bd43307090258f8652c995b056101c51b81274a
\ No newline at end of file
index 99d88f94075aa151da18077e95e8986c459edd03..fbb456f89520d848af677a6d75bb0f96de233f4a 100644 (file)
@@ -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 ){