private Table GetTable(TableName table) { var database = _sqlConnection.GetDatabase(); var tableInDb = string.IsNullOrEmpty(table.Schema) ? database.Tables[table.Table] : database.Tables[table.Table, table.Schema]; if (tableInDb == null) { throw new ArgumentException($"Table {table} was not found", nameof(table)); } return tableInDb; }
private void ExecuteTruncate(TableName table) { _targetDataConnection.Execute($"TRUNCATE TABLE {table}"); }
public EnableIndexesCommand(TableName table) { Table = table; }
public UpdateTableStatisticsCommand(TableName table) { Table = table; }
private static IReadOnlyCollection<ICommand> CreateReplicationCommands(TableName table, TimeSpan bulkCopyTimeout, DbManagementMode mode) { var commands = new List<ICommand>(); if (mode.HasFlag(DbManagementMode.EnableIndexManagment)) { commands.Add(new DisableIndexesCommand(table)); } commands.Add(new TruncateTableCommand(table)); commands.Add(new BulkInsertDataObjectsCommand(bulkCopyTimeout)); if (mode.HasFlag(DbManagementMode.EnableIndexManagment)) { commands.Add(new EnableIndexesCommand(table)); } if (mode.HasFlag(DbManagementMode.UpdateTableStatistics)) { commands.Add(new UpdateTableStatisticsCommand(table)); } return commands; }
public TruncateTableCommand(TableName table) { Table = table; }
public void EnableIndexes(TableName table) { EnableIndexes(GetTable(table)); }
public void DisableIndexes(TableName table) { DisableIndexes(GetTable(table)); }