Commit Graph

47 Commits

Author SHA1 Message Date
drh
35a0925a23 Fix another corner-case for the 'start of ...' modifier in the date/time
functions.  Related to ticket [6097cb92745327a1].

FossilOrigin-Name: 8831f4393dda42b3434e7767968caea84bbca2af
2017-03-03 20:43:43 +00:00
drh
9715f7f033 Fix a bug in the 'start of ...' date/time modifiers when they follow a
julian day number.  Fix for ticket [6097cb92745327a1].

FossilOrigin-Name: 081dbcfb6d82528cefecb36c4491fa6e1a790b17
2017-03-02 23:40:21 +00:00
drh
d76a902c87 Further changes to the date/time functions to suppress harmless signed
integer overflow warnings that could have occurred when doing out-of-range
date calculations which, according to the docs, give undefined results.

FossilOrigin-Name: dc453b3403450b1d8cc53daf0721fed025b9053c
2016-11-30 00:48:28 +00:00
drh
3edb157e23 The documentation says that the built-in date-time functions give undefined
results for dates before 0000-01-01 and after 9999-12-31.  Change the
actually implementation so that the answer given is really NULL.  This also
avoids unnecessary hand-wringing over an signed integer overflow that might
otherwise occur when processing out-of-bound dates.

FossilOrigin-Name: d410a839752153c6d8be08f758abfbc16475745a
2016-11-29 20:39:48 +00:00
drh
caeca516a7 Enhance the 'utc' modifier on date/time functions so that if the LHS is
already known to be in UTC, the modifier becomes a no-op.  This is not an
incompatibility because the behavior is documented as "undefined" in that
scenario.

FossilOrigin-Name: b910a3d53769689d9212a06f974ccce54844bbe4
2015-12-23 10:54:48 +00:00
drh
e9b9f7599a Remove debugging logic accidently included in the previous check-in.
FossilOrigin-Name: 2887fb38ffc28712c34028cd38db2b7993d864eb
2015-03-13 00:11:09 +00:00
drh
3df79a9a1f Fix the "now" option for date-time functions for cases when STAT4 is disabled.
FossilOrigin-Name: 3ac1f6a3cf1a8fd3ab1ca96b2564c13c4b8d2234
2015-03-12 23:48:27 +00:00
drh
e4bf4f08c0 Add requirements marks. No code changes.
FossilOrigin-Name: 5e0d43ab55de006b20c58cb18b938d1c7b658e51
2013-10-11 20:14:37 +00:00
drh
95a7b3e36d The date and time functions use the exact same notion of "now" for every
invocation within the same call to sqlite3_step().

FossilOrigin-Name: daf6ba413cb3cb6065774ba07495eab4a28b49b0
2013-09-16 12:57:19 +00:00
drh
72b3fbc7b5 Improved accuracy on text-to-real and real-to-text conversions. Most
conversions now round-trip correctly.  Still need to fix some corner
cases.

FossilOrigin-Name: 8ecffca900cd6a8922001fd458a266ce8c83fb66
2012-06-19 03:11:25 +00:00
drh
025586a259 Do correct affinity transformations on floating point values which have
a decimal point at the beginning or end of the mantissa.
Ticket [3998683a16a7076e08f5].

FossilOrigin-Name: ca154f97a590745539b2cbfd77eb319fd7392a40
2010-09-30 17:33:11 +00:00
dan
10f5a50e57 Add a version number to the wal-index header. If SQLite encounters a version number in either the wal or wal-index files that it does not understand, the operation is abandoned and SQLITE_CANTOPEN returned.
FossilOrigin-Name: 8d0f8a7f70d6fb42369411a934b30f8c8ca8322f
2010-06-23 15:55:43 +00:00
dan
68928b6c3e Some changes to test scripts related to codec enabled versions of sqlite.
FossilOrigin-Name: 85dd51a75c75b2a123744f646e04538e4e5d89b3
2010-06-22 13:46:43 +00:00
drh
7fee360d09 Make sure the 'unixepoch' converter in the date and time functions rounds
to the nearest millisecond rather than truncating downward to the next
smaller millisecond.  Ticket #3808. (CVS 6512)

FossilOrigin-Name: e6e036b345b130c207716c4b81719b5b7c884a11
2009-04-16 12:58:03 +00:00
drh
6eb41523f1 Fix the strftime() function so that the %s format can handle dates outside
of the range of 1901 to 2038.  Ticket #3769. (CVS 6430)

