File 0001-MDEV-38874-Make-tests-pass-after-2030.patch of Package mariadb

From b4493ad53d1d2dbabbfa1c90b933ae42d199ac1a Mon Sep 17 00:00:00 2001
From: "Bernhard M. Wiedemann" <bwiedemann@suse.de>
Date: Thu, 19 Feb 2026 15:00:15 +0100
Subject: [PATCH] MDEV-38874: Make tests pass after 2030

Background:
As part of my work on reproducible builds for openSUSE, I check that software still gives identical build results in the future.
I tested with an offset of +11 years, because that is how long I expect some software will be used in some places.
This showed up failing tests in our mariadb package build.
See https://reproducible-builds.org/ for why this matters.
---
 mysql-test/main/mysqldump.result             | 42 ++++++++++----------
 mysql-test/main/mysqldump.test               | 14 +++----
 mysql-test/suite/events/events_2.result      |  4 +-
 mysql-test/suite/events/events_2.test        |  2 +-
 mysql-test/suite/versioning/r/sysvars.result |  4 +-
 mysql-test/suite/versioning/t/insert.test    |  2 +-
 mysql-test/suite/versioning/t/sysvars.test   |  2 +-
 7 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/mysql-test/main/mysqldump.result b/mysql-test/main/mysqldump.result
index ec14b283894..2c28406d739 100644
--- a/mysql-test/main/mysqldump.result
+++ b/mysql-test/main/mysqldump.result
@@ -4688,43 +4688,43 @@ drop table words2;
 create database first;
 use first;
 set time_zone = 'UTC';
-create event ee1 on schedule at '2035-12-31 20:01:23' do set @a=5;
+create event ee1 on schedule at '2085-12-31 20:01:23' do set @a=5;
 Warnings:
 Warning	1105	Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
 show events;
 Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
-first	ee1	root@localhost	UTC	ONE TIME	2035-12-31 20:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
+first	ee1	root@localhost	UTC	ONE TIME	2085-12-31 20:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
 show create event ee1;
 Event	sql_mode	time_zone	Create Event	character_set_client	collation_connection	Database Collation
-ee1		UTC	CREATE DEFINER=`root`@`localhost` EVENT `ee1` ON SCHEDULE AT '2035-12-31 20:01:23' ON COMPLETION NOT PRESERVE ENABLE DO set @a=5	latin1	latin1_swedish_ci	latin1_swedish_ci
+ee1		UTC	CREATE DEFINER=`root`@`localhost` EVENT `ee1` ON SCHEDULE AT '2085-12-31 20:01:23' ON COMPLETION NOT PRESERVE ENABLE DO set @a=5	latin1	latin1_swedish_ci	latin1_swedish_ci
 drop database first;
 create database second;
 use second;
 show events;
 Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
-second	ee1	root@localhost	UTC	ONE TIME	2035-12-31 20:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
+second	ee1	root@localhost	UTC	ONE TIME	2085-12-31 20:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
 show create event ee1;
 Event	sql_mode	time_zone	Create Event	character_set_client	collation_connection	Database Collation
-ee1		UTC	CREATE DEFINER=`root`@`localhost` EVENT `ee1` ON SCHEDULE AT '2035-12-31 20:01:23' ON COMPLETION NOT PRESERVE ENABLE DO set @a=5	latin1	latin1_swedish_ci	latin1_swedish_ci
-create event ee2 on schedule at '2030-12-31 21:01:22' do set @a=5;
+ee1		UTC	CREATE DEFINER=`root`@`localhost` EVENT `ee1` ON SCHEDULE AT '2085-12-31 20:01:23' ON COMPLETION NOT PRESERVE ENABLE DO set @a=5	latin1	latin1_swedish_ci	latin1_swedish_ci
+create event ee2 on schedule at '2080-12-31 21:01:22' do set @a=5;
 Warnings:
 Warning	1105	Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
-create event ee3 on schedule at '2030-12-31 22:01:23' do set @a=5;
+create event ee3 on schedule at '2080-12-31 22:01:23' do set @a=5;
 Warnings:
 Warning	1105	Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
 show events;
 Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
-second	ee1	root@localhost	UTC	ONE TIME	2035-12-31 20:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
-second	ee2	root@localhost	UTC	ONE TIME	2030-12-31 21:01:22	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
-second	ee3	root@localhost	UTC	ONE TIME	2030-12-31 22:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
+second	ee1	root@localhost	UTC	ONE TIME	2085-12-31 20:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
+second	ee2	root@localhost	UTC	ONE TIME	2080-12-31 21:01:22	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
+second	ee3	root@localhost	UTC	ONE TIME	2080-12-31 22:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
 drop database second;
 create database third;
 use third;
 show events;
 Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
