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"!*