drh
941602ae4f
Change constant expressions to pre-computed constants, because apparently
...
MSVC on ARM requires that.
[forum:/forumpost/4feb1685cced0a8e|Forum thread 4feb1685cced0a8e].
FossilOrigin-Name: 6c103aee6f146869a3e0c48694592f2e4c6b57ecdb4450f46e762c38b4e686f1
2024-06-11 14:36:56 +00:00
drh
18281494a2
Fix a compiler warning in date.c. Update makefiles to include all necessary
...
dependencies for building shell.c.
FossilOrigin-Name: 178b7d46f9c8e1694ed6f506d2785a9f5c49e2b428e04c8096d557cc1b5c9680
2024-03-04 18:22:18 +00:00
drh
3f273db39b
Adjust date/time functions so that they do a better job of keeping track
...
of whether the current time is UTC or localtime, and no-op the 'utc' and
'localtime' modifiers accordingly. See
[forum:/info/e7a939e074|forum post e7a939e074].
Also add the datedebug() function, available
only under -DSQLITE_DEBUG, for improved visibility of the DateTime object
during debugging and testing.
FossilOrigin-Name: dc569683748354a6db83438904422e802d3ea780775c48da85b474fff03ca8a1
2024-03-04 13:58:09 +00:00
drh
8d25d07d50
Fix assert() statements in date/time computations: The month and day numbers
...
can be zero if an error has been seen.
FossilOrigin-Name: fc773f6c76ec114be8b6e25b13885acb5adcc9d052dca0d8d0ff94e2a0743d64
2024-03-04 11:12:15 +00:00
drh
aefa7afddb
Back out the previous change. Replace it with new date modifiers "ceiling"
...
and "floor".
FossilOrigin-Name: f0831cced2c919e409214d936c81473ae321a98c5bd78b5b729c1269bf71bc45
2024-03-03 20:15:36 +00:00
drh
f52afaf738
Change the magic time-interval names that do truncate-to-same-month to be
...
"mnth" and "yr" - "month" and "year" without the vowels.
FossilOrigin-Name: 296b46c529d79385d7f4db2c789254a992c01ff66fe8ba6d3a3ce4aaac0203fb
2024-03-02 20:50:56 +00:00
drh
6964005847
Proof-of-concept for new time-interval operator "pg-month" and "pg-year" that
...
use the truncate-to-month algorithm for month overflow instead of the
wrap-to-next-month algorithm that is used by SQLite by default.
FossilOrigin-Name: b606c0965788f56547435c9318b60e32990877e14a9640d887f33f39d1bdc7c3
2024-03-02 13:38:46 +00:00
drh
199b0b2d6e
Fix a harmless typo in a comment.
...
FossilOrigin-Name: 382a8f94bffef3e5f715116e363a30e21e2c53cd42d4959dfbe90c4624143e6d
2024-01-21 21:20:33 +00:00
drh
514bf99b6a
Simplifications to the strftime() logic.
...
FossilOrigin-Name: aaa5a044d8a4942278eb4269fa8c7252f9f1dc161408e618e7c97c55a12283ff
2024-01-20 18:26:28 +00:00
drh
f08287cc12
Implement a new algorithm for computing ISO week values in strftime() based
...
on the idea (from [forum/forumpost/3681cb1bcd|Nuno Cruces]) of shifting the
date being tested to the Thursday of the same week.
FossilOrigin-Name: b06ab46a9ee98719159ed3e05cdfbf26281353d781206f56ed7cb12859210fed
2024-01-20 00:31:44 +00:00
drh
d0603eda6c
Add support in the strftime() SQL function for conversion letters %G, %g,
...
%U, and %V.
FossilOrigin-Name: e1155d6aa4b960ecfd14fa3467f28672af3327699c547f5b9e75da3ac1348ff7
2024-01-18 16:50:25 +00:00
drh
d4677f192f
Ensure that the YYYY-MM-DD input to date and time functions has been normalized
...
prior to returning a result.
[forum:/forumpost/6bb476897e|Forum post 6bb476897e].
FossilOrigin-Name: b692eb8ccb2d0645599ad73a8bdacf5df499114244aadeb38aabc580fc4dc7c5
2023-11-04 21:44:00 +00:00
drh
a910f3f1c5
New conversion letters added to strftime(): %e, %k, %I, %l, %R, %P, %p, %T, %u.
...
FossilOrigin-Name: 058722b2d0b995195a8ce3effe9722ae1c18cb1e7a520b481030da0bd579fe41
2023-08-29 18:28:08 +00:00
drh
1be61ad278
Fix large integer constants so that they work on older C compilers.
...
FossilOrigin-Name: 3c94f87806a8b408d8204fc7deec16d01c085ee199ff21a1f20b6346ce816cfe
2023-06-19 13:09:16 +00:00
drh
0587a1a8bb
In date/time functions, fix the rendering of "subsecond" and the
...
computeHMS() routine to better deal with floating point
rounding errors that arise on some 32-bit systems.
FossilOrigin-Name: e46a00ae880dd12df090105498a85017d1367f88bf27d86f0b0200cf0536a906
2023-06-17 15:22:00 +00:00
drh
56a410741b
Address various harmless compiler warnings from
...
[forum:/forumpost/d526da8ee4|forum post d526da8ee4].
FossilOrigin-Name: 365caf2f97e8f15842f52536e8d05d359e9d6e863182e020ce14a9a9f27ee057
2023-06-16 14:39:21 +00:00
drh
0c04f2e576
Work around what appears to be a GCC 32-bit optimization problem in the
...
computeHMS() routine of the date/time logic.
FossilOrigin-Name: aebdbcbebff1319dd00551c9fb9ad4b08859f10e87f097295d564ae1ba188c02
2023-06-14 12:19:07 +00:00
drh
d34ce81867
Extended the time-diff format so that it can have a 5-digit year. This enables
...
time differences to span the full range of dates supported by SQLite. Also
fix some inaccuracies in the computation of time differences and add new
test cases.
FossilOrigin-Name: d57ddbf4eeeb3ccfe31871f098045b9e58634153a3c3030f597cb58c1177218a
2023-06-13 16:55:24 +00:00
larrybr
55be21647e
Fix straggler misspellings and tidy the custom dictionary. Also include pickups from [forum:/info/c61fb09afd|forum post c61fb09afd].
...
FossilOrigin-Name: 8c291d99946eb32b20b743921202f9c7cfb716268ff526817b27adbb7942e40b
2023-06-07 17:03:22 +00:00
drh
7d65f1bec0
Simplifications to the new timediff() logic.
...
FossilOrigin-Name: d6954259bd3f8475f3804fd02a1591d037efa9df54da45776863c024ff90e596
2023-05-30 14:46:30 +00:00
drh
30bb082d3a
All date/time modifiers of the form (+/-)YYYY-MM-DD without the following
...
HH:MM:SS.SSS.
FossilOrigin-Name: fa9237a8ab803ca3f67fe753516b7bdb98be3d625e8e241ddf9b02509210e225
2023-05-30 11:13:56 +00:00
drh
36a5f1e90c
Problems fixed. All tests are passing now.
...
FossilOrigin-Name: cff293b0a79107def7bfe54fd60ac4a721c5098c85229d9b46a4e2c4cbf34a6a
2023-05-30 02:50:32 +00:00
drh
6abbef89e6
Improvements to the timediff() function. Test cases added. Not all test
...
cases are passing.
FossilOrigin-Name: 2cf6518140d61e2123dc20f39d7e97e7bce17e7641405df7fd63e1cdda444ae0
2023-05-30 02:16:33 +00:00
drh
1936a1933c
New date/time modifier: (+|-)YYYY-MM-DD HH:MM(:SS.SSS)?
...
FossilOrigin-Name: 3832b8a9ef84d9b53b48dfce9c1e724897cd7b3e05711e01675419655f894eac
2023-05-29 20:33:33 +00:00
drh
0cbc2143b9
Prototype implementation of a proposed "timediff(X,Y)" SQL function.
...
FossilOrigin-Name: 054a195125a273bab026ada5f07cc7c32818007027a1fd028ca59d2f179276d4
2023-05-29 18:01:42 +00:00
drh
11d5efde75
Add a new modifier to date/time functions: "subsecond". May be
...
abbreviated as just "subsec". This modifier causes functions to try
to show fractional seconds if they do not already.
FossilOrigin-Name: 03f2a15e8779d8ca76510badeabde62a0539ce8a6368d7a9688f5aadc215b940
2023-04-21 15:30:47 +00:00
drh
0c55b5fd1c
Change a variable from 32 to 64-bits to avoid a harmless compiler warning
...
in Xcode. [forum:/forumpost/402d733c22|Forum post 402d733c22].
FossilOrigin-Name: 0216ce23cf23bc147c5de6de178a6689b7ad744bf0ee0098809938b5fe10708b
2023-02-11 21:11:39 +00:00
drh
601e4d4a0f
Back out the 'txn' enhancement to date/time functions. The duration of a
...
"transaction" is confused and needs to be straightened out prior to moving
forward with this change.
FossilOrigin-Name: 4a145f07322d768a07619bed27e0390d50f3a01d07787b9296234a5ceb6f1218
2023-02-08 20:29:48 +00:00
drh
ed092fc368
Revert the behavior of date/time functions with no arguments so that they
...
once again work like 'now', even while CURRENT_TIMESTAMP and similar work
like 'txn'.
FossilOrigin-Name: 06180caff0f5d8aba83b9f7be682ccdd6cb2ffc228b557ee6c1fd00fe5c23e92
2023-02-08 12:01:48 +00:00
drh
c1dab9ded2
Change the behavior of date-time functions without any arguments (and thus
...
the CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP variables) so that they
work like 'txn' instead of like 'now'. This is an incompatibility with legacy,
but brings SQLite into conformance with all other SQL systems.
FossilOrigin-Name: 1ac78be54502779236645eac35b962797f2fb98307d059d2aa19658c4fa74cb7
2023-02-08 11:34:05 +00:00
drh
3393ee7ff6
Simplify the code and add test cases.
...
FossilOrigin-Name: d3bed4caff561e71c396cc869c5b4d9bf216ba203485e738c12ec62741f1aba5
2023-02-07 23:55:59 +00:00
drh
d4af882a1b
Add support for the 'txn' argument to date/time functions that works like
...
'now' but keeps the same time for the entire transaction.
FossilOrigin-Name: 5e4f45af96247e29910403a63ac148cb313b005f9c014b37a9a49d98f5fef9a6
2023-02-07 21:55:14 +00:00
drh
26e817f69b
Avoid trying to cast an over-sized floating point value into an integer.
...
FossilOrigin-Name: 3518cd7cb1feeefc3963da72c2d258d81d8914f1e1f427da28a00b6228cf126c
2022-08-08 16:25:13 +00:00
larrybr
a5cc692422
Improve accuracy of julian day milliseconds calculation.
...
FossilOrigin-Name: e5e9311863544ef30dccd3bd0b3a048a864a650e69cdf9aab13dbe32a4777b51
2022-07-19 21:12:54 +00:00
drh
ea840117af
Fix the 'localtime' modifier in date/time functions so that it preserves
...
fractional seconds.
[forum:/forumpost/2ffbaa2c3fd7fb82|Forum post 2ffbaa2c3fd7fb82].
FossilOrigin-Name: 1c875b0764ab00e95c92f0ee329659e88041763e125c2891201d80f68c41f717
2022-03-05 20:12:53 +00:00
drh
16f56e8416
Fix compiler warnings for older compilers (ex: gcc 4.0.1 powerpc-apple-darwin).
...
FossilOrigin-Name: 5c188243d769681c68938c8e432155c8ec838d9e32fe8d1b12286ebc9d0e87f1
2022-02-21 14:30:59 +00:00
drh
b30af022da
Fix SQLITE_TESTCTRL_LOCALTIME_FAULT so that it works even if mutexes are
...
enabled.
FossilOrigin-Name: 64537a0669553e8a6b610b9e9703ec084472516c86cfc22a7a6c73b6c66131ee
2022-02-10 23:12:58 +00:00
drh
d7e185ce5d
Enhance SQLITE_TESTCTRL_LOCALTIME_FAULT so that is able to install an
...
alternative localtime() interface so that the localtime logic an be better
tested.
FossilOrigin-Name: 6e25cb0890e8cdc63c9a21e841844d066267fc32ad143527843f7c8d05612b53
2022-02-10 21:26:53 +00:00
drh
eadccaa926
Performance improve to the 'localtime' and 'utc' modifiers for date/time
...
functions.
FossilOrigin-Name: 85cb6014751a0572d28ebd839331d5d7a78de45c9e522adcd834a8a85746f32e
2022-02-10 15:40:40 +00:00
drh
522608d3a2
Faster implementation of the date(), time(), and datetime() functions.
...
FossilOrigin-Name: fa1b393bdb66b985f6552190a8242ed878f91d653a03352f65aa8d750de3cec4
2022-02-10 12:57:53 +00:00
drh
4b51e8bd68
Enforce the restriction that 'unixepoch' only works as the first modifier
...
after the time-value. This has been documented since 2004, but has never
actually been enforced before. Also add new test cases for date/time
functions with evidence marks.
FossilOrigin-Name: 64fa9e8c87179211cec248e6dfd7578502e6e969a19e91a4f0e21ed9b972a6bc
2022-01-27 13:52:01 +00:00
drh
a1c8151bab
Fix some of the new date/time function features to comply with the spec.
...
Update requirement marks.
FossilOrigin-Name: 2f5dc7a9eed89baf6814e9e123354b262c806c853dee1243c93286c564b9aba8
2022-01-21 18:57:30 +00:00
drh
b131bf7039
Reduce the size of the compiled binary by a couple of hundred bytes by
...
using a thigher packing of a transformation table in date.c.
Suggested by [forum:/forumpost/4f6efbb2a9|forum post 4f6efbb2a9].
FossilOrigin-Name: c75ba4fa644d338d22813c17172b9975411fe6197e07fd584e3209e3beb78036
2021-12-23 00:16:06 +00:00
larrybr
969c46486c
Clarity tweak for date.c
...
FossilOrigin-Name: db58b2def014bdb146751110488a088767530ca2557baf73d6181a2558bbe6d3
2021-12-08 20:36:08 +00:00
drh
1312a9c908
Add the unixepoch() function and the 'auto' and 'julianday' modifiers.
...
FossilOrigin-Name: 559fdc0aa76f4c207f99f7b0cee42043b402dc388165817529d9963b115a798c
2021-11-29 17:23:27 +00:00
drh
13ca72d011
Fix harmless compiler warnings, mostly caused by prior efforts to get static
...
analyzers to run without warnings.
FossilOrigin-Name: cddd3b382a118bb16be3a602ae711fe2c2a7d1c673dd30dd3977b67ee555e666
2021-10-05 18:59:05 +00:00
drh
5bf4715e01
Add the sqlite3ResultStrAccum() internal interface to simplify the
...
the implementation of functions that return strings.
FossilOrigin-Name: e548e9299d3fd6ce5b647cf0dd93ff8e917a5eda43076c6a02389c52640e2e50
2021-10-03 00:12:43 +00:00
drh
a7d8d4a07a
Date/time functions with no arguments (ex: date() or time()) should be
...
non-deterministic. Fix for ticket [2c6c8689fb5f3d2f].
FossilOrigin-Name: 1734c332e7f609769fc30f82cf7af097c2964e08900ee3e297f6a25e6df60555
2021-03-16 18:41:20 +00:00
drh
82b0f106ce
Add the sqlite3Int64ToText() routine and use it to convert integers to text,
...
as it is much faster than the generic text formatter.
FossilOrigin-Name: 14eed318aa9e6e16d1aa13a9f34e3822aa135c39ba06c77df7743509fed6c95e
2020-07-21 18:25:19 +00:00
drh
ccb2113a62
Refactoring various names. No changes in the resulting machine code.
...
FossilOrigin-Name: 7bb08b1bfcf184e4b59c8c9028926a0052612ff6a6731914ccdb8dee07ea4a98
2020-06-19 11:34:57 +00:00