Add a mysql_session_timezone
define to disable MySQL date functions
#154
+8
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The problem: the Node.js driver for MySQL uses the
DATE_ADD
function to handleDate
values. But MySQL date functions don't correctly handle daylight saving time.Currently, on my servers using the
Europe/Paris
time zone, the queries generated give incorrect results:This issue does not occur with the PHP/PDO driver which converts dates to
yyyy-mm-dd hh:hh:ss
strings.https://github.com/haxetink/tink_sql/blob/master/src/tink/sql/drivers/php/PDO.hx#L86
This PR adds a
mysql_session_timezone
define to disable the use of MySQL date functions in the Node.js driver, bringing it into line with the PDO driver.