示例#1
0
 private void AssertIndexExist(TRow row, TColumn column)
 {
     if (!_table.Rows.Any(r => r.Equals(row)) || !_table.Columns.Any(r => r.Equals(column)))
     {
         throw new ArgumentException();
     }
 }
示例#2
0
 public TValue this[TRow row, TColumn column]
 {
     get
     {
         if (table.Rows.Contains(row) && table.Columns.Contains(column))
         {
             return(table.GetValue(row, column));
         }
         else
         {
             throw new ArgumentException("There's no such cell.");
         }
     }
     set
     {
         if (table.Rows.Contains(row) && table.Columns.Contains(column))
         {
             table.SetValue(row, column, value);
         }
         else
         {
             throw new ArgumentException("There's no such cell.");
         }
     }
 }
示例#3
0
            public TValue this[TRow row, TColumn column]
            {
                get
                {
                    AssertIndexExist(row, column);

                    if (!_table._values.ContainsKey(row) || !_table._values[row].ContainsKey(column))
                    {
                        return(default(TValue));
                    }

                    return(_table._values[row][column]);
                }
                set
                {
                    AssertIndexExist(row, column);

                    if (!_table._values.ContainsKey(row))
                    {
                        _table._values[row] = new Dictionary <TColumn, TValue>();
                    }

                    _table._values[row][column] = value;
                }
            }
        public void TestSchemasOutOfSync()
        {
            var ctb          = new ChangeTrackingBatch(0, 0, 0, 0);
            var dbFieldLists = new List <Dictionary <string, List <TColumn> > >();
            var db1          = new List <TColumn> {
                new TColumn("a", false, null, true)
            };
            var db2 = new List <TColumn> {
                new TColumn("a", false, null, true)
            };
            var dict1 = new Dictionary <string, List <TColumn> > {
                { "db1", db1 },
                { "db2", db2 }
            };

            dbFieldLists.Add(dict1);
            shardDatabases = new List <string> {
                "db1", "db2"
            };
            Assert.False(SchemasOutOfSync(dbFieldLists));
            db1[0] = new TColumn("a", true, null, true);
            Assert.True(SchemasOutOfSync(dbFieldLists));
            db1.Clear();
            db1.Add(new TColumn("a", false, null, true));
            db1.Add(new TColumn("b", false, null, true));
            db2.Clear();
            db2.Add(new TColumn("b", false, null, true));
            db2.Add(new TColumn("a", false, null, true));
            Assert.False(SchemasOutOfSync(dbFieldLists));
        }
示例#5
0
 public void TestSchemasOutOfSync()
 {
     var ctb = new ChangeTrackingBatch(0, 0, 0, 0);
     var dbFieldLists = new List<Dictionary<string, List<TColumn>>>();
     var db1 = new List<TColumn>{
         new TColumn("a",false, null, true)
     };
     var db2 = new List<TColumn>{
         new TColumn("a",false, null, true)
     };
     var dict1 = new Dictionary<string, List<TColumn>>{
         {"db1", db1},
         {"db2",db2}
     };
     dbFieldLists.Add(dict1);
     shardDatabases = new List<string> { "db1", "db2" };
     Assert.False(SchemasOutOfSync(dbFieldLists));
     db1[0] = new TColumn("a", true, null, true);
     Assert.True(SchemasOutOfSync(dbFieldLists));
     db1.Clear();
     db1.Add(new TColumn("a", false, null, true));
     db1.Add(new TColumn("b", false, null, true));
     db2.Clear();
     db2.Add(new TColumn("b", false, null, true));
     db2.Add(new TColumn("a", false, null, true));
     Assert.False(SchemasOutOfSync(dbFieldLists));
 }
