/**
  * Parses DELETE FROM command.
  *
  * @param database database
  * @param command DELETE FROM command
  *
  */
 public static function parse($database, $command)
 {
     if (preg_match(self::PATTERN_DELETE_FROM, $command, $matches) > 0) {
         $line = $command;
         $table_name = $matches[1];
         $where_clause = $matches[2];
         $table_name = sql_parser::get_schema_name($table_name, $database) . '.' . sql_parser::get_object_name($table_name);
         $schema = $database->get_schema(sql_parser::get_schema_name($table_name, $database));
         if ($schema == null) {
             throw new exception("Failed to find schema for data delete: " . sql_parser::get_schema_name($table_name, $database));
         }
         $table = $schema->get_table(sql_parser::get_object_name($table_name));
         if ($table == null) {
             throw new exception("Failed to find table for data delete: " . $table_name);
         }
         pgsql8_table::delete_data_row($table, $where_clause);
     } else {
         throw new exception("Cannot parse command: " . $command);
     }
 }