-third	ee1	root@localhost	UTC	ONE TIME	2035-12-31 20:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
-third	ee2	root@localhost	UTC	ONE TIME	2030-12-31 21:01:22	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
-third	ee3	root@localhost	UTC	ONE TIME	2030-12-31 22:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
+third	ee1	root@localhost	UTC	ONE TIME	2085-12-31 20:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
+third	ee2	root@localhost	UTC	ONE TIME	2080-12-31 21:01:22	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
+third	ee3	root@localhost	UTC	ONE TIME	2080-12-31 22:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
 drop database third;
 set time_zone = 'SYSTEM';
 use test;
@@ -4853,12 +4853,12 @@ DROP DATABASE mysqldump_test_db;
 #
 TRUNCATE mysql.event;
 USE test;
-CREATE event e29938 ON SCHEDULE AT '2035-12-31 20:01:23' DO SET @bug29938=29938;
+CREATE event e29938 ON SCHEDULE AT '2085-12-31 20:01:23' DO SET @bug29938=29938;
 Warnings:
 Warning	1105	Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
 SHOW EVENTS;
 Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
-test	e29938	root@localhost	SYSTEM	ONE TIME	2035-12-31 20:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	utf8mb4_uca1400_ai_ci
+test	e29938	root@localhost	SYSTEM	ONE TIME	2085-12-31 20:01:23	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	utf8mb4_uca1400_ai_ci
 TRUNCATE mysql.event;
 SHOW EVENTS;
 Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
@@ -4954,7 +4954,7 @@ Bug #34861 - mysqldump with --tab gives weird output for triggers.
 CREATE TABLE t1 (f1 INT);
 CREATE TRIGGER tr1 BEFORE UPDATE ON t1 FOR EACH ROW SET @f1 = 1;
 CREATE PROCEDURE pr1 () SELECT "Meow";
-CREATE EVENT ev1 ON SCHEDULE AT '2030-01-01 00:00:00' DO SELECT "Meow";
+CREATE EVENT ev1 ON SCHEDULE AT '2080-01-01 00:00:00' DO SELECT "Meow";
 Warnings:
 Warning	1105	Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
 
@@ -4963,7 +4963,7 @@ Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer	character_set_clie
 tr1	UPDATE	t1	SET @f1 = 1	BEFORE	#		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
 SHOW EVENTS;
 Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
-test	ev1	root@localhost	SYSTEM	ONE TIME	2030-01-01 00:00:00	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
+test	ev1	root@localhost	SYSTEM	ONE TIME	2080-01-01 00:00:00	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
 SELECT name,body FROM mysql.proc WHERE NAME = 'pr1';
 name	body
 pr1	SELECT "Meow"
@@ -4991,7 +4991,7 @@ Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer	character_set_clie
 tr1	UPDATE	t1	SET @f1 = 1	BEFORE	#		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
 SHOW EVENTS;
 Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
-test	ev1	root@localhost	SYSTEM	ONE TIME	2030-01-01 00:00:00	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
+test	ev1	root@localhost	SYSTEM	ONE TIME	2080-01-01 00:00:00	NULL	NULL	NULL	NULL	ENABLED	1	latin1	latin1_swedish_ci	latin1_swedish_ci
 SELECT name,body FROM mysql.proc WHERE NAME = 'pr1';
 name	body
 pr1	SELECT "Meow"