示例#6
0
 private IList GetrValue(TColumn value)
 {
     if (value.__isset.stringVal)
     {
         return(value.StringVal.Values);
     }
     else if (value.__isset.i32Val)
     {
         return(value.I32Val.Values);
     }
     else if (value.__isset.boolVal)
     {
         return(value.BoolVal.Values);
     }
     else if (value.__isset.doubleVal)
     {
         return(value.DoubleVal.Values);
     }
     else if (value.__isset.byteVal)
     {
         return(value.ByteVal.Values);
     }
     else if (value.__isset.i64Val)
     {
         return(value.I64Val.Values);
     }
     else if (value.__isset.i16Val)
     {
         return(value.I16Val.Values);
     }
     else
     {
         return(null);
     }
 }
示例#7
0
            public void AddColumn(TColumnKey key, TColumn column)
            {
                Columns.Add(new KeyValuePair <TColumnKey, TColumn>(key, column));
                TableHelper <TTable, TTableContent, TColumn, TColumnContent> .AddColumn(Table, column);

                column.Parent = Table;
            }
示例#8
0
 public void Search(string[] rowData, out TTable table, out TColumn column)
 {
     table  = _tables.FirstOrDefault(_tablePredicate(rowData));
     column = null;
     if (table != null && _columnKeyIndex >= 0)
     {
         var colName = rowData[_columnKeyIndex];
         column = table.Columns.FirstOrDefault(c => c.Name == colName);
     }
 }
示例#9
0
            private void CreateIndex(TRow row, TColumn column)
            {
                _table.AddRow(row);
                _table.AddColumn(column);

                if (!_table._values.ContainsKey(row))
                {
                    _table._values[row] = new Dictionary <TColumn, TValue>();
                }
            }
示例#10
0
 public TValue this[TRow row, TColumn column]
 {
     get
     {
         return(table.GetValue(row, column));
     }
     set
     {
         table.AddRow(row);
         table.AddColumn(column);
         table.SetValue(row, column, value);
     }
 }
示例#11
0
            public TValue this[TRow row, TColumn column]
            {
                get
                {
                    if (!_table._values.ContainsKey(row) || !_table._values[row].ContainsKey(column))
                    {
                        return(default(TValue));
                    }

                    return(_table._values[row][column]);
                }
                set
                {
                    CreateIndex(row, column);

                    _table._values[row][column] = value;
                }
            }
示例#12
0
        /// <summary>
        /// 获取指定表中的数字或日期字段
        /// </summary>
        /// <param DSet="DataSet">DataSet对象</param>
        /// <param comBox="ComboBox">ComboBox控件</param>
        /// <param Sign="int">标识</param>
        public void FieldStyle(DataSet DSet, ComboBox comBox, int Sign)
        {
            comBox.Items.Clear();
            Type TColumn;//定义一个类型变量

            if (Sign == 2)
            {
                YMD = new int[DSet.Tables[0].Columns.Count];
                for (int i = 0; i < YMD.Length; i++)
                {
                    YMD[i] = YMD.Length + 2;
                }
            }
            int ymdSign = 0;
            int ymdi    = 0;

            for (int i = 0; i < DSet.Tables[0].Columns.Count; i++) //遍历DataSet对象中的列
            {
                TColumn = DSet.Tables[0].Columns[i].DataType;      //获取当前列的类型
                if (Sign == 0 || Sign == 2)                        //如果标识为0,表示获取的是字符串和日期的字段
                {
                    if (TColumn.ToString() == "System.String" || TColumn.ToString() == "System.DateTime")
                    {
                        comBox.Items.Add(DSet.Tables[0].Columns[i].Caption);//添加符合条件的列标题名
                        if (Sign == 2 && TColumn.ToString() == "System.DateTime")
                        {
                            YMD[ymdi] = ymdSign;
                            ymdi      = ymdi + 1;
                        }
                        ymdSign = ymdSign + 1;
                    }
                }
                if (Sign == 1)//表示获取的是数字型的字段(整型、单精度型、双精度型、货币型、实数型)
                {
                    if (TColumn.ToString() == "System.Int32" || TColumn.ToString() == "System.Double" || TColumn.ToString() == "System.Decimal" || TColumn.ToString() == "System.Single")
                    {
                        comBox.Items.Add(DSet.Tables[0].Columns[i].Caption);
                    }
                }
            }
        }
