Paladox has uploaded a new change for review. https://gerrit.wikimedia.org/r/316396
Change subject: Revert "Move updater/installer specific methods out of DatabaseBase" ...................................................................... Revert "Move updater/installer specific methods out of DatabaseBase" This reverts commit acdfb5806a619f9d28c83e802f00ca1aaea834f4. Change-Id: I1b6d65ae6007239b8febe6750eb610afd6fdaf24 --- M includes/db/Database.php M includes/installer/DatabaseInstaller.php M includes/installer/DatabaseUpdater.php 3 files changed, 59 insertions(+), 64 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/96/316396/1 diff --git a/includes/db/Database.php b/includes/db/Database.php index 6c93f6c..0c357cc 100644 --- a/includes/db/Database.php +++ b/includes/db/Database.php @@ -682,6 +682,43 @@ } /** + * Return a path to the DBMS-specific SQL file if it exists, + * otherwise default SQL file + * + * @param string $filename + * @return string + */ + private function getSqlFilePath( $filename ) { + global $IP; + $dbmsSpecificFilePath = "$IP/maintenance/" . $this->getType() . "/$filename"; + if ( file_exists( $dbmsSpecificFilePath ) ) { + return $dbmsSpecificFilePath; + } else { + return "$IP/maintenance/$filename"; + } + } + + /** + * Return a path to the DBMS-specific schema file, + * otherwise default to tables.sql + * + * @return string + */ + public function getSchemaPath() { + return $this->getSqlFilePath( 'tables.sql' ); + } + + /** + * Return a path to the DBMS-specific update key file, + * otherwise default to update-keys.sql + * + * @return string + */ + public function getUpdateKeysPath() { + return $this->getSqlFilePath( 'update-keys.sql' ); + } + + /** * Get information about an index into an object * @param string $table Table name * @param string $index Index name @@ -3343,6 +3380,25 @@ return $error; } + /** + * Get the full path of a patch file. Originally based on archive() + * from updaters.inc. Keep in mind this always returns a patch, as + * it fails back to MySQL if no DB-specific patch can be found + * + * @param string $patch The name of the patch, like patch-something.sql + * @return string Full path to patch file + */ + public function patchPath( $patch ) { + global $IP; + + $dbType = $this->getType(); + if ( file_exists( "$IP/maintenance/$dbType/archives/$patch" ) ) { + return "$IP/maintenance/$dbType/archives/$patch"; + } else { + return "$IP/maintenance/archives/$patch"; + } + } + public function setSchemaVars( $vars ) { $this->mSchemaVars = $vars; } diff --git a/includes/installer/DatabaseInstaller.php b/includes/installer/DatabaseInstaller.php index ded2bd8..701403e 100644 --- a/includes/installer/DatabaseInstaller.php +++ b/includes/installer/DatabaseInstaller.php @@ -192,7 +192,7 @@ $this->db->begin( __METHOD__ ); $error = $this->db->sourceFile( - call_user_func( [ $this, $sourceFileMethod ], $this->db ) + call_user_func( [ $this->db, $sourceFileMethod ] ) ); if ( $error !== true ) { $this->db->reportQueryError( $error, 0, '', __METHOD__ ); @@ -225,47 +225,6 @@ */ public function insertUpdateKeys() { return $this->stepApplySourceFile( 'getUpdateKeysPath', 'updates', false ); - } - - /** - * Return a path to the DBMS-specific SQL file if it exists, - * otherwise default SQL file - * - * @param IDatabase $db - * @param string $filename - * @return string - */ - private function getSqlFilePath( $db, $filename ) { - global $IP; - - $dbmsSpecificFilePath = "$IP/maintenance/" . $db->getType() . "/$filename"; - if ( file_exists( $dbmsSpecificFilePath ) ) { - return $dbmsSpecificFilePath; - } else { - return "$IP/maintenance/$filename"; - } - } - - /** - * Return a path to the DBMS-specific schema file, - * otherwise default to tables.sql - * - * @param IDatabase $db - * @return string - */ - public function getSchemaPath( $db ) { - return $this->getSqlFilePath( $db, 'tables.sql' ); - } - - /** - * Return a path to the DBMS-specific update key file, - * otherwise default to update-keys.sql - * - * @param IDatabase $db - * @return string - */ - public function getUpdateKeysPath( $db ) { - return $this->getSqlFilePath( $db, 'update-keys.sql' ); } /** diff --git a/includes/installer/DatabaseUpdater.php b/includes/installer/DatabaseUpdater.php index 0e4b098..86b2f3b 100644 --- a/includes/installer/DatabaseUpdater.php +++ b/includes/installer/DatabaseUpdater.php @@ -659,7 +659,7 @@ $this->output( "$msg ..." ); if ( !$isFullPath ) { - $path = $this->patchPath( $this->db, $path ); + $path = $this->db->patchPath( $path ); } if ( $this->fileHandle !== null ) { $this->copyFile( $path ); @@ -669,26 +669,6 @@ $this->output( "done.\n" ); return true; - } - - /** - * Get the full path of a patch file. Originally based on archive() - * from updaters.inc. Keep in mind this always returns a patch, as - * it fails back to MySQL if no DB-specific patch can be found - * - * @param IDatabase $db - * @param string $patch The name of the patch, like patch-something.sql - * @return string Full path to patch file - */ - public function patchPath( IDatabase $db, $patch ) { - global $IP; - - $dbType = $db->getType(); - if ( file_exists( "$IP/maintenance/$dbType/archives/$patch" ) ) { - return "$IP/maintenance/$dbType/archives/$patch"; - } else { - return "$IP/maintenance/archives/$patch"; - } } /** @@ -1098,7 +1078,7 @@ global $wgProfiler; if ( !$this->doTable( 'profiling' ) ) { - return; + return true; } $profileToDb = false; -- To view, visit https://gerrit.wikimedia.org/r/316396 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1b6d65ae6007239b8febe6750eb610afd6fdaf24 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Paladox <thomasmulhall...@yahoo.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits