From 91d710f8db57344376cc4aad4616ccd6a2dcc045 Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@users.sourceforge.net>
Date: Sun, 16 Jan 2011 01:14:34 +0000
Subject: [PATCH] Fix: Works with mysql 5.5

---
 ChangeLog                 | 1 +
 htdocs/install/etape2.php | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 5c03c44c937..0e8846a6a2a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -85,6 +85,7 @@ For developers:
 - New: Enhance a lot of internal function to build external modules
        more easily.
 - New: Local user timezone is saved into session (not used yet).
+- New: Works with Mysql 5.5.
 - Qual: Menu system code is simpler.
 - Qual: Mutualize some duplicate code.
 - Qual: Renamed some fields into database to be more internationnal.
diff --git a/htdocs/install/etape2.php b/htdocs/install/etape2.php
index 57adf24f3ad..cf035eb30dd 100644
--- a/htdocs/install/etape2.php
+++ b/htdocs/install/etape2.php
@@ -143,6 +143,7 @@ if ($_POST["action"] == "set")
 	{
 		// We always choose in mysql directory (Conversion is done by driver to translate SQL syntax)
 		$dir = "mysql/tables/";
+		$versionmysql550=explode('.','5.5.0');
 
 		$ok = 0;
 		$handle=opendir($dir);
@@ -183,6 +184,11 @@ if ($_POST["action"] == "set")
 				fclose($fp);
 
 				$buffer=trim($buffer);
+				// For Mysql 5.5+, we must removed type=innodb
+				if ($conf->db->type == 'mysql' || $conf->db->type == 'mysqli')
+				{
+					if (sizeof($versionarray) && versioncompare($versionarray,$versionmysql550) >= 0) $buffer=preg_replace('/type=innodb/i','',$buffer);
+				}
 
 				//print "<tr><td>Creation de la table $name/td>";
 				$requestnb++;
-- 
GitLab