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
drh
b1243a6d9c
MSVC does not allow constant expressions as initializers for
...
constants with /fp:strict.
FossilOrigin-Name: 076658e5d21d9284448f41312b83a6c3d25394c2bfa088ef6cdfe1dc60277856
2020-03-28 12:01:25 +00:00
drh
915530dcc8
Improved rounding in the 'unixepoch' feature of the date and time functions.
...
FossilOrigin-Name: c9abf1bd2d2496ced9ef4619cd997933cd58452e6ab527ba70746c9975104b6a
2020-01-17 16:47:07 +00:00
drh
9a2782293c
When casting string values into numeric and the string has a prefix that looks
...
like a number but total string is not a well-formed number, then take extra
care that the result is either integer or real depending on what the prefix
looks like. Fix for tickets [e8bedb2a184001] and [4c2d7639f076aa].
FossilOrigin-Name: 67a68af5578f08d2be2e48cf4fd12a6cf35a09c47d259deda81950f7ee1f02f7
2019-06-07 22:26:08 +00:00
mistachkin
a0951d875b
Fix typo in comment. No changes to code.
...
FossilOrigin-Name: 95958b60f9282384cac8f29c519d0fa1c32d7c0366c01ce681f6691e5bbf8438
2017-12-07 22:04:53 +00:00
drh
6e97f8ec84
Combine the Parse.ckBase and Parse.iSelfTab fields into just Parse.iSelfTab.
...
This fixes a problem with date/time functions in check-constraints. Add
some test cases for date/time functions in index expressions and check
constraints.
FossilOrigin-Name: 22eda0985ecd1f456c073e6ad735a8417f3ff1fb6aaad1640e1cec01e50c51d8
2017-07-20 13:17:08 +00:00
drh
3e34eabcdf
Allow indexes to be created on date/time functions as long as the 'now'
...
date and the 'localtime' and 'utc' modifiers are not used.
FossilOrigin-Name: 0a5e1c04d9d07bb7fd6546a9ddac1bf42b19ea19c2b79570aea6cd4226887a27
2017-07-19 19:48:40 +00:00
drh
0c3233be0b
Fix an assertion fault found by OSSFuzz.
...
FossilOrigin-Name: e39769f442ea86273f8fb7bd2f249b7d760b2fe4bf9ec191ff91def8231f3f35
2017-04-22 00:20:49 +00:00
drh
f3f883fcd7
Remove an redundant function call from the date/time function implementation.
...
FossilOrigin-Name: 4a04c48a311b19ba5e566877dc5baff543c41aba
2017-03-03 21:36:26 +00:00
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
fb4e3a3bbb
Encode a 64-bit integer literal in date.c as a constant expression so that
...
it works on older compilers. Also fix a harmless compiler warning in vdbe.c.
FossilOrigin-Name: f57952bac652901e1bd48b68301941efbcf29dc4
2016-12-30 00:09:14 +00:00
drh
d12602a9c5
Rename the SQLITE_OMIT_BUILTIN_TEST compile-time option to SQLITE_UNTESTABLE.
...
FossilOrigin-Name: f360818737e73ee4f944685a547abc8f14f47819
2016-12-07 15:49:02 +00:00
drh
e6ad1717da
Fix a harmless redundant local variable declaration in the date/time function
...
logic.
FossilOrigin-Name: b4bc40d1836d8ed0803b81a734ce48be8e9d434a
2016-12-05 20:16:04 +00:00
drh
6d4e9c3d92
Simplify the date/time function logic for improved rebustness and also to
...
decrease the size of the binary.
FossilOrigin-Name: 6e144735ed0cd3d4461ae6a4d8034264563e3165
2016-12-02 19:07:03 +00:00
drh
861a56821b
Extend the valid range of 'unixepoch' dates from JulianDay 0 through 9999-12-31.
...
FossilOrigin-Name: 768c9859b21a3c88be084d6dd87acab4211b3a87
2016-12-02 17:08:27 +00:00
drh
b5489b88b0
More improvements to boundary cases in the date/time functions, flowing out
...
of branch coverage testing.
FossilOrigin-Name: 1218005ab7b52ef45db1354d17fdd8a1a1af9854
2016-11-30 04:07:57 +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
c330887291
Fix a unused variable that comes up with -DSQLITE_OMIT_DATETIME_FUNCS.
...
FossilOrigin-Name: e2f9919e34c70761e4e275eeffca8ccf9159223c
2016-08-02 20:42:24 +00:00
mistachkin
8366ddf242
Add and adjust comments.
...
FossilOrigin-Name: 541c6da23850673f5d2a2e31c3967b796ee2effc
2016-04-12 16:11:52 +00:00
mistachkin
0cedb963a3
Further refinements.
...
FossilOrigin-Name: b35bb928b25492f6dd71ccf9c250cb9f0cce09ff
2016-04-11 22:45:45 +00:00
mistachkin
c0d10c8d4f
Merge updates from trunk.
...
FossilOrigin-Name: 00990020d07d7c87b922cdbfa5373298a86bb4b3
2016-04-05 17:59:56 +00:00
drh
80738d9c3e
Improvements to the application-defined function mechanism so that it is
...
more compact and runs faster, especially when the application defines
thousands of new SQL functions.
FossilOrigin-Name: 3201fbcc5105d23132e6b8b7ac825e66af4f8a39
2016-02-15 00:34:16 +00:00
drh
575fad6500
Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority
...
cases where db is guaranteed to be not NULL.
FossilOrigin-Name: 0a802e96ab06e2643834b83671fa8353da1a348d
2016-02-05 13:38:36 +00:00
mistachkin
6cc16fc070
Cleanup localtime() support for Windows CE.
...
FossilOrigin-Name: 39759a553208d8ef72964bdd539a0883e1d99cf6
2016-01-23 01:54:15 +00:00
drh
3349620e9e
Simplification to the ISO8610 parser in the imnplementation of date/time
...
functions.
FossilOrigin-Name: b9159f42a517a95ae52464c96431708c00b7bb36
2016-01-14 19:32:46 +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
1d85e405e6
Make the distinction between truly deterministic functions and date/time
...
functions which only return the same answer for a single query. Only truly
deterministic functions are allowed in indexes. Add new expression index
test cases.
FossilOrigin-Name: c77554b5c42327106a7b90334e9cc3c07b007c76
2015-08-31 17:34:41 +00:00