FossilOrigin-Name: a95b843a9251ca9f9a23e8b67c2126f4c297a534
2009-04-01 20:44:13 +00:00
drh
c531a22377 Fix a round-off error when moving dates by negative modifier amounts.
Ticket #3618.  Enhance the "NNN years" modifier to accept fractional
years. (CVS 6220)

FossilOrigin-Name: 86be908c5e77ba2b9ac98e394fa987b443d790f8
2009-01-30 17:27:44 +00:00
drh
c8d75674d6 Add tests to verify correct behavior when mutex initialization fails. (CVS 5359)
FossilOrigin-Name: 65875005ac8bc7988d7d7d8e8b999857449568fd
2008-07-08 02:12:37 +00:00
drh
c91d86c95a Fix a typo in the date/time function tests. Add additional cases to
the zeroblob tests to make sure sqlite3_bind_zeroblob() does not use
excess memory. (CVS 5216)

FossilOrigin-Name: c1006fb1c817bc0b7fada873edb772abbf972012
2008-06-12 18:05:40 +00:00
drh
85f477a141 Convert the date/time functions to work with milliseconds since the
julian epoch internally (instead of days since the epoch) in order to avoid
problems with floating-point roundoff error.  The interface is unchanged. (CVS 5215)

FossilOrigin-Name: ed35f8a98323dadb64b423615287fb24ea262ffb
2008-06-12 16:35:38 +00:00
shane
f1aaaa4092 Added additional testcases for julianday calculations with midnight boundary for UTC time. (CVS 5209)
FossilOrigin-Name: edd2cb00ae606858d8ae138c69eee7821b8cd6ea
2008-06-12 05:16:14 +00:00
shane
05eaf73c8c Added more DST boundary checks for 2006 and 2007. Added check for suspect Windows DST implementations and warning about them. Ticket #2322. (CVS 5147)
FossilOrigin-Name: 14226ff0a7af7b39a1089a17eeb5bbb8d09d778d
2008-05-20 14:01:59 +00:00
drh
5f3a367bf3 Fix a bug in the RTRIM collating sequence discovered while working
on condition/decision branch coverage.  Increase test coverage of
the date/time functions. (CVS 5010)

FossilOrigin-Name: c5435f71efa0b34c759bac4a15fdf43abf39ddfc
2008-04-15 04:02:40 +00:00
drh
1cfdc90b43 Accept "Z" as the zulu timezone at the end of date strings. (CVS 4805)
FossilOrigin-Name: 4c9a7b42b797f42f2b1e2e8d6a260044bd22ef2d
2008-02-21 20:40:43 +00:00
drh
008e476c28 Test coverage for date.c. (CVS 4722)
FossilOrigin-Name: a676f949b68c968d7e71aceb060c1639b42ba680
2008-01-17 22:27:53 +00:00
danielk1977
e6a58a4e2a Allow sqllimits1.test to be run from a regular build of testfixture. Add the 'amalgamation-testfixture' target to main.mk - to build testfixture via sqlite3.c. (CVS 4354)
FossilOrigin-Name: d119427314d27f291b605073d34826cdb89746c1
2007-08-31 17:42:48 +00:00
drh
5bb3eb9b9a Eliminate all uses of sprintf() and strcpy(). These were not being
misused.  But getting rid of them removes a library dependency.  And
it avoids warnings from the OpenBSD compiler.  Ticket #2336. (CVS 3916)

FossilOrigin-Name: ba4845b32bdf38e623c4f7246e6e327715bbba4b
2007-05-04 13:15:55 +00:00
drh
05f7c19a6e Test coverage improvements. Over 90% of branches are now executed in
both directions. (CVS 3820)

FossilOrigin-Name: a776d93ccae3bfa6e992cdd1387571dd21561f98
2007-04-06 02:32:33 +00:00
drh
2ecad3b443 Make sure the strftime() date conversions put in leading zeros correctly.
Ticket #2276. (CVS 3749)

FossilOrigin-Name: e853067ec4db3eedfb4adcdd4172de2c55b9ac58
2007-03-29 17:57:21 +00:00
drh
622fa9a80e Fix another round-off problem in strftime(). Ticket #2153. (CVS 3574)
FossilOrigin-Name: d49ddc5ff05dd65e73edfa76db7e1af36967d81a
2007-01-08 16:19:07 +00:00
drh
c2c9eef6b3 Fix a round-off error in the %W and %j conversions of the strftime() function.
Ticket #2150. (CVS 3570)

