Example #1
0
        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;
        }
Example #2
0
 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;
 }
Example #7
0
 public void EnableIndexes(TableName table)
 {
     EnableIndexes(GetTable(table));
 }
Example #8
0
 public void DisableIndexes(TableName table)
 {
     DisableIndexes(GetTable(table));
 }