clickhousedatabasedatabase-managementdatabaseselasticsearchfirebirdmongodbmssqlmysqloraclepostgresqlsimpledbsqlite
Current implementation checks the delta between the local time and UTC, and applies the delta as time zone for MySQL. This assumption is wrong if the current time is DST enabled, but the time that is converted isn't - and vice versa. For example, Europe/Prague is "CET-1CEST,M3.5.0,M10.5.0/3", when the MySQL connections is setup now (September, DST enabled) and we are reading a TIMESTAMP from November, then MySQL applies +0200 instead of +0100 to that timestamp even though November is supposed to be DST disabled. There is no reliable and portable way in PHP to understand the time zone, especially since PHP >= 5.4.0 ignores environment variable and OS settings [1]. MySQL needs to be properly setup (TZ data loaded [2] and default TZ set [3]), then everything will work just fine. The current implementation however causes wrong data 50% of the time, even when OS/MySQL/PHP is properly setup. As a MySQL connection will converte timestamps from both DST enabled and DST disabled dates, a static UTC offset must never be set at connection level (set time_zone = ...). This change removes the current implementation, therefor maintaining OS/MySQL defaults, fixing the DST issue in properly configured environments. [1] http://php.net/manual/en/function.date-default-timezone-get.php [2] https://dev.mysql.com/doc/refman/5.5/en/mysql-tzinfo-to-sql.html [3] https://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html |
||
---|---|---|
adminer | ||
designs | ||
editor | ||
externals | ||
plugins | ||
tests | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
changes.txt | ||
compile.php | ||
composer.json | ||
coverage.php | ||
lang.php | ||
readme.txt | ||
todo.txt |
Adminer - Database management in a single PHP file Adminer Editor - Data manipulation for end-users https://www.adminer.org/ Supports: MySQL, PostgreSQL, SQLite, MS SQL, Oracle, SimpleDB, Elasticsearch, MongoDB, Firebird Requirements: PHP 5+ Apache License 2.0 or GPL 2 adminer/index.php - Run development version of Adminer editor/index.php - Run development version of Adminer Editor editor/example.php - Example customization plugins/readme.txt - Plugins for Adminer and Adminer Editor adminer/plugin.php - Plugin demo adminer/sqlite.php - Development version of Adminer with SQLite allowed compile.php - Create a single file version lang.php - Update translations tests/selenium.html - Selenium test suite