aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2010-01-13 16:25:42 +0000
committerdrh <drh@noemail.net>2010-01-13 16:25:42 +0000
commitc5a7b51c695ba6698a70ad86f6c0481fbd9c0564 (patch)
tree41876edf571ae0c35638cfffe23c8a0e316beb73
parent52d14521fa428d232b61b3b73bcfbb53c6e2d3e4 (diff)
downloadsqlite-c5a7b51c695ba6698a70ad86f6c0481fbd9c0564.tar.gz
sqlite-c5a7b51c695ba6698a70ad86f6c0481fbd9c0564.zip
When SQLITE_OMIT_FLOATING_POINT is defined, make sure the result of a
mathematical operation is always tagged as an integer. FossilOrigin-Name: e12da0d316fcc34a75554d59fe6d11d9f0e059e2
-rw-r--r--manifest18
-rw-r--r--manifest.uuid2
-rw-r--r--src/vdbe.c5
3 files changed, 15 insertions, 10 deletions
diff --git a/manifest b/manifest
index 4ad93f2a0..0d6fa15ff 100644
--- 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-----
diff --git a/manifest.uuid b/manifest.uuid
index bc0433dc2..07f50d9ac 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-417167182efaa1da74008952137de3e00c23494e \ No newline at end of file
+e12da0d316fcc34a75554d59fe6d11d9f0e059e2 \ No newline at end of file
diff --git a/src/vdbe.c b/src/vdbe.c
index a7d693d53..af7e7ce9e 100644
--- a/src/vdbe.c
+++ b/src/vdbe.c
@@ -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;