using System; using System.Collections.Generic; using System.Data.Common; using System.Linq; using System.Text; using System.IO; namespace Patcher.DB { interface IDBTraits { string EscapeName(string name); string MarkParam(string rawParamName); string ParamName(string rawParamName); DbConnection CreateConnection(string connectionString); StoredProcedureBody GetStoredProcedureBody(Func commandCreator, StoredProcedureReference procedure); void ReplaceStoredProcedureBody(Func commandCreator, StoredProcedureReference procedure, StoredProcedureBody newBody); void RemoveStoredProcedure(Func commandCreator, StoredProcedureReference procedure); void CreateStoredProcedure(Func commandCreator, StoredProcedureReference procedure, StoredProcedureBody body); ColumnOptions GetColumnOptions(Func commandCreator, ColumnReference column); void RemoveColumn(Func commandCreator, ColumnReference column); void CreateColumn(Func commandCreator, ColumnDescription description); void ModifyColumn(Func commandCreator, ColumnDescription description); void RemoveConstraint(Func commandCreator, AbstractConstraint constraint); void CreateConstraint(Func commandCreator, AbstractConstraint constraint); void CreateTable(Func commandCreator, TableDescription table); void RemoveTable(Func commandCreator, TableDescription table); string GetViewBody(Func commandCreator, string viewName); void CreateView(Func commandCreator, string viewName, string body); void RemoveView(Func commandCreator, string viewName); bool IsDDLTransactional { get; } } }