示例#13
0
        public static void CheckAndDelete(string configname, string table, string rowid, string family, string columnname, object columnvalue, string[] delcolumns)
        {
            //实例化Socket连接
            //transport = new TSocket("2.5.172.38", 30001);
            var transport = new TSocket(configname);
            //实例化一个协议对象
            TProtocol tProtocol = new TBinaryProtocol(transport);

            byte[] tablenamebytes   = Encoding.UTF8.GetBytes(table);
            byte[] rowidbytes       = Encoding.UTF8.GetBytes(rowid);
            byte[] familybytes      = Encoding.UTF8.GetBytes(family);
            byte[] columnnamebytes  = Encoding.UTF8.GetBytes(columnname);
            byte[] columnvaluebytes = null;
            if (columnvalue != null)
            {
                columnvaluebytes = Serializer.TSerializer.GetBytes(columnvalue);
            }
            using (var client = new HBase.Thrift2.THBaseService.Client(tProtocol))
            {
                transport.Open();
                try
                {
                    TDelete del = new TDelete(rowidbytes);
                    if (delcolumns != null && delcolumns.Length > 0)
                    {
                        del.Columns = new List <TColumn>();
                        foreach (var col in delcolumns)
                        {
                            var tdelcol = new TColumn(familybytes);
                            tdelcol.Qualifier = Encoding.UTF8.GetBytes(col);
                            del.Columns.Add(tdelcol);
                        }
                    }
                    client.checkAndDelete(tablenamebytes, rowidbytes, familybytes, columnnamebytes, columnvaluebytes, del);
                }
                finally
                {
                    transport.Close();
                }
            }
        }
示例#14
0
        /// <summary>
        /// 对日期字段进行格式化
        /// </summary>
        /// <param DSet="DataSet">DataSet对象</param>
        /// <param SqlStr="string">SQL语句</param>
        /// <returns>返回string对象</returns>
        public string DataFormat(DataSet DSet, string SqlStr)
        {
            string temSql = SqlStr;
            Type   TColumn;                                        //定义一个类型变量

            for (int i = 0; i < DSet.Tables[0].Columns.Count; i++) //遍历DataSet对象中的列
            {
                TColumn = DSet.Tables[0].Columns[i].DataType;      //获取当前列的类型
                if (TColumn.ToString() == "System.DateTime")
                {
                    for (int j = 0; j < DSet.Tables[0].Rows.Count - 1; j++)
                    {
                        if (DSet.Tables[0].Rows[j][i].ToString().Length > 10)
                        {
                            temSql = LookupSubStr(temSql, DSet.Tables[0].Columns[i].Caption);
                            break;
                        }
                    }
                }
            }
            return(temSql);
        }
