Projekt

Allgemein

Profil

GX-Bug #41699

Von Torben Wark vor fast 9 Jahren aktualisiert

Die Ermittlung der DB-Version MySQL-Version scheint laut Forenmeldung fehlerhaft zu sein: 

 *Die Ermittlung der aktuellen DB-Version ist falsch!* 

 *In "GambioUpdateControl::get_current_db_version()" wird die aktuelle DB-Version wie folgt ermittlet:* 

 ~~~ 
 private function get_current_db_version() 
     { 
         $t_sql = "SELECT * FROM version_history WHERE type IN ('master_update', 'service_pack') ORDER BY installation_date DESC LIMIT 1"; 
         $coo_db = new DatabaseModel(); 
         $t_version_data = $coo_db->query($t_sql); 

         if (count($t_version_data) > 0) 
         { 
             $this->current_db_version = $t_version_data[0]['version']; 
         } 
         else 
         { 
             $this->current_db_version = false; 
         } 
     } 
 ~~~  

 *D.h., die "current_db_version" wird auf Klassenebene ersetzt, es wird kein Wert zurück gegeben.* 

 *Im Konstruktor von "GambioUpdateControl"* 

 ~~~ 
 public function __construct($p_db_host = '', $p_db_user = '', $p_db_password = '', $p_db_name = '', $p_db_persistent = null) 
 ~~~ 

 *wird die DB-Version aber wie folgt ermittelt:* 

 ~~~ 
 $this->current_db_version = $this->get_current_db_version(); 
 ~~~ 

 *D.h., in "get_current_db_version()" wird "$this->current_db_version" richtig gesetzt, aber dann wird im Konstruktor "$this->current_db_version" auf den Rückgabewert von "get_current_db_version()" gesetzt, der aber NULL ist!* 

 *"$this->current_db_version" hat also den Wert "NULL"!*

Zurück