Fixed reading from file from r108774
authorSam Reed <reedy@users.mediawiki.org>
Tue, 17 Jan 2012 13:29:42 +0000 (13:29 +0000)
committerSam Reed <reedy@users.mediawiki.org>
Tue, 17 Jan 2012 13:29:42 +0000 (13:29 +0000)
maintenance/sql.php

index a5c7314..c4af630 100644 (file)
@@ -30,15 +30,20 @@ class MwSql extends Maintenance {
        }
 
        public function execute() {
+               $dbw = wfGetDB( DB_MASTER );
                if ( $this->hasArg() ) {
                        $fileName = $this->getArg();
                        $file = fopen( $fileName, 'r' );
-               } else {
-                       $file = $this->getStdin();
-               }
+                       if ( !$file ) {
+                               $this->error( "Unable to open input file", true );
+                       }
 
-               if ( !$file ) {
-                       $this->error( "Unable to open input file", true );
+                       $error = $dbw->sourceStream( $file, false, array( $this, 'sqlPrintResult' ) );
+                       if ( $error !== true ) {
+                               $this->error( $error, true );
+                       } else {
+                               exit( 0 );
+                       }
                }
 
                $useReadline = function_exists( 'readline_add_history' )
@@ -51,7 +56,6 @@ class MwSql extends Maintenance {
                        readline_read_history( $historyFile );
                }
 
-               $dbw = wfGetDB( DB_MASTER );
                $wholeLine = '';
                while ( ( $line = Maintenance::readconsole() ) !== false ) {
                        $done = $dbw->streamStatementEnd( $wholeLine, $line );