From a9a40c0bedc53006d7c0a7aa58a7c6f55b4480ee Mon Sep 17 00:00:00 2001 From: Max Semenik Date: Wed, 8 Sep 2010 18:11:36 +0000 Subject: [PATCH] Pass calling function name and patch file from DatabaseBase::sourceFile() to query() to make updater debugging easier --- includes/db/Database.php | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/includes/db/Database.php b/includes/db/Database.php index bfbe38c20c..40063e8e60 100644 --- a/includes/db/Database.php +++ b/includes/db/Database.php @@ -2350,8 +2350,10 @@ abstract class DatabaseBase implements DatabaseType { * @param $filename String: File name to open * @param $lineCallback Callback: Optional function called before reading each line * @param $resultCallback Callback: Optional function called for each MySQL result + * @param $fname String: Calling function name or false if name should be generated dynamically + * using $filename */ - function sourceFile( $filename, $lineCallback = false, $resultCallback = false ) { + function sourceFile( $filename, $lineCallback = false, $resultCallback = false, $fname = false ) { $fp = fopen( $filename, 'r' ); if ( false === $fp ) { @@ -2361,8 +2363,12 @@ abstract class DatabaseBase implements DatabaseType { return "Could not open \"{$filename}\".\n"; } + if ( !$fname ) { + $fname = __METHOD__ . "( $filename )"; + } + try { - $error = $this->sourceStream( $fp, $lineCallback, $resultCallback ); + $error = $this->sourceStream( $fp, $lineCallback, $resultCallback, $fname ); } catch ( MWException $e ) { if ( defined( "MEDIAWIKI_INSTALL" ) ) { @@ -2402,8 +2408,9 @@ abstract class DatabaseBase implements DatabaseType { * @param $fp String: File handle * @param $lineCallback Callback: Optional function called before reading each line * @param $resultCallback Callback: Optional function called for each MySQL result + * @param $fname String: Calling function name */ - function sourceStream( $fp, $lineCallback = false, $resultCallback = false ) { + function sourceStream( $fp, $lineCallback = false, $resultCallback = false, $fname = 'DatabaseBase::sourceStream' ) { $cmd = ""; $done = false; $dollarquote = false; @@ -2450,7 +2457,7 @@ abstract class DatabaseBase implements DatabaseType { if ( $done ) { $cmd = str_replace( ';;', ";", $cmd ); $cmd = $this->replaceVars( $cmd ); - $res = $this->query( $cmd, __METHOD__ ); + $res = $this->query( $cmd, $fname ); if ( $resultCallback ) { call_user_func( $resultCallback, $res, $this ); -- 2.20.1