vitessio / vitess

Vitess is a database clustering system for horizontal scaling of MySQL.
http://vitess.io
Apache License 2.0
18.67k stars 2.1k forks source link

NOW() does not respect timezone changes within current session #16820

Closed systay closed 1 month ago

systay commented 1 month ago

When the timezone is set on the current sessions, it's not respected if the query is executed on vtgate.

> SET time_zone = '+10:00';
Query OK, 0 rows affected (0.00 sec)

> SELECT @@session.time_zone;
+---------------------+
| @@session.time_zone |
+---------------------+
| +10:00              |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT UTC_TIMESTAMP(), NOW();
+---------------------+---------------------+
| UTC_TIMESTAMP       | NOW()               |
+---------------------+---------------------+
| 2024-09-23 07:22:42 | 2024-09-23 07:22:42 |
+---------------------+---------------------+
1 row in set (0.00 sec)

In this example, NOW() should not return the same value as UTC_TIMESTAMP()