FossilOrigin-Name: 52067937803e6b36afc8f11c5d24059414208b77
2007-01-08 13:07:30 +00:00
drh
9df9492adc Fix a roundoff error in the %f converter of strftime(). Ticket #1991. (CVS 3442)
FossilOrigin-Name: 51b9c755ea01528e32690aabe91236ed917369f1
2006-09-25 18:03:28 +00:00
drh
f11c34df74 Bug fix in date/time computations. Ticket #1964.
Some unrelated comment typos are also fixed and got accidently
checked in at the same time. (CVS 3396)

FossilOrigin-Name: c81eaa0dc9a327d222e066076c4a2da5e69d8c21
2006-09-08 12:27:36 +00:00
drh
9645d8d4b3 Remove use of the "clock" command in the test suite so that the tests
will run in Tcl8.5.  Ticket #1445. (CVS 3380)

FossilOrigin-Name: bedbac54db173ceb74bd78acd021209f28aa30a8
2006-09-01 15:49:05 +00:00
drh
5739103e98 Fix timezone parsing in the date/time functions. Ticket #1587. (CVS 2891)
FossilOrigin-Name: 94c87b70161d4d44fbf1602fc2baae22dca08759
2006-01-09 00:18:02 +00:00
drh
4cb29b4cfc Allow the character "T" between date and time in ISO-8601 date/time formats.
Ticket #1170. (CVS 2408)

FossilOrigin-Name: 2bf88daa57b01216c7bbe67972f479ee12be1193
2005-03-21 00:43:44 +00:00
drh
018d1a4929 Test coverage improvements. (CVS 2215)
FossilOrigin-Name: 92f9d2b2f480fccfa6e8b70a1d19058b92a4ea8f
2005-01-15 01:52:31 +00:00
drh
b7f9164e98 Insert #ifdefs that can optionally remove features at compiletime resulting
in a database engine with a smaller footprint. (CVS 2034)

FossilOrigin-Name: be661acfa849bb0d5692797dd221f5a8a457f8ad
2004-10-31 02:22:47 +00:00
drh
27d258a3ec Begin adding the ability to remove unused features at compile-time and still
have all the tests pass. (CVS 2033)

FossilOrigin-Name: 2aa506ccb003a25555b414772002d0130db93052
2004-10-30 20:23:09 +00:00
drh
92febd92ad Tcl interface transfers values directly between SQLite and Tcl_Objs, without
at translation to strings. (CVS 1898)

FossilOrigin-Name: e97c331362545ce21117776c7b61d3488668f2bf
2004-08-20 18:34:20 +00:00
drh
1020d49a31 The %W date specifier in strftime should be measured from the first Monday
of the year.  Ticket #758. (CVS 1805)

FossilOrigin-Name: 50b016b00470e6303ede1173d0447d8239563263
2004-07-18 22:22:43 +00:00
drh
0d131ab716 One more fix to the new HH:MM:SS modifier. This time add some test
procedures too. (CVS 1280)

FossilOrigin-Name: 7b3b8968ee9a5349dd6e9ae1e7a311bf8906607c
2004-02-29 01:08:17 +00:00
drh
8eb2cce55c Enhance date/time functions to work with negative years. Ticket #617. (CVS 1255)
FossilOrigin-Name: ffa971934867b6bbe943c004154d5f161e0ea697
2004-02-21 03:28:18 +00:00
drh
c5dd9fa8ab Preserve the HH:MM:SS for most date/time modifiers. Ticket #551. (CVS 1163)
FossilOrigin-Name: 70df32b716b0d6a4f72bb3ae6496431e53733b6a
2004-01-07 03:29:16 +00:00
drh
b46d162d8d The "EST" timezone designation is ambiguous. Do not use it in the test
scripts. (CVS 1155)

FossilOrigin-Name: 720b565e2d02344e4d38263f4995dfabc60c0860
2004-01-02 15:08:43 +00:00
drh
f586aa8b96 Update date/time functions so that they correctly handle NULL arguments. (CVS 1147)
FossilOrigin-Name: a5a5fbd60153dd068ec2559455146e84da075b90
2003-12-23 16:34:12 +00:00
drh
7091cb0566 Add localtime<-->UTC conversions to the date functions. (CVS 1146)
FossilOrigin-Name: 8482b8c44766e7f80fc449b3dbdd3f37396c332b
2003-12-23 16:22:18 +00:00
drh
7014aff37d Revised date/time functions - now broken out into a separate source file.
See the DateAndTimeFunctions wiki page for additional information. (CVS 1116)

FossilOrigin-Name: 68ef9b45bd3abdedf3721011ad0fb22e8735e721
2003-11-01 01:53:53 +00:00