hunk.code_window:         const tableNamesString = tableNames.map(tableName => `'${tableName}'`).join(", ");
           const tablesSql      = `SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '${this.dbName}' AND TABLE_NAME IN (${tableNamesString})`;
           const columnsSql     = `SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '${this.dbName}'`;
           const indicesSql     = `SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = '${this.dbName}' AND INDEX_NAME != 'PRIMARY'`;
           const foreignKeysSql = `SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA = '${this.dbName}' AND REFERENCED_COLUMN_NAME IS NOT NULL`;
           const [dbTables, dbColumns, dbIndices, dbForeignKeys]: ObjectLiteral[][] = await Promise.all([
               this.query(tablesSql),
               this.query(columnsSql),
  
hunk.labels: keep keep keep replace keep keep keep keep
hunk.after_edit:         const indicesSql     = `SELECT * FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = '${this.dbName}' AND INDEX_NAME != 'PRIMARY' ORDER BY SEQ_IN_INDEX`;
  
hunk.file_path: src/driver/mysql/MysqlQueryRunner.ts
hunk.type: replace
file: import {ColumnOptions} from "../options/ColumnOptions";
  import {ColumnType} from "../../driver/types/ColumnTypes";
  import {getMetadataArgsStorage} from "../../index";
  import {ColumnMetadataArgs} from "../../metadata-args/ColumnMetadataArgs";
  
  /**
   * DiscriminatorColumn is a special type column used on entity class (not entity property)
   * and creates a special column which will contain an entity type.
   * This type is required for entities which use single table inheritance pattern.
   */
  export function DiscriminatorColumn(discriminatorOptions: { name: string, type: ColumnType }): Function {
      return function (target: Function) {
  
          // if column options are not given then create a new empty options
          const options: ColumnOptions = {
              name: discriminatorOptions.name,
              type: discriminatorOptions.type
          };
  
          // create and register a new column metadata
          const args: ColumnMetadataArgs = {
              target: target,
              mode: "discriminator",
              propertyName: discriminatorOptions.name,
              options: options
          };
          getMetadataArgsStorage().columns.push(args);
      };
  }
  
  