public static function run(DatabaseMysql $db, $dbname, $test = false, $verbose = false)
 {
     global $titleInfo;
     // Don't process the video wiki
     if ($dbname == 'video151') {
         return true;
     }
     $sql = "select video_title as title, provider from video_info where premium = 1 and (video_id = '' or provider is null)";
     $result = $db->query($sql);
     $numRows = 0;
     $numFound = 0;
     $update = array();
     while ($row = $db->fetchObject($result)) {
         $numRows++;
         //			echo "Checking ".$row->title." from ".$row->provider."\n";
         if (isset($titleInfo[$row->title])) {
             $numFound++;
             $info = $titleInfo[$row->title];
             $provider = $row->provider ? null : $info['provider'];
             $update[] = [$row->title, $provider, $info['id']];
         }
     }
     $db->freeResult($result);
     if ($numRows) {
         echo "[{$dbname}] Found video IDs for {$numFound} of {$numRows} videos\n";
     }
     foreach ($update as $info) {
         list($title, $provider, $id) = $info;
         $sql = "update video_info\n                       set video_id='{$id}' " . ($provider ? ", provider=" . $db->addQuotes($provider) : '') . ' ' . "where video_title = " . $db->addQuotes($title);
         if ($verbose) {
             echo "Running SQL on {$dbname}: {$sql}\n";
         }
         if (empty($test)) {
             $db->query($sql);
         }
     }
 }