From: Alexandre Emsenhuber Date: Sat, 8 Aug 2009 19:35:48 +0000 (+0000) Subject: Make this script really work :) X-Git-Tag: 1.31.0-rc.0~40413 X-Git-Url: http://git.cyclocoop.org/url?a=commitdiff_plain;h=6ca45a1bded11c3b522d775909b827ac04d43ab9;p=lhc%2Fweb%2Fwiklou.git Make this script really work :) * Fatal error: Call to undefined method DatabaseMysql::getTable() * Fatal error: Cannot use object of type stdClass as array * return $pendingDBs from nextJobDB::getPendingDbs() --- diff --git a/maintenance/nextJobDB.php b/maintenance/nextJobDB.php index 10528d45b7..6e634b2027 100644 --- a/maintenance/nextJobDB.php +++ b/maintenance/nextJobDB.php @@ -65,25 +65,31 @@ class nextJobDB extends Maintenance { foreach ( $dbsByMaster as $master => $dbs ) { $dbConn = wfGetDB( DB_MASTER, array(), $dbs[0] ); $stype = $dbConn->addQuotes($type); - $jobTable = $dbConn->getTable( 'job' ); + $jobTable = $dbConn->tableName( 'job' ); # Padding row for MySQL bug - $sql = "(SELECT '-------------------------------------------')"; + $sql = "(SELECT '-------------------------------------------' as db)"; foreach ( $dbs as $dbName ) { if ( $sql != '' ) { $sql .= ' UNION '; } if ($type === false) - $sql .= "(SELECT '$dbName' FROM `$dbName`.$jobTable LIMIT 1)"; + $sql .= "(SELECT '$dbName' as db FROM `$dbName`.$jobTable LIMIT 1)"; else - $sql .= "(SELECT '$dbName' FROM `$dbName`.$jobTable WHERE job_cmd=$stype LIMIT 1)"; + $sql .= "(SELECT '$dbName' as db FROM `$dbName`.$jobTable WHERE job_cmd=$stype LIMIT 1)"; } $res = $dbConn->query( $sql, __METHOD__ ); - $row = $dbConn->fetchRow( $res ); // discard padding row - while ( $row = $dbConn->fetchRow( $res ) ) { - $pendingDBs[] = $row[0]; + $first = true; + foreach ( $res as $row ) { + if ( $first ) { + // discard padding row + $first = false; + continue; + } + $pendingDBs[] = $row->db; } } + return $pendingDBs; } }