On 2014/02/17 09:59, Max Vlasov wrote:
Ok, I hope I found the topic, the title was
"racing with date('now') (was: Select with dates):
one of the links to the archive
https://www.mail-archive.com/[email protected]/msg79456.html
CMIIW, but as I see it, the final modification was commented by Richard
> As a compromise, the current SQLite trunk causes 'now' to be
exactly the
> same for all date and time functions within a single sqlite3_step()
call.
But this is just for now and date-related functions. I wanted to be sure so
created a user function NanoSec() that returns nanoseconds as it is
calculated with QueryPerformanceCounter and QueryPerformanceFrequency on
Windows and clock_gettime(CLOCK_REALTIME... on Linux. Seems like it's not
always real nanoseconds but value that is changed very frequently to be
different for close VDBE instructions of sqlite engine.
So
Select nanosec() - nanosec() from ...
returns non-zero values for most of the times, so there's no guarantee the
user functions or any other functions will be called once for the step.//...
etc.
Did you mark your nanosec function as SQLITE_DETERMINISTIC
<http://www.sqlite.org/c3ref/c_deterministic.html>?
http://www.sqlite.org/c3ref/create_function.html
Which, if not, it can and will very much return non-zero values.
And if you did, either your function or your version of SQLite is broken.
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users