@@ -5766,7 +5766,7 @@ CREATE TRIGGER `trig
 one` BEFORE INSERT ON `tab
 one` FOR EACH ROW SET NEW.a = 1;
 CREATE EVENT `event
-one` ON SCHEDULE AT '2030-01-01 00:00:00' DO SET @a=5;
+one` ON SCHEDULE AT '2080-01-01 00:00:00' DO SET @a=5;
 Warnings:
 Warning	1105	Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
 SHOW TABLES FROM bug25717383;
@@ -6942,7 +6942,7 @@ DROP DATABASE test1;
 create function f1() returns int return 1;
 create function f2() returns int return 2;
 update mysql.proc set body='return no_such_var' where db='test' and name='f1';
-create event e1 on schedule every 1 year starts '2030-01-01' do select 1;
+create event e1 on schedule every 1 year starts '2080-01-01' do select 1;
 Warnings:
 Warning	1105	Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
 update mysql.event set body ='select not_a_value' where db='test' and name='e1';
@@ -6970,7 +6970,7 @@ DELIMITER ;;
 /*!50003 SET sql_mode              = '' */ ;;
 /*!50003 SET @saved_time_zone      = @@time_zone */ ;;
 /*!50003 SET time_zone             = 'SYSTEM' */ ;;
-/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `e1` ON SCHEDULE EVERY 1 YEAR STARTS '2030-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO select not_a_value */ ;;
+/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`localhost`*/ /*!50106 EVENT `e1` ON SCHEDULE EVERY 1 YEAR STARTS '2080-01-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO select not_a_value */ ;;
 /*!50003 SET time_zone             = @saved_time_zone */ ;;
 /*!50003 SET sql_mode              = @saved_sql_mode */ ;;
 /*!50003 SET character_set_client  = @saved_cs_client */ ;;
diff --git a/mysql-test/main/mysqldump.test b/mysql-test/main/mysqldump.test
index 340f20a4a51..0e6bab151a6 100644
--- a/mysql-test/main/mysqldump.test
+++ b/mysql-test/main/mysqldump.test
@@ -1788,7 +1788,7 @@ use first;
 set time_zone = 'UTC';
 
 ## prove one works (with spaces and tabs on the end)
-create event ee1 on schedule at '2035-12-31 20:01:23' do set @a=5;    	 	
+create event ee1 on schedule at '2085-12-31 20:01:23' do set @a=5;    	 	
 show events;
 show create event ee1;
 --exec $MYSQL_DUMP --default-character-set=utf8mb4 --events first > $MYSQLTEST_VARDIR/tmp/bug16853-1.sql
@@ -1803,8 +1803,8 @@ show create event ee1;
 
 ## prove three works (with spaces and tabs on the end)
 # start with one from the previous restore
-create event ee2 on schedule at '2030-12-31 21:01:22' do set @a=5;	      
-create event ee3 on schedule at '2030-12-31 22:01:23' do set @a=5;    		
+create event ee2 on schedule at '2080-12-31 21:01:22' do set @a=5;	      
+create event ee3 on schedule at '2080-12-31 22:01:23' do set @a=5;    		
 show events;
 --exec $MYSQL_DUMP --default-character-set=utf8mb4 --events second > $MYSQLTEST_VARDIR/tmp/bug16853-2.sql
 drop database second;
@@ -1912,7 +1912,7 @@ DROP DATABASE mysqldump_test_db;
 TRUNCATE mysql.event;
 
 USE test;
-CREATE event e29938 ON SCHEDULE AT '2035-12-31 20:01:23' DO SET @bug29938=29938;
+CREATE event e29938 ON SCHEDULE AT '2085-12-31 20:01:23' DO SET @bug29938=29938;
 SHOW EVENTS;
 --exec $MYSQL_DUMP --default-character-set=utf8mb4 --skip-events --all-databases > $MYSQLTEST_VARDIR/tmp/bug29938.sql
 
@@ -2057,7 +2057,7 @@ SET @@GLOBAL.CONCURRENT_INSERT = @OLD_CONCURRENT_INSERT;
 CREATE TABLE t1 (f1 INT);
 CREATE TRIGGER tr1 BEFORE UPDATE ON t1 FOR EACH ROW SET @f1 = 1;
 CREATE PROCEDURE pr1 () SELECT "Meow";
-CREATE EVENT ev1 ON SCHEDULE AT '2030-01-01 00:00:00' DO SELECT "Meow";
+CREATE EVENT ev1 ON SCHEDULE AT '2080-01-01 00:00:00' DO SELECT "Meow";
 
 --echo
 --replace_column 6 #
@@ -2519,7 +2519,7 @@ one` BEFORE INSERT ON `tab
 one` FOR EACH ROW SET NEW.a = 1;
 
 CREATE EVENT `event
-one` ON SCHEDULE AT '2030-01-01 00:00:00' DO SET @a=5;
+one` ON SCHEDULE AT '2080-01-01 00:00:00' DO SET @a=5;
 
 SHOW TABLES FROM bug25717383;
 --replace_column 6 #
@@ -2994,7 +2994,7 @@ DROP DATABASE test1;
 create function f1() returns int return 1;
 create function f2() returns int return 2;
 update mysql.proc set body='return no_such_var' where db='test' and name='f1';
-create event e1 on schedule every 1 year starts '2030-01-01' do select 1;
+create event e1 on schedule every 1 year starts '2080-01-01' do select 1;
 update mysql.event set body ='select not_a_value' where db='test' and name='e1';
 create table t1 (i int);
 --replace_result mariadb-dump.exe mariadb-dump
diff --git a/mysql-test/suite/events/events_2.result b/mysql-test/suite/events/events_2.result
index 58d725f241e..b6cb0876667 100644
--- a/mysql-test/suite/events/events_2.result
+++ b/mysql-test/suite/events/events_2.result
@@ -2,12 +2,12 @@ set sql_mode="";
 drop database if exists events_test;
 create database events_test;
 use events_test;
-create event e_26 on schedule at '2037-01-01 00:00:00' disable do set @a = 5;
+create event e_26 on schedule at '2087-01-01 00:00:00' disable do set @a = 5;
 Warnings:
 Warning	1105	Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
 select db, name, body, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from mysql.event;
 db	name	body	definer	convert_tz(execute_at, 'UTC', 'SYSTEM')	on_completion
-events_test	e_26	set @a = 5	root@localhost	2037-01-01 00:00:00	DROP
+events_test	e_26	set @a = 5	root@localhost	2087-01-01 00:00:00	DROP
 drop event e_26;
 create event e_26 on schedule at NULL disable do set @a = 5;
 ERROR HY000: Incorrect AT value: 'NULL'
diff --git a/mysql-test/suite/events/events_2.test b/mysql-test/suite/events/events_2.test
index 9385f5d356d..630b9232c24 100644
--- a/mysql-test/suite/events/events_2.test
+++ b/mysql-test/suite/events/events_2.test
@@ -18,7 +18,7 @@ use events_test;
 # mysql.event intact checking end
 #
 
-create event e_26 on schedule at '2037-01-01 00:00:00' disable do set @a = 5;
+create event e_26 on schedule at '2087-01-01 00:00:00' disable do set @a = 5;
 select db, name, body, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from mysql.event;
 drop event e_26;
 --error ER_WRONG_VALUE
diff --git a/mysql-test/suite/versioning/r/sysvars.result b/mysql-test/suite/versioning/r/sysvars.result
index a5a3f79990c..ec1e89ef9c2 100644
--- a/mysql-test/suite/versioning/r/sysvars.result
+++ b/mysql-test/suite/versioning/r/sysvars.result
@@ -12,10 +12,10 @@ system_versioning_asof	DEFAULT
 select * from t;
 a
 2
-set system_versioning_asof= '2031-1-1 0:0:0';
+set system_versioning_asof= '2081-1-1 0:0:0';
 show variables like 'system_versioning_asof';
 Variable_name	Value
-system_versioning_asof	2031-01-01 00:00:00.000000
+system_versioning_asof	2081-01-01 00:00:00.000000
 select * from t;
 a
 2
diff --git a/mysql-test/suite/versioning/t/insert.test b/mysql-test/suite/versioning/t/insert.test
index fe430b8e3b6..b276f8284eb 100644
--- a/mysql-test/suite/versioning/t/insert.test
+++ b/mysql-test/suite/versioning/t/insert.test
@@ -139,7 +139,7 @@ insert into t1(x, row_start, row_end) values (6, '1980-01-01 00:00:01', '1980-01
 --error ER_WRONG_VERSIONING_RANGE
 insert into t1(x, row_start, row_end) values (7, '1980-01-01 00:00:11', '1980-01-01 00:00:11');
 insert into t1(x, row_start) values (8, '1980-01-01 00:00:22');
---replace_regex /'202\d-\d\d-\d\d .*'/'now'/
+--replace_regex /'20[2-8]\d-\d\d-\d\d .*'/'now'/
 --error ER_WRONG_VERSIONING_RANGE
 insert into t1(x, row_end) values (9, '1980-01-01 00:00:33');
 
diff --git a/mysql-test/suite/versioning/t/sysvars.test b/mysql-test/suite/versioning/t/sysvars.test
index 91dd278a2e1..1bc406faa2f 100644
--- a/mysql-test/suite/versioning/t/sysvars.test
+++ b/mysql-test/suite/versioning/t/sysvars.test
@@ -8,7 +8,7 @@ show global variables like 'system_versioning_asof';
 show variables like 'system_versioning_asof';
 select * from t;
 
-set system_versioning_asof= '2031-1-1 0:0:0';
+set system_versioning_asof= '2081-1-1 0:0:0';
 show variables like 'system_versioning_asof';
 select * from t;
 
-- 
2.52.0

openSUSE Build Service is sponsored by