From 04424694c3f0c88f3d198498dfcc42c19ef2cecd Mon Sep 17 00:00:00 2001 From: GS Date: Tue, 31 Mar 2026 17:37:12 +0200 Subject: [PATCH 01/10] Refactor InnoDB file format retrieval logic Simplified retrieval of InnoDB file format by removing unnecessary version check. Signed-off-by: Guido Selva guido.selva@gmail.com --- libraries/classes/Operations.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/libraries/classes/Operations.php b/libraries/classes/Operations.php index 842d3a0ddb..731d86bb9d 100644 --- a/libraries/classes/Operations.php +++ b/libraries/classes/Operations.php @@ -519,11 +519,7 @@ class Operations /** @var Innodb $innodbEnginePlugin */ $innodbEnginePlugin = StorageEngine::getEngine('Innodb'); - $innodbPluginVersion = $innodbEnginePlugin->getInnodbPluginVersion(); - $innodb_file_format = ''; - if (! empty($innodbPluginVersion)) { - $innodb_file_format = $innodbEnginePlugin->getInnodbFileFormat() ?? ''; - } + $innodb_file_format = $innodbEnginePlugin->getInnodbFileFormat(); /** * Newer MySQL/MariaDB always return empty a.k.a '' on $innodb_file_format otherwise From 45fdf3123d7f024352c19e46a082bc6792adba5e Mon Sep 17 00:00:00 2001 From: GS Date: Tue, 31 Mar 2026 17:39:04 +0200 Subject: [PATCH 02/10] Refactor InnoDB methods for version handling Removed the getInnodbPluginVersion method and updated the getInnodbFileFormat method to handle version checks for MariaDB and MySQL. Signed-off-by: Guido Selva guido.selva@gmail.com --- libraries/classes/Engines/Innodb.php | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/libraries/classes/Engines/Innodb.php b/libraries/classes/Engines/Innodb.php index 5b32fb5f39..166d5bf619 100644 --- a/libraries/classes/Engines/Innodb.php +++ b/libraries/classes/Engines/Innodb.php @@ -281,18 +281,6 @@ class Innodb extends StorageEngine return 'innodb-storage-engine'; } - /** - * Gets the InnoDB plugin version number - * - * @return string the version number, or empty if not running as a plugin - */ - public function getInnodbPluginVersion() - { - global $dbi; - - return $dbi->fetchValue('SELECT @@innodb_version;') ?: ''; - } - /** * Gets the InnoDB file format * @@ -300,19 +288,14 @@ class Innodb extends StorageEngine * * @return string|null the InnoDB file format */ - public function getInnodbFileFormat(): ?string + public function getInnodbFileFormat(): string|null { global $dbi; - $value = $dbi->fetchValue("SHOW GLOBAL VARIABLES LIKE 'innodb_file_format';", 1); - - if ($value === false) { - // This variable does not exist anymore on MariaDB >= 10.6.0 - // This variable does not exist anymore on MySQL >= 8.0.0 - return null; - } - - return (string) $value; + return ( + ($dbi->isMariaDB() && $dbi->getVersion() >= 100600) + || ($dbi->isMySql() && $dbi->getVersion() >= 80000) + ) ? '' : $dbi->fetchValue("SELECT @@innodb_file_format;"); } /** From bcea844b9055cd61e74f346483eff7dff5069c4a Mon Sep 17 00:00:00 2001 From: GS Date: Tue, 31 Mar 2026 19:02:34 +0200 Subject: [PATCH 03/10] Remove return type hint from getInnodbFileFormat Remove type hinting from getInnodbFileFormat method. Signed-off-by: Guido Selva guido.selva@gmail.com --- libraries/classes/Engines/Innodb.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/classes/Engines/Innodb.php b/libraries/classes/Engines/Innodb.php index 166d5bf619..77ad03838e 100644 --- a/libraries/classes/Engines/Innodb.php +++ b/libraries/classes/Engines/Innodb.php @@ -288,7 +288,7 @@ class Innodb extends StorageEngine * * @return string|null the InnoDB file format */ - public function getInnodbFileFormat(): string|null + public function getInnodbFileFormat() { global $dbi; From 0bbe3140614f5051325a1edbbc2e3d2037381c69 Mon Sep 17 00:00:00 2001 From: GS Date: Tue, 31 Mar 2026 19:09:50 +0200 Subject: [PATCH 04/10] Update query for fetching innodb_file_format Signed-off-by: Guido Selva guido.selva@gmail.com --- libraries/classes/Engines/Innodb.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/classes/Engines/Innodb.php b/libraries/classes/Engines/Innodb.php index 77ad03838e..7f6179143f 100644 --- a/libraries/classes/Engines/Innodb.php +++ b/libraries/classes/Engines/Innodb.php @@ -295,7 +295,7 @@ class Innodb extends StorageEngine return ( ($dbi->isMariaDB() && $dbi->getVersion() >= 100600) || ($dbi->isMySql() && $dbi->getVersion() >= 80000) - ) ? '' : $dbi->fetchValue("SELECT @@innodb_file_format;"); + ) ? '' : $dbi->fetchValue("SHOW GLOBAL VARIABLES LIKE 'innodb_file_format';"); } /** From d20243eac986ec1dbd9aa8d33e0d1fbbf9a04fc4 Mon Sep 17 00:00:00 2001 From: GS Date: Tue, 31 Mar 2026 19:17:20 +0200 Subject: [PATCH 05/10] Remove testGetInnodbPluginVersion from InnodbTest Removed test for getInnodbPluginVersion method. Signed-off-by: Guido Selva guido.selva@gmail.com --- test/classes/Engines/InnodbTest.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/test/classes/Engines/InnodbTest.php b/test/classes/Engines/InnodbTest.php index 51f241512d..88dbdbd378 100644 --- a/test/classes/Engines/InnodbTest.php +++ b/test/classes/Engines/InnodbTest.php @@ -225,14 +225,6 @@ class InnodbTest extends AbstractTestCase self::assertSame('innodb-storage-engine', $this->object->getMysqlHelpPage()); } - /** - * Test for getInnodbPluginVersion - */ - public function testGetInnodbPluginVersion(): void - { - self::assertSame('1.1.8', $this->object->getInnodbPluginVersion()); - } - /** * Test for supportsFilePerTable */ From 885230ce3eae9988387340f809da545679f153d0 Mon Sep 17 00:00:00 2001 From: GS Date: Tue, 31 Mar 2026 19:19:28 +0200 Subject: [PATCH 06/10] Fix fetchValue call for innodb_file_format Signed-off-by: Guido Selva guido.selva@gmail.com --- libraries/classes/Engines/Innodb.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/classes/Engines/Innodb.php b/libraries/classes/Engines/Innodb.php index 7f6179143f..80739b95d1 100644 --- a/libraries/classes/Engines/Innodb.php +++ b/libraries/classes/Engines/Innodb.php @@ -295,7 +295,7 @@ class Innodb extends StorageEngine return ( ($dbi->isMariaDB() && $dbi->getVersion() >= 100600) || ($dbi->isMySql() && $dbi->getVersion() >= 80000) - ) ? '' : $dbi->fetchValue("SHOW GLOBAL VARIABLES LIKE 'innodb_file_format';"); + ) ? '' : $dbi->fetchValue("SHOW GLOBAL VARIABLES LIKE 'innodb_file_format';", 1); } /** From 64f68da00f5a293e2561f86bf51c57a8905aca53 Mon Sep 17 00:00:00 2001 From: GS Date: Tue, 31 Mar 2026 19:37:04 +0200 Subject: [PATCH 07/10] Refactor getInnodbFileFormat return statement Signed-off-by: Guido Selva guido.selva@gmail.com --- libraries/classes/Engines/Innodb.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/classes/Engines/Innodb.php b/libraries/classes/Engines/Innodb.php index 80739b95d1..e61e060bda 100644 --- a/libraries/classes/Engines/Innodb.php +++ b/libraries/classes/Engines/Innodb.php @@ -292,10 +292,10 @@ class Innodb extends StorageEngine { global $dbi; - return ( + return ($dbi->isMariaDB() && $dbi->getVersion() >= 100600) - || ($dbi->isMySql() && $dbi->getVersion() >= 80000) - ) ? '' : $dbi->fetchValue("SHOW GLOBAL VARIABLES LIKE 'innodb_file_format';", 1); + || ($dbi->isMySql() && $dbi->getVersion() >= 80000) + ? '' : $dbi->fetchValue("SHOW GLOBAL VARIABLES LIKE 'innodb_file_format';", 1); } /** From d6d06857454c1ed6c6e9bc72b3ae1ca238713b0d Mon Sep 17 00:00:00 2001 From: GS Date: Tue, 31 Mar 2026 19:44:57 +0200 Subject: [PATCH 08/10] Refactor conditional check for MySQL version Signed-off-by: Guido Selva guido.selva@gmail.com --- libraries/classes/Engines/Innodb.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libraries/classes/Engines/Innodb.php b/libraries/classes/Engines/Innodb.php index e61e060bda..157b57a372 100644 --- a/libraries/classes/Engines/Innodb.php +++ b/libraries/classes/Engines/Innodb.php @@ -294,8 +294,7 @@ class Innodb extends StorageEngine return ($dbi->isMariaDB() && $dbi->getVersion() >= 100600) - || ($dbi->isMySql() && $dbi->getVersion() >= 80000) - ? '' : $dbi->fetchValue("SHOW GLOBAL VARIABLES LIKE 'innodb_file_format';", 1); + || ($dbi->isMySql() && $dbi->getVersion() >= 80000) ? '' : $dbi->fetchValue("SHOW GLOBAL VARIABLES LIKE 'innodb_file_format';", 1); } /** From 6b84c29ac045c7760a977c6877fbdf1f524f5a17 Mon Sep 17 00:00:00 2001 From: GS Date: Tue, 31 Mar 2026 19:45:46 +0200 Subject: [PATCH 09/10] Refactor conditional check for MySQL version Signed-off-by: Guido Selva guido.selva@gmail.com --- libraries/classes/Engines/Innodb.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/classes/Engines/Innodb.php b/libraries/classes/Engines/Innodb.php index 157b57a372..b2678ea12e 100644 --- a/libraries/classes/Engines/Innodb.php +++ b/libraries/classes/Engines/Innodb.php @@ -294,7 +294,8 @@ class Innodb extends StorageEngine return ($dbi->isMariaDB() && $dbi->getVersion() >= 100600) - || ($dbi->isMySql() && $dbi->getVersion() >= 80000) ? '' : $dbi->fetchValue("SHOW GLOBAL VARIABLES LIKE 'innodb_file_format';", 1); + || ($dbi->isMySql() && $dbi->getVersion() >= 80000) ? '' + : $dbi->fetchValue("SHOW GLOBAL VARIABLES LIKE 'innodb_file_format';", 1); } /** From 4bf35054ec0e118fadc90d741c80902a29a009c6 Mon Sep 17 00:00:00 2001 From: GS Date: Tue, 31 Mar 2026 20:17:40 +0200 Subject: [PATCH 10/10] Fix conditional logic for MySQL version check Signed-off-by: Guido Selva guido.selva@gmail.com --- libraries/classes/Engines/Innodb.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/classes/Engines/Innodb.php b/libraries/classes/Engines/Innodb.php index b2678ea12e..6f050881a5 100644 --- a/libraries/classes/Engines/Innodb.php +++ b/libraries/classes/Engines/Innodb.php @@ -294,7 +294,8 @@ class Innodb extends StorageEngine return ($dbi->isMariaDB() && $dbi->getVersion() >= 100600) - || ($dbi->isMySql() && $dbi->getVersion() >= 80000) ? '' + || ($dbi->isMySql() && $dbi->getVersion() >= 80000) + ? '' : $dbi->fetchValue("SHOW GLOBAL VARIABLES LIKE 'innodb_file_format';", 1); }