示例#15
0
    public void Read(TProtocol iprot)
    {
        iprot.IncrementRecursionDepth();
        try
        {
            TField field;
            iprot.ReadStructBegin();
            while (true)
            {
                field = iprot.ReadFieldBegin();
                if (field.Type == TType.Stop)
                {
                    break;
                }
                switch (field.ID)
                {
                case 1:
                    if (field.Type == TType.String)
                    {
                        Row = iprot.ReadBinary();
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                case 2:
                    if (field.Type == TType.Map)
                    {
                        {
                            Columns = new Dictionary <byte[], TCell>();
                            TMap _map4 = iprot.ReadMapBegin();
                            for (int _i5 = 0; _i5 < _map4.Count; ++_i5)
                            {
                                byte[] _key6;
                                TCell  _val7;
                                _key6 = iprot.ReadBinary();
                                _val7 = new TCell();
                                _val7.Read(iprot);
                                Columns[_key6] = _val7;
                            }
                            iprot.ReadMapEnd();
                        }
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                case 3:
                    if (field.Type == TType.List)
                    {
                        {
                            SortedColumns = new List <TColumn>();
                            TList _list8 = iprot.ReadListBegin();
                            for (int _i9 = 0; _i9 < _list8.Count; ++_i9)
                            {
                                TColumn _elem10;
                                _elem10 = new TColumn();
                                _elem10.Read(iprot);
                                SortedColumns.Add(_elem10);
                            }
                            iprot.ReadListEnd();
                        }
                    }
                    else
                    {
                        TProtocolUtil.Skip(iprot, field.Type);
                    }
                    break;

                default:
                    TProtocolUtil.Skip(iprot, field.Type);
                    break;
                }
                iprot.ReadFieldEnd();
            }
            iprot.ReadStructEnd();
        }
        finally
        {
            iprot.DecrementRecursionDepth();
        }
    }
示例#16
0
    public async Task ReadAsync(TProtocol iprot, CancellationToken cancellationToken)
    {
        iprot.IncrementRecursionDepth();
        try
        {
            TField field;
            await iprot.ReadStructBeginAsync(cancellationToken);

            while (true)
            {
                field = await iprot.ReadFieldBeginAsync(cancellationToken);

                if (field.Type == TType.Stop)
                {
                    break;
                }

                switch (field.ID)
                {
                case 1:
                    if (field.Type == TType.String)
                    {
                        Row = await iprot.ReadBinaryAsync(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 2:
                    if (field.Type == TType.Map)
                    {
                        {
                            Columns = new Dictionary <byte[], TCell>();
                            TMap _map4 = await iprot.ReadMapBeginAsync(cancellationToken);

                            for (int _i5 = 0; _i5 < _map4.Count; ++_i5)
                            {
                                byte[] _key6;
                                TCell  _val7;
                                _key6 = await iprot.ReadBinaryAsync(cancellationToken);

                                _val7 = new TCell();
                                await _val7.ReadAsync(iprot, cancellationToken);

                                Columns[_key6] = _val7;
                            }
                            await iprot.ReadMapEndAsync(cancellationToken);
                        }
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 3:
                    if (field.Type == TType.List)
                    {
                        {
                            SortedColumns = new List <TColumn>();
                            TList _list8 = await iprot.ReadListBeginAsync(cancellationToken);

                            for (int _i9 = 0; _i9 < _list8.Count; ++_i9)
                            {
                                TColumn _elem10;
                                _elem10 = new TColumn();
                                await _elem10.ReadAsync(iprot, cancellationToken);

                                SortedColumns.Add(_elem10);
                            }
                            await iprot.ReadListEndAsync(cancellationToken);
                        }
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                default:
                    await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);

                    break;
                }

                await iprot.ReadFieldEndAsync(cancellationToken);
            }

            await iprot.ReadStructEndAsync(cancellationToken);
        }
        finally
        {
            iprot.DecrementRecursionDepth();
        }
    }
示例#17
0
    public void Read(TProtocol iprot)
    {
        TField field;

        iprot.ReadStructBegin();
        while (true)
        {
            field = iprot.ReadFieldBegin();
            if (field.Type == TType.Stop)
            {
                break;
            }
            switch (field.ID)
            {
            case 1:
                if (field.Type == TType.String)
                {
                    StartRow = iprot.ReadBinary();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 2:
                if (field.Type == TType.String)
                {
                    StopRow = iprot.ReadBinary();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 3:
                if (field.Type == TType.List)
                {
                    {
                        Columns = new List <TColumn>();
                        TList _list53 = iprot.ReadListBegin();
                        for (int _i54 = 0; _i54 < _list53.Count; ++_i54)
                        {
                            TColumn _elem55 = new TColumn();
                            _elem55 = new TColumn();
                            _elem55.Read(iprot);
                            Columns.Add(_elem55);
                        }
                        iprot.ReadListEnd();
                    }
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 4:
                if (field.Type == TType.I32)
                {
                    Caching = iprot.ReadI32();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 5:
                if (field.Type == TType.I32)
                {
                    MaxVersions = iprot.ReadI32();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 6:
                if (field.Type == TType.Struct)
                {
                    TimeRange = new TTimeRange();
                    TimeRange.Read(iprot);
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 7:
                if (field.Type == TType.String)
                {
                    FilterString = iprot.ReadBinary();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 8:
                if (field.Type == TType.I32)
                {
                    BatchSize = iprot.ReadI32();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 9:
                if (field.Type == TType.Map)
                {
                    {
                        Attributes = new Dictionary <byte[], byte[]>();
                        TMap _map56 = iprot.ReadMapBegin();
                        for (int _i57 = 0; _i57 < _map56.Count; ++_i57)
                        {
                            byte[] _key58;
                            byte[] _val59;
                            _key58             = iprot.ReadBinary();
                            _val59             = iprot.ReadBinary();
                            Attributes[_key58] = _val59;
                        }
                        iprot.ReadMapEnd();
                    }
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 10:
                if (field.Type == TType.Struct)
                {
                    Authorizations = new TAuthorization();
                    Authorizations.Read(iprot);
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 11:
                if (field.Type == TType.Bool)
                {
                    Reversed = iprot.ReadBool();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            default:
                TProtocolUtil.Skip(iprot, field.Type);
                break;
            }
            iprot.ReadFieldEnd();
        }
        iprot.ReadStructEnd();
    }
示例#18
0
    public async Task ReadAsync(TProtocol iprot, CancellationToken cancellationToken)
    {
        iprot.IncrementRecursionDepth();
        try
        {
            TField field;
            await iprot.ReadStructBeginAsync(cancellationToken);

            while (true)
            {
                field = await iprot.ReadFieldBeginAsync(cancellationToken);

                if (field.Type == TType.Stop)
                {
                    break;
                }

                switch (field.ID)
                {
                case 1:
                    if (field.Type == TType.String)
                    {
                        StartRow = await iprot.ReadBinaryAsync(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 2:
                    if (field.Type == TType.String)
                    {
                        StopRow = await iprot.ReadBinaryAsync(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 3:
                    if (field.Type == TType.List)
                    {
                        {
                            Columns = new List <TColumn>();
                            TList _list53 = await iprot.ReadListBeginAsync(cancellationToken);

                            for (int _i54 = 0; _i54 < _list53.Count; ++_i54)
                            {
                                TColumn _elem55;
                                _elem55 = new TColumn();
                                await _elem55.ReadAsync(iprot, cancellationToken);

                                Columns.Add(_elem55);
                            }
                            await iprot.ReadListEndAsync(cancellationToken);
                        }
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 4:
                    if (field.Type == TType.I32)
                    {
                        Caching = await iprot.ReadI32Async(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 5:
                    if (field.Type == TType.I32)
                    {
                        MaxVersions = await iprot.ReadI32Async(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 6:
                    if (field.Type == TType.Struct)
                    {
                        TimeRange = new TTimeRange();
                        await TimeRange.ReadAsync(iprot, cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 7:
                    if (field.Type == TType.String)
                    {
                        FilterString = await iprot.ReadBinaryAsync(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 8:
                    if (field.Type == TType.I32)
                    {
                        BatchSize = await iprot.ReadI32Async(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 9:
                    if (field.Type == TType.Map)
                    {
                        {
                            Attributes = new Dictionary <byte[], byte[]>();
                            TMap _map56 = await iprot.ReadMapBeginAsync(cancellationToken);

                            for (int _i57 = 0; _i57 < _map56.Count; ++_i57)
                            {
                                byte[] _key58;
                                byte[] _val59;
                                _key58 = await iprot.ReadBinaryAsync(cancellationToken);

                                _val59 = await iprot.ReadBinaryAsync(cancellationToken);

                                Attributes[_key58] = _val59;
                            }
                            await iprot.ReadMapEndAsync(cancellationToken);
                        }
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 10:
                    if (field.Type == TType.Struct)
                    {
                        Authorizations = new TAuthorization();
                        await Authorizations.ReadAsync(iprot, cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 11:
                    if (field.Type == TType.Bool)
                    {
                        Reversed = await iprot.ReadBoolAsync(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                default:
                    await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);

                    break;
                }

                await iprot.ReadFieldEndAsync(cancellationToken);
            }

            await iprot.ReadStructEndAsync(cancellationToken);
        }
        finally
        {
            iprot.DecrementRecursionDepth();
        }
    }
示例#19
0
文件: TDelete.cs 项目: hnxxd/MyHbase
    public void Read(TProtocol iprot)
    {
        TField field;

        iprot.ReadStructBegin();
        while (true)
        {
            field = iprot.ReadFieldBegin();
            if (field.Type == TType.Stop)
            {
                break;
            }
            switch (field.ID)
            {
            case 1:
                if (field.Type == TType.String)
                {
                    Row = iprot.ReadBinary();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 2:
                if (field.Type == TType.List)
                {
                    {
                        Columns = new List <TColumn>();
                        TList _list26 = iprot.ReadListBegin();
                        for (int _i27 = 0; _i27 < _list26.Count; ++_i27)
                        {
                            TColumn _elem28 = new TColumn();
                            _elem28 = new TColumn();
                            _elem28.Read(iprot);
                            Columns.Add(_elem28);
                        }
                        iprot.ReadListEnd();
                    }
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 3:
                if (field.Type == TType.I64)
                {
                    Timestamp = iprot.ReadI64();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 4:
                if (field.Type == TType.I32)
                {
                    DeleteType = (TDeleteType)iprot.ReadI32();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 6:
                if (field.Type == TType.Map)
                {
                    {
                        Attributes = new Dictionary <byte[], byte[]>();
                        TMap _map29 = iprot.ReadMapBegin();
                        for (int _i30 = 0; _i30 < _map29.Count; ++_i30)
                        {
                            byte[] _key31;
                            byte[] _val32;
                            _key31             = iprot.ReadBinary();
                            _val32             = iprot.ReadBinary();
                            Attributes[_key31] = _val32;
                        }
                        iprot.ReadMapEnd();
                    }
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 7:
                if (field.Type == TType.I32)
                {
                    Durability = (TDurability)iprot.ReadI32();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            default:
                TProtocolUtil.Skip(iprot, field.Type);
                break;
            }
            iprot.ReadFieldEnd();
        }
        iprot.ReadStructEnd();
    }
示例#20
0
    public void Read(TProtocol iprot)
    {
        TField field;

        iprot.ReadStructBegin();
        while (true)
        {
            field = iprot.ReadFieldBegin();
            if (field.Type == TType.Stop)
            {
                break;
            }
            switch (field.ID)
            {
            case 1:
                if (field.Type == TType.String)
                {
                    Row = iprot.ReadBinary();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 2:
                if (field.Type == TType.List)
                {
                    {
                        Columns = new List <TColumn>();
                        TList _list8 = iprot.ReadListBegin();
                        for (int _i9 = 0; _i9 < _list8.Count; ++_i9)
                        {
                            TColumn _elem10 = new TColumn();
                            _elem10 = new TColumn();
                            _elem10.Read(iprot);
                            Columns.Add(_elem10);
                        }
                        iprot.ReadListEnd();
                    }
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 3:
                if (field.Type == TType.I64)
                {
                    Timestamp = iprot.ReadI64();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 4:
                if (field.Type == TType.Struct)
                {
                    TimeRange = new TTimeRange();
                    TimeRange.Read(iprot);
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 5:
                if (field.Type == TType.I32)
                {
                    MaxVersions = iprot.ReadI32();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 6:
                if (field.Type == TType.String)
                {
                    FilterString = iprot.ReadBinary();
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 7:
                if (field.Type == TType.Map)
                {
                    {
                        Attributes = new Dictionary <byte[], byte[]>();
                        TMap _map11 = iprot.ReadMapBegin();
                        for (int _i12 = 0; _i12 < _map11.Count; ++_i12)
                        {
                            byte[] _key13;
                            byte[] _val14;
                            _key13             = iprot.ReadBinary();
                            _val14             = iprot.ReadBinary();
                            Attributes[_key13] = _val14;
                        }
                        iprot.ReadMapEnd();
                    }
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            case 8:
                if (field.Type == TType.Struct)
                {
                    Authorizations = new TAuthorization();
                    Authorizations.Read(iprot);
                }
                else
                {
                    TProtocolUtil.Skip(iprot, field.Type);
                }
                break;

            default:
                TProtocolUtil.Skip(iprot, field.Type);
                break;
            }
            iprot.ReadFieldEnd();
        }
        iprot.ReadStructEnd();
    }
示例#21
0
 public void Read (TProtocol iprot)
 {
   TField field;
   iprot.ReadStructBegin();
   while (true)
   {
     field = iprot.ReadFieldBegin();
     if (field.Type == TType.Stop) { 
       break;
     }
     switch (field.ID)
     {
       case 1:
         if (field.Type == TType.String) {
           Row = iprot.ReadBinary();
         } else { 
           TProtocolUtil.Skip(iprot, field.Type);
         }
         break;
       case 2:
         if (field.Type == TType.Map) {
           {
             Columns = new Dictionary<byte[], TCell>();
             TMap _map4 = iprot.ReadMapBegin();
             for( int _i5 = 0; _i5 < _map4.Count; ++_i5)
             {
               byte[] _key6;
               TCell _val7;
               _key6 = iprot.ReadBinary();
               _val7 = new TCell();
               _val7.Read(iprot);
               Columns[_key6] = _val7;
             }
             iprot.ReadMapEnd();
           }
         } else { 
           TProtocolUtil.Skip(iprot, field.Type);
         }
         break;
       case 3:
         if (field.Type == TType.List) {
           {
             SortedColumns = new List<TColumn>();
             TList _list8 = iprot.ReadListBegin();
             for( int _i9 = 0; _i9 < _list8.Count; ++_i9)
             {
               TColumn _elem10 = new TColumn();
               _elem10 = new TColumn();
               _elem10.Read(iprot);
               SortedColumns.Add(_elem10);
             }
             iprot.ReadListEnd();
           }
         } else { 
           TProtocolUtil.Skip(iprot, field.Type);
         }
         break;
       default: 
         TProtocolUtil.Skip(iprot, field.Type);
         break;
     }
     iprot.ReadFieldEnd();
   }
   iprot.ReadStructEnd();
 }
示例#22
0
文件: TGet.cs 项目: jm6041/HbaseApp
    public async Task ReadAsync(TProtocol iprot, CancellationToken cancellationToken)
    {
        iprot.IncrementRecursionDepth();
        try
        {
            bool   isset_row = false;
            TField field;
            await iprot.ReadStructBeginAsync(cancellationToken);

            while (true)
            {
                field = await iprot.ReadFieldBeginAsync(cancellationToken);

                if (field.Type == TType.Stop)
                {
                    break;
                }

                switch (field.ID)
                {
                case 1:
                    if (field.Type == TType.String)
                    {
                        Row = await iprot.ReadBinaryAsync(cancellationToken);

                        isset_row = true;
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 2:
                    if (field.Type == TType.List)
                    {
                        {
                            Columns = new List <TColumn>();
                            TList _list8 = await iprot.ReadListBeginAsync(cancellationToken);

                            for (int _i9 = 0; _i9 < _list8.Count; ++_i9)
                            {
                                TColumn _elem10;
                                _elem10 = new TColumn();
                                await _elem10.ReadAsync(iprot, cancellationToken);

                                Columns.Add(_elem10);
                            }
                            await iprot.ReadListEndAsync(cancellationToken);
                        }
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 3:
                    if (field.Type == TType.I64)
                    {
                        Timestamp = await iprot.ReadI64Async(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 4:
                    if (field.Type == TType.Struct)
                    {
                        TimeRange = new TTimeRange();
                        await TimeRange.ReadAsync(iprot, cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 5:
                    if (field.Type == TType.I32)
                    {
                        MaxVersions = await iprot.ReadI32Async(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 6:
                    if (field.Type == TType.String)
                    {
                        FilterString = await iprot.ReadBinaryAsync(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 7:
                    if (field.Type == TType.Map)
                    {
                        {
                            Attributes = new Dictionary <byte[], byte[]>();
                            TMap _map11 = await iprot.ReadMapBeginAsync(cancellationToken);

                            for (int _i12 = 0; _i12 < _map11.Count; ++_i12)
                            {
                                byte[] _key13;
                                byte[] _val14;
                                _key13 = await iprot.ReadBinaryAsync(cancellationToken);

                                _val14 = await iprot.ReadBinaryAsync(cancellationToken);

                                Attributes[_key13] = _val14;
                            }
                            await iprot.ReadMapEndAsync(cancellationToken);
                        }
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 8:
                    if (field.Type == TType.Struct)
                    {
                        Authorizations = new TAuthorization();
                        await Authorizations.ReadAsync(iprot, cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                default:
                    await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);

                    break;
                }

                await iprot.ReadFieldEndAsync(cancellationToken);
            }

            await iprot.ReadStructEndAsync(cancellationToken);

            if (!isset_row)
            {
                throw new TProtocolException(TProtocolException.INVALID_DATA);
            }
        }
        finally
        {
            iprot.DecrementRecursionDepth();
        }
    }
示例#23
0
    public async Task ReadAsync(TProtocol iprot, CancellationToken cancellationToken)
    {
        iprot.IncrementRecursionDepth();
        try
        {
            bool   isset_row = false;
            TField field;
            await iprot.ReadStructBeginAsync(cancellationToken);

            while (true)
            {
                field = await iprot.ReadFieldBeginAsync(cancellationToken);

                if (field.Type == TType.Stop)
                {
                    break;
                }

                switch (field.ID)
                {
                case 1:
                    if (field.Type == TType.String)
                    {
                        Row = await iprot.ReadBinaryAsync(cancellationToken);

                        isset_row = true;
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 2:
                    if (field.Type == TType.List)
                    {
                        {
                            Columns = new List <TColumn>();
                            TList _list26 = await iprot.ReadListBeginAsync(cancellationToken);

                            for (int _i27 = 0; _i27 < _list26.Count; ++_i27)
                            {
                                TColumn _elem28;
                                _elem28 = new TColumn();
                                await _elem28.ReadAsync(iprot, cancellationToken);

                                Columns.Add(_elem28);
                            }
                            await iprot.ReadListEndAsync(cancellationToken);
                        }
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 3:
                    if (field.Type == TType.I64)
                    {
                        Timestamp = await iprot.ReadI64Async(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 4:
                    if (field.Type == TType.I32)
                    {
                        DeleteType = (TDeleteType)await iprot.ReadI32Async(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 6:
                    if (field.Type == TType.Map)
                    {
                        {
                            Attributes = new Dictionary <byte[], byte[]>();
                            TMap _map29 = await iprot.ReadMapBeginAsync(cancellationToken);

                            for (int _i30 = 0; _i30 < _map29.Count; ++_i30)
                            {
                                byte[] _key31;
                                byte[] _val32;
                                _key31 = await iprot.ReadBinaryAsync(cancellationToken);

                                _val32 = await iprot.ReadBinaryAsync(cancellationToken);

                                Attributes[_key31] = _val32;
                            }
                            await iprot.ReadMapEndAsync(cancellationToken);
                        }
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                case 7:
                    if (field.Type == TType.I32)
                    {
                        Durability = (TDurability)await iprot.ReadI32Async(cancellationToken);
                    }
                    else
                    {
                        await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                    }
                    break;

                default:
                    await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);

                    break;
                }

                await iprot.ReadFieldEndAsync(cancellationToken);
            }

            await iprot.ReadStructEndAsync(cancellationToken);

            if (!isset_row)
            {
                throw new TProtocolException(TProtocolException.INVALID_DATA);
            }
        }
        finally
        {
            iprot.DecrementRecursionDepth();
        }
    }