hunk.code_window: `LEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS tableConstraints ON tableConstraints.CONSTRAINT_NAME = columnUsages.CONSTRAINT_NAME ` +
   `WHERE columnUsages.TABLE_CATALOG = '${this.dbName}' AND tableConstraints.TABLE_CATALOG = '${this.dbName}'`;
           const identityColumnsSql = `SELECT COLUMN_NAME, TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_CATALOG = '${this.dbName}' AND COLUMNPROPERTY(object_id(TABLE_NAME), COLUMN_NAME, 'IsIdentity') = 1;`;
           const indicesSql         = `SELECT TABLE_NAME = t.name, INDEX_NAME = ind.name, IndexId = ind.index_id, ColumnId = ic.index_column_id, COLUMN_NAME = col.name, ind.*, ic.*, col.* ` +
   `FROM sys.indexes ind INNER JOIN sys.index_columns ic ON ind.object_id = ic.object_id and ind.index_id = ic.index_id INNER JOIN sys.columns col ON ic.object_id = col.object_id and ic.column_id = col.column_id ` +
  
hunk.labels: keep keep keep replace keep
hunk.after_edit:         const indicesSql         = `SELECT TABLE_NAME = t.name, INDEX_NAME = ind.name, IndexId = ind.index_id, ColumnId = ic.index_column_id, COLUMN_NAME = col.name, IS_UNIQUE = ind.is_unique, ind.*, ic.*, col.* ` +
  
hunk.file_path: src/driver/sqlserver/SqlServerQueryRunner.ts
hunk.type: replace
file: import {ColumnOptions} from "../options/ColumnOptions";
  import {getMetadataArgsStorage} from "../../index";
  import {ColumnMetadataArgs} from "../../metadata-args/ColumnMetadataArgs";
  
  /**
   * This column will store a creation date of the inserted object.
   * Creation date is generated and inserted only once,
   * at the first time when you create an object, the value is inserted into the table, and is never touched again.
   */
  export function CreateDateColumn(options?: ColumnOptions): Function {
      return function (object: Object, propertyName: string) {
  
          // const reflectedType = ColumnTypes.typeToString((Reflect as any).getMetadata("design:type", object, propertyName));
  
          // if column options are not given then create a new empty options
          if (!options) options = {} as ColumnOptions;
  
          // implicitly set a type, because this column's type cannot be anything else except date
          // options = Object.assign({ type: Date } as ColumnOptions, options);
  
          // create and register a new column metadata
          const args: ColumnMetadataArgs = {
              target: object.constructor,
              propertyName: propertyName,
              // propertyType: reflectedType,
              mode: "createDate",
              options: options
          };
          getMetadataArgsStorage().columns.push(args);
      };
  }
  