]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
When SQLITE_OMIT_FLOATING_POINT is defined, make sure the result of a
authordrh <drh@noemail.net>
Wed, 13 Jan 2010 16:25:42 +0000 (16:25 +0000)
committerdrh <drh@noemail.net>
Wed, 13 Jan 2010 16:25:42 +0000 (16:25 +0000)
mathematical operation is always tagged as an integer.

FossilOrigin-Name: e12da0d316fcc34a75554d59fe6d11d9f0e059e2

manifest
manifest.uuid
src/vdbe.c

index 4ad93f2a0ccfc18538604ccb83f37607ed0dcb52..0d6fa15ff4ab4767d5abac2ad9e683fd18daba16 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,8 +1,8 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-C Make\sthe\sdoubleToInt64()\sroutine\sa\spass-through\swhen\susing\sOMIT_FLOATING_POINT.
-D 2010-01-13T15:15:40
+C When\sSQLITE_OMIT_FLOATING_POINT\sis\sdefined,\smake\ssure\sthe\sresult\sof\sa\nmathematical\soperation\sis\salways\stagged\sas\san\sinteger.
+D 2010-01-13T16:25:43
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in c5827ead754ab32b9585487177c93bb00b9497b3
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -212,7 +212,7 @@ F src/update.c c0dc6b75ad28b76b619042d934f337b02acee208
 F src/utf.c dad16adcc0c35ef2437dca125a4b07419d361052
 F src/util.c 4f0fb8561b7576a450fc86212ac7f7800e169077
 F src/vacuum.c 28ee5a4963d16cf2477075d85966c0f461cd79de
-F src/vdbe.c 1e2c66f2612275a26e156889ec123e8e13c4821d
+F src/vdbe.c b0c18b5c5ab4745a09b8f164e5db36413d98872e
 F src/vdbe.h bea1f0cd530775bdb58a340265f3cf3ee920e9b2
 F src/vdbeInt.h e276691b6835da5c0008cc5beaaecedcd7bdba8e
 F src/vdbeapi.c fc3787eb2f5487d4cc3444de42d56f2e39d311f5
@@ -788,14 +788,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P 985d3bec07430536485056bcd2ae0471791601ed
-R 9f8cf667b0afbdd9545d404fbec2bd6d
+P 417167182efaa1da74008952137de3e00c23494e
+R 89c89c924af8f7e6db6160c5a29903bd
 U drh
-Z d1d141aad07484d109238464ff4bf4c5
+Z 5f39bd0fb79ec5cb4191d06b8944929f
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.6 (GNU/Linux)
 
-iD8DBQFLTeOfoxKgR168RlERAlU4AJ4w8Z8Bt+r/4+9pC7Gb2JRnglriKQCeODzf
-Bnr1B7NVjy4Q6Uvl11ICxqI=
-=xtZb
+iD8DBQFLTfQKoxKgR168RlERAk5yAJ4yqYP9RAXAemmavFjE3kclxjaO+QCfRZjo
+9QCR6Br/2vxhKD2xDVbkDcI=
+=hlG7
 -----END PGP SIGNATURE-----
index bc0433dc2a71bdad0c43dda9af76c2839aa4eb8a..07f50d9acf6fae15bd97774f2b94fa91c222ec63 100644 (file)
@@ -1 +1 @@
-417167182efaa1da74008952137de3e00c23494e
\ No newline at end of file
+e12da0d316fcc34a75554d59fe6d11d9f0e059e2
\ No newline at end of file
index a7d693d53a4b90a18eb05391f92947d8e18779d9..af7e7ce9e195b8901cd994bae4654213c4f19375 100644 (file)
@@ -1297,6 +1297,10 @@ case OP_Remainder: {           /* same as TK_REM, in1, in2, out3 */
         break;
       }
     }
+#ifdef SQLITE_OMIT_FLOATING_POINT
+    pOut->u.i = rB;
+    MemSetTypeFlag(pOut, MEM_Int);
+#else
     if( sqlite3IsNaN(rB) ){
       goto arithmetic_result_is_null;
     }
@@ -1305,6 +1309,7 @@ case OP_Remainder: {           /* same as TK_REM, in1, in2, out3 */
     if( (flags & MEM_Real)==0 ){
       sqlite3VdbeIntegerAffinity(pOut);
     }
+#endif
   }
   break;