Hi! Related to this topic I noticed that MariaDB currently has a hard failure if started in 2038+ # date Thu Mar 3 05:55:28 UTC 2039 # ./sql/mariadbd --version 2039-03-03 5:58:55 0 [ERROR] This server doesn't support dates later than 2038 This is due to https://github.com/MariaDB/server/blob/11.5/sql/mysqld.cc#L3903-L3908 /* TODO: remove this when my_time_t is 64 bit compatible */ if (!IS_TIME_T_VALID_FOR_TIMESTAMP(server_start_time)) { sql_print_error("This server doesn't support dates later than 2038"); exit(1); } I see that MDEV-32188 is now "in testing". I wonder how that test was done, did you remove this check in order to get the server starting on a machine that has time set to 2039? On Sat, 3 Feb 2024 at 21:25, Otto Kekäläinen <otto@kekalainen.net> wrote:
Hello!
Does MariaDB already fully support 64-bit time_t (the year 2038 problem)?
MariaDB 10.11 was today uploaded to Debian experimental without any 64-bit time_t support changes, just a library name change[1] to test that it works with the Debian 64-bit time_t tooling as Debian is currently undergoing a transition to it[2]. So far MariaDB built successfully and passed the main MTR suite on 11 architectures[3].
Monty mentioned that some work is in progress, and indeed I found his commits in two branches [4,5] but looking at the commits and their link to buildbot it seems they are not passing the CI. I also found one MDEV[6] to make TIMESTAMP use the whole 32-bit unsigned range.
Are there any other efforts in progress?
Does MTR main suite include tests for 64-bit time support? Should MTR automatically currently fail if toolchain time is 64-bit?
[1] https://salsa.debian.org/mariadb-team/mariadb-server/-/commit/063109a306a016... [2] https://lists.debian.org/debian-devel-announce/2024/02/msg00000.html [3] https://buildd.debian.org/status/package.php?p=mariadb&suite=experimental [4] https://github.com/MariaDB/server/commits/bb-11.4-timestamp/ [5] https://github.com/MariaDB/server/commits/bb-11.4-monty/ [6] https://jira.mariadb.org/browse/MDEV-32188