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
drh
618ee61e04
Attempt to fix harmless warnings generated by GCC and Clang runtime analyzers.
...
FossilOrigin-Name: b522c95ddcd7046dca756f4d1a1e90c34dbcab64
2015-07-15 18:04:48 +00:00
drh
0ede9ebec7
Improvements to compile-time-option hygiene. Use "#if OPTION" instead of
...
"#ifdef OPTION" in cases where that makes sense, so that -DOPTION=0 will work.
Add the "Have-Not" configuration in releasetest.tcl which disables all of
the "HAVE_component" compile-time options.
FossilOrigin-Name: 9e92a5ed5aaba20461ed4ce8359d6e34e7773d68
2015-01-10 16:49:23 +00:00
drh
655814d2bd
Fix three crash problems discovered by afl-fuzz.
...
Ticket [a59ae93ee990a55].
FossilOrigin-Name: fe5788633131281a0f27c5b75993ce2ff958bfeb
2015-01-09 01:27:29 +00:00
drh
86a11b8a6a
Fix harmless typos in comments.
...
FossilOrigin-Name: 94c564da4c2cf5dffe58fdf7a180e9ba4cc3de69
2014-11-07 13:24:29 +00:00
peter.d.reid
60ec914c74
Fix typos in comments. No code changes.
...
FossilOrigin-Name: e62aab5e9290503869e1f4d5e0fefd2b4dee0a69
2014-09-06 16:39:46 +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
3170225f19
The date/time functions return NULL if the xCurrentTime or
...
xCurrentTimeInt64 VFS methods fail.
Ticket [0b803bff856c644c]
FossilOrigin-Name: c96651dd6ceadd51c9e1f4d942177d3c128c47b4
2011-10-12 23:13:43 +00:00
drh
df3aa16e2b
Fix some harmless compiler warnings that were occurring with THREADSAFE=0.
...
FossilOrigin-Name: 9b191bb4c7c1e1b12b188c0b3eee1f8f587887c8
2011-06-24 11:29:51 +00:00
drh
1f93a08070
Give the osLocaltime() function file scope in date.c.
...
FossilOrigin-Name: 1577484595b5e5aab93722d76b273c911a04dc2c
2011-06-21 15:54:24 +00:00
dan
0d37f58184
Initialize a variable introduced as part of the fix for [bd484a090c8077] in order to silence a compiler warning.
...
FossilOrigin-Name: 6b9877fa43bf29a9740285f0c40a6e6cf21f8190
2011-06-21 15:38:05 +00:00
drh
a924acad0f
Rework the localtime logic yet again in order to make all branches reachable
...
and to follow GNU standards for HAVE_LOCALTIME_R-type macros.
Ticket [bd484a090c8077].
FossilOrigin-Name: 176248095b8056443ebcbff819e575bd100f5e50
2011-06-21 15:01:25 +00:00
drh
8720aeb564
Simplifications to the localtime() interface. Fix the case where
...
localtime_r() is available so that it works. Ticket [bd484a090c8077].
FossilOrigin-Name: 5b68dae320d0fa3dc433826811e5018a47461de7
2011-06-21 14:35:30 +00:00
dan
7c8b355e65
Change the error message returned when localtime_r() fails to "local time unavailable".
...
FossilOrigin-Name: 0e82175fd86f0ca5da90676aaee3118a70264d85
2011-06-21 13:46:11 +00:00
dan
30ce189dc9
Fix an error made in the previous commit. The parameters to localtime_s() were accidentally reversed.
...
FossilOrigin-Name: 97e86ec6df4d893527fe9f43eb46163d9b06416a
2011-06-21 12:53:14 +00:00
dan
c17d696c14
Return an error if localtime_r() fails within one of the date/time functions. Fix for [bd484a090c].
...
FossilOrigin-Name: 76ae8257efc1df6e20ce5718d4824adbbde423ec
2011-06-21 12:47:30 +00:00
drh
9339da1f22
Rework the text to numeric conversion routines so that they work with either
...
UTF8 or UTF16 and do not require a NULL terminator. This allowed text to
numeric conversion without reallocating the string.
FossilOrigin-Name: 14eed3a0e0a45c6f2904a3a134aa27c159916f7b
2010-09-30 00:50:49 +00:00
drh
d5e6e4004b
Fix a bug in the computation of the current time for the alternative
...
CURRENT_TIMESTAMP functions used when SQLITE_OMIT_DATETIME is defined.
FossilOrigin-Name: e7ded46b5efabe521008d9043dd72bd1ca748316
2010-05-03 19:17:01 +00:00
drh
b7e8ea2015
Use VFS method xCurrentTimeInt64 instead of xCurrentTime when it is available.
...
Provide an implementation of xCurrentTimeInt64 for os_unix.c.
FossilOrigin-Name: ab77b3ae6da3370d8bc3b2c9c0edc723b69f5a95
2010-05-03 14:32:30 +00:00