You are here

function backup_migrate_source_db_mysql::_read_sql_command_from_file in Backup and Migrate 6.3

Same name and namespace in other branches
  1. 8.3 includes/sources.db.mysql.inc \backup_migrate_source_db_mysql::_read_sql_command_from_file()
  2. 7.3 includes/sources.db.mysql.inc \backup_migrate_source_db_mysql::_read_sql_command_from_file()

Read a multiline sql command from a file.

Supports the formatting created by mysqldump, but won't handle multiline comments.

1 call to backup_migrate_source_db_mysql::_read_sql_command_from_file()
backup_migrate_source_db_mysql::_restore_db_from_file in includes/sources.db.mysql.inc
Backup the databases to a file.

File

includes/sources.db.mysql.inc, line 203
Functions to handle the direct to database source.

Class

backup_migrate_source_db_mysql
A source type for backing up from database server.

Code

function _read_sql_command_from_file($file) {
  $out = '';
  while ($line = $file
    ->read()) {
    $first2 = substr($line, 0, 2);
    $first3 = substr($line, 0, 2);

    // Ignore single line comments. This function doesn't support multiline comments or inline comments.
    if ($first2 != '--' && ($first2 != '/*' || $first3 == '/*!')) {
      $out .= ' ' . trim($line);

      // If a line ends in ; or */ it is a sql command.
      if (substr($out, strlen($out) - 1, 1) == ';') {
        return trim($out);
      }
    }
  }
  return trim($out);
}