コード例 #1
0
ファイル: RecordInfo.cs プロジェクト: harite/SqlChop
 internal static RecordInfo BuildRecordInfo(SqlDataReader reader, ITableInfoProvider tableInfoProvider)
 {
     RecordInfo record = new RecordInfo();
     record._Operation = GetOperation((string)reader["Operation"]);
     record._LogSequenceNumber = new LogSequenceNumber(reader);
     if (!reader.IsDBNull(reader.GetOrdinal("AllocUnitName")))
     {
         record._AllocationUnitName = AllocationUnitName.FromString((string)reader["AllocUnitName"]);
         if (record._AllocationUnitName != null)
         {
             record._Table = tableInfoProvider.GetTable(record._AllocationUnitName.ObjectName,
                 "sys".Equals(record._AllocationUnitName.SchemaName));
         }
     }
     if (!reader.IsDBNull(reader.GetOrdinal("RowLog Contents 0")))
     {
         record._RowLogContents0 = reader.GetSqlBytes(reader.GetOrdinal("RowLog Contents 0")).Buffer;
     }
     if (!reader.IsDBNull(reader.GetOrdinal("RowLog Contents 1")))
     {
         record._RowLogContents1 = reader.GetSqlBytes(reader.GetOrdinal("RowLog Contents 1")).Buffer;
     }
     if (!reader.IsDBNull(reader.GetOrdinal("Offset in Row")))
     {
         record._RowOffset = (short)reader["Offset in Row"];
     }
     return record;
 }
コード例 #2
0
ファイル: RecordInfo.cs プロジェクト: ConceptFirst/SqlChop
        internal static RecordInfo BuildRecordInfo(SqlDataReader reader, ITableInfoProvider tableInfoProvider)
        {
            RecordInfo record = new RecordInfo();

            record._Operation         = GetOperation((string)reader["Operation"]);
            record._LogSequenceNumber = new LogSequenceNumber(reader);
            if (!reader.IsDBNull(reader.GetOrdinal("AllocUnitName")))
            {
                record._AllocationUnitName = AllocationUnitName.FromString((string)reader["AllocUnitName"]);
                if (record._AllocationUnitName != null)
                {
                    record._Table = tableInfoProvider.GetTable(record._AllocationUnitName.ObjectName,
                                                               "sys".Equals(record._AllocationUnitName.SchemaName));
                }
            }
            if (!reader.IsDBNull(reader.GetOrdinal("RowLog Contents 0")))
            {
                record._RowLogContents0 = reader.GetSqlBytes(reader.GetOrdinal("RowLog Contents 0")).Buffer;
            }
            if (!reader.IsDBNull(reader.GetOrdinal("RowLog Contents 1")))
            {
                record._RowLogContents1 = reader.GetSqlBytes(reader.GetOrdinal("RowLog Contents 1")).Buffer;
            }
            if (!reader.IsDBNull(reader.GetOrdinal("Offset in Row")))
            {
                record._RowOffset = (short)reader["Offset in Row"];
            }
            return(record);
        }
コード例 #3
0
        public void Remove(ITableInfoProvider table)
        {
            var tableInfo = table.TableInfo;
            var query     = from item in tableInfo.Columns
                            where NameValidator.VerifyItemPath(item.DataType)
                            select new ItemName(item.DataType);

            foreach (var item in query)
            {
                var type = this[item.Name, item.CategoryPath];
                type.Remove(table);
            }
        }
コード例 #4
0
        /// <param name="connectionString">MySQL connection string</param>
        /// <param name="transformers">Transformers that need to be used with raw string values</param>
        /// <param name="defaultTransformer">Default transformer used to transform data when transform for type is not found</param>
        public MySqlDatabaseImportService(string connectionString, Dictionary <string, ITransformer>?transformers = null, ITransformer?defaultTransformer = null)
        {
            _mySqlConnection = new MySqlConnection(connectionString);
            _mySqlConnection.Open();
            _commandBuilder    = new MySqlCommandBuilder();
            _tableInfoProvider = new TableInfoProvider(_mySqlConnection);

            _transformers = transformers ??
                            new Dictionary <string, ITransformer>()
            {
                { "timestamp", new DateTimeTransformer() },
                { "datetime", new DateTimeTransformer() }
            };
            _defaultTransformer = defaultTransformer ?? new StringTransformer();
        }
コード例 #5
0
 public LogReader(SqlConnection connection, ITableInfoProvider tableInfoProvider)
 {
     _Connection        = connection;
     _TableInfoProvider = tableInfoProvider;
 }
コード例 #6
0
ファイル: LogReader.cs プロジェクト: harite/SqlChop
 public LogReader(SqlConnection connection, ITableInfoProvider tableInfoProvider)
 {
     _Connection = connection;
     _TableInfoProvider = tableInfoProvider;
 }