Bug #114393 create table will no longer be executable in 2038.
Submitted: 18 Mar 2024 15:54 Modified: 19 Mar 2024 14:04
Reporter: Yuya Fujita Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:MySQL8.0 OS:Any
Assigned to: CPU Architecture:Any
Tags: Y2038

[18 Mar 2024 15:54] Yuya Fujita
Description:
After 2038, create table will no longer be executable.
If you run create table after 2038, you will get ERROR 3507.

This means that systems that include the ability to perform CREATE TABLE will not be available in 2038, which appears to be more serious than the problem with TIMESTAMP.
https://bugs.mysql.com/bug.php?id=12654

I have no idea how to solve the problem, but if you do, please let me know.

How to repeat:
1. Install and run My SQL.

2. Change server time to 2038 or later

3. Execute create table

example
--
Operation failed: There was an error while applying the SQL script to the database.
Executing:
CREATE TABLE `sys`.`new_table` (
  `id` INT NOT NULL,
  PRIMARY KEY (`id`));

ERROR 3507: Failed to update tables dictionary object.
SQL Statement:
CREATE TABLE `sys`.`new_table` (
  `id` INT NOT NULL,
  PRIMARY KEY (`id`))
[19 Mar 2024 12:49] MySQL Verification Team
Hi Mr. Fujita,

Thank you for your bug report.

What you report is truly a bug, but the one on which we can not do anything.

As per the SQL standard, the time is defined as a signed 32-bit integer. This is in line with the ISO standard.

Hence, we are waiting on the new standard where this variable will be 64 bits wide. Our Worklog entry for that change is already prepared, but the current standard has not changed interim.

Until that is done , we can not do anything, just like it is noted in the bug report to which you refer.

Not a bug.
[19 Mar 2024 14:04] Yuya Fujita
Hi.

Thank you for your response.
I am relieved to know that you have a solution to this problem ready.

Could you please provide a list of what problems will occur in 2038? If it exists.
I want to see if my system will work after 2038 without updating from MySQL 8.0.
[19 Mar 2024 14:41] MySQL Verification Team
Hi Mr. Fujita,

We can assure you that ISO committee is working on the solution.

As soon as the new standard is revealed by that committee, we shall implement it immediately.

Currently, there are two alternative solutions. One is to use unsigned 32-bit integer and the other one is to use singed 64-bit integer.

When the new standard comes out, we shall implement it immediately.

We are sure that this will happen before the year 2030.