From bd5ee3e9c7f0f9f1abbbb089ece19782035067a1 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 4 Sep 2010 12:45:54 +0000 Subject: [PATCH] Try to increase speed with no success. --- htdocs/install/etape2.php | 68 +++++++++++++++++++++++++-------------- 1 file changed, 43 insertions(+), 25 deletions(-) diff --git a/htdocs/install/etape2.php b/htdocs/install/etape2.php index 0b6632bd313..69f79f1fb16 100644 --- a/htdocs/install/etape2.php +++ b/htdocs/install/etape2.php @@ -76,24 +76,25 @@ if ($_POST["action"] == "set") if ($db->connected == 1) { print ""; - print $langs->trans("ServerConnection")." : $dolibarr_main_db_host".$langs->trans("OK").""; + print $langs->trans("ServerConnection")." : ".$conf->db->host."".$langs->trans("OK").""; $ok = 1 ; } else { - print "Erreur lors de la creation de : $dolibarr_main_db_name".$langs->trans("Error").""; + print "Failed to connect to server : ".$conf->db->host."".$langs->trans("Error").""; } if ($ok) { if($db->database_selected == 1) { - - dolibarr_install_syslog("etape2: Connexion successful to database : $dolibarr_main_db_name"); + dolibarr_install_syslog("etape2: Connexion successful to database : ".$conf->db->name); } else { - $ok = 0 ; + dolibarr_install_syslog("etape2: Connexion failed to database : ".$conf->db->name); + print "Failed to select database ".$conf->db->name."".$langs->trans("Error").""; + $ok = 0 ; } } @@ -489,40 +490,57 @@ if ($_POST["action"] == "set") dolibarr_install_syslog("Open data file ".$dir.$file." handle=".$fp,LOG_DEBUG); if ($fp) { + $arrayofrequests=array(); + $linefound=0; + $linegroup=0; + $sizeofgroup=1; // Grouping request to have 1 query for several requests does not works with mysql, so we use 1. + + // Load all requests while (!feof ($fp)) { $buffer = fgets($fp, 4096); $buffer = trim($buffer); if ($buffer) { - if (substr($buffer, 0, 2) == '--') - { - continue; - } + if (substr($buffer, 0, 2) == '--') continue; - //dolibarr_install_syslog("Request: ".$buffer,LOG_DEBUG); - $resql=$db->query($buffer); - if ($resql) + if ($linefound && ($linefound % $sizeofgroup) == 0) { - $ok = 1; - //$db->free($resql); // Not required as request we launch here does not return memory needs. + $linegroup++; + } + if (empty($arrayofrequests[$linegroup])) $arrayofrequests[$linegroup]=$buffer; + else $arrayofrequests[$linegroup].=" ".$buffer; + + $linefound++; + } + } + fclose($fp); + + dolibarr_install_syslog("Found ".$linefound." records, defined ".sizeof($arrayofrequests)." groups.",LOG_DEBUG); + + // We loop on each requests + foreach($arrayofrequests as $buffer) + { + //dolibarr_install_syslog("Request: ".$buffer,LOG_DEBUG); + $resql=$db->query($buffer); + if ($resql) + { + $ok = 1; + //$db->free($resql); // Not required as request we launch here does not return memory needs. + } + else + { + if ($db->lasterrno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') + { + //print "Insertion ligne : $buffer"; } else { - if ($db->lasterrno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') - { - //print "Insertion ligne : $buffer"; - } - else - { - $ok = 0; - print $langs->trans("ErrorSQL")." : ".$db->lasterrno()." - ".$db->lastqueryerror()." - ".$db->lasterror()."
"; - } + $ok = 0; + print $langs->trans("ErrorSQL")." : ".$db->lasterrno()." - ".$db->lastqueryerror()." - ".$db->lasterror()."
"; } - } } - fclose($fp); } }