]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Use integer rather than floating point compuations in converting from julian
authordrh <drh@noemail.net>
Fri, 3 Apr 2009 12:04:36 +0000 (12:04 +0000)
committerdrh <drh@noemail.net>
Fri, 3 Apr 2009 12:04:36 +0000 (12:04 +0000)
day number to unix-time to avoid round-off errors on Borland compilers.
Ticket #3769. (CVS 6445)

FossilOrigin-Name: c26f97bd857f3ddb15e63216cdd4a00e06d8eac8

manifest
manifest.uuid
src/date.c

index ee43d0d9b90734ef8098852ca32ae00e685d6a12..cee1ec365efc708f88e2256f615d7ae2ff63e6b8 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sthe\sPRAGMA\sparser\sso\sthat\sit\scan\saccept\snegative\snumbers\sin\sparentheses,\nlike\sthe\ssyntax\sdiagrams\ssay\sit\sshould\sbe\sable\sto.\s(CVS\s6444)
-D 2009-04-03T01:43:57
+C Use\sinteger\srather\sthan\sfloating\spoint\scompuations\sin\sconverting\sfrom\sjulian\nday\snumber\sto\sunix-time\sto\savoid\sround-off\serrors\son\sBorland\scompilers.\nTicket\s#3769.\s(CVS\s6445)
+D 2009-04-03T12:04:37
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in 583e87706abc3026960ed759aff6371faf84c211
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -109,7 +109,7 @@ F src/btreeInt.h df64030d632f8c8ac217ed52e8b6b3eacacb33a5
 F src/build.c 72357fd75ef036d0afbf1756edab6d62c56fcf4b
 F src/callback.c 73016376d6848ba987709e8c9048d4f0e0776036
 F src/complete.c cb14e06dbe79dee031031f0d9e686ff306afe07c
-F src/date.c e6263ed8950642f593cb1a2cc8a73dd726cc7888
+F src/date.c 3e5c554b2f4f2d798761597c08147d7b15f35bea
 F src/delete.c eb1066b2f35489fee46ad765d2b66386fc7d8adf
 F src/expr.c b7ce173d17b80e937473147604bfde4bb339a8a0
 F src/fault.c dc88c821842157460750d2d61a8a8b4197d047ff
@@ -715,7 +715,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
-P e0c1a780f5a356c48b2a4cc66fab988fe441722f
-R 296c5be54eca157c79928abcd498e13b
+P 286e83178ddcd2efe2888697bcf8cc95ccdef880
+R 30a6ea722922ccc2b90e18e303f9ce34
 U drh
-Z 399a97baf64ccdeed33e787dae76324d
+Z 2346cfc53762d1e0a988e9f531a51cfc
index 8cb900a48a4c413ed91f4a0c452fdb76a3cadb31..35f026e1413ef8b5b94a89c71a16115d732298da 100644 (file)
@@ -1 +1 @@
-286e83178ddcd2efe2888697bcf8cc95ccdef880
\ No newline at end of file
+c26f97bd857f3ddb15e63216cdd4a00e06d8eac8
\ No newline at end of file
index 69d0daffba6704116171b850c36d2825c282284b..5b1de72f810be43a05adbaa70424398a7be64588 100644 (file)
@@ -16,7 +16,7 @@
 ** sqlite3RegisterDateTimeFunctions() found at the bottom of the file.
 ** All other code has file scope.
 **
-** $Id: date.c,v 1.104 2009/04/01 20:44:14 drh Exp $
+** $Id: date.c,v 1.105 2009/04/03 12:04:37 drh Exp $
 **
 ** SQLite processes all times and dates as Julian Day numbers.  The
 ** dates and times are stored as the number of days since noon
@@ -954,7 +954,7 @@ static void strftimeFunc(
         case 'M':  sqlite3_snprintf(3, &z[j],"%02d",x.m); j+=2; break;
         case 's': {
           sqlite3_snprintf(30,&z[j],"%lld",
-                           (i64)(x.iJD/1000.0 - 210866760000.0));
+                           (i64)(x.iJD/1000 - 21086676*(i64)10000));
           j += sqlite3Strlen30(&z[j]);
           break;
         }