private bool ReadTable(string schemaFile) { var stopWatch = new Stopwatch(); stopWatch.Start(); string currentTableName; long rowCounter; try { var tableDefinition = GetTableDefinition(schemaFile); var raw16Columns = _dbContext.DbType == DbTypeName.Oracle ? tableDefinition.GetRaw16Columns() : new List <string>(); tableDefinition.Columns .FindAll(c => raw16Columns.Contains(c.Name)) .ForEach(c => c.Details["Length"] = 17); _dbSchema.DropTable(tableDefinition.Name); _dbSchema.CreateTable(tableDefinition); ClusteredIndexOnAgrtid(tableDefinition); currentTableName = tableDefinition.Name; _logger.Write($"{currentTableName,30} Started..."); var fileName = GetDataFileName(currentTableName); rowCounter = BulkLoadData(tableDefinition, fileName); WhenOracleAlterRawColumns(tableDefinition.Name, raw16Columns, 16); _dbSchema.CreateIndexes(tableDefinition.Indexes); } catch (Exception ex) { _logger.Write($"ERROR while reading table. Current schema file: {schemaFile}:"); _logger.Write(ex); return(false); } stopWatch.Stop(); var message = $"{currentTableName,30} {rowCounter,10} rows read. Time: {stopWatch.Elapsed}"; _logger.Write(message); return(true); }
private void Test_CreateIndex() { _commands.ExecuteNonQuery(string.Format("create table {0} (id int, id2 int, id3 int)", _testTable)); List <IIndexDefinition> indexes = new List <IIndexDefinition> { _msContext.PowerPlant.CreateIndexDefinition("i1_" + _testTable, _testTable, "", true) }; indexes[0].Columns = new List <IIndexColumn> { IndexColumnFactory.CreateInstance("id") }; indexes.Add(_msContext.PowerPlant.CreateIndexDefinition("i2_" + _testTable, _testTable, "", false)); indexes[1].Columns = new List <IIndexColumn> { IndexColumnFactory.CreateInstance("id2"), IndexColumnFactory.CreateInstance("id3") }; _dbSchema.CreateIndexes(indexes); CheckIndexes(); }