func (sqs *StreamQueryKeyRange) UnmarshalBson(buf *bytes.Buffer) { bson.Next(buf, 4) kind := bson.NextByte(buf) for kind != bson.EOO { keyName := bson.ReadCString(buf) switch keyName { case "Sql": sqs.Sql = bson.DecodeString(buf, kind) case "BindVariables": sqs.BindVariables = tproto.DecodeBindVariablesBson(buf, kind) case "Keyspace": sqs.Keyspace = bson.DecodeString(buf, kind) case "KeyRange": sqs.KeyRange = bson.DecodeString(buf, kind) case "TabletType": sqs.TabletType = topo.TabletType(bson.DecodeString(buf, kind)) case "Session": sqs.Session = new(Session) sqs.Session.UnmarshalBson(buf) default: panic(bson.NewBsonError("Unrecognized tag %s", keyName)) } kind = bson.NextByte(buf) } }
// UnmarshalBson unmarshals BatchQueryShard from buf. func (bqs *BatchQueryShard) UnmarshalBson(buf *bytes.Buffer, kind byte) { bson.VerifyObject(kind) bson.Next(buf, 4) kind = bson.NextByte(buf) for kind != bson.EOO { keyName := bson.ReadCString(buf) switch keyName { case "Queries": bqs.Queries = tproto.DecodeQueriesBson(buf, kind) case "Keyspace": bqs.Keyspace = bson.DecodeString(buf, kind) case "Shards": bqs.Shards = bson.DecodeStringArray(buf, kind) case "TabletType": bqs.TabletType = topo.TabletType(bson.DecodeString(buf, kind)) case "Session": if kind != bson.Null { bqs.Session = new(Session) bqs.Session.UnmarshalBson(buf, kind) } default: bson.Skip(buf, kind) } kind = bson.NextByte(buf) } }
func (zkNode *ZkNode) UnmarshalBson(buf *bytes.Buffer) { bson.Next(buf, 4) kind := bson.NextByte(buf) for kind != bson.EOO { key := bson.ReadCString(buf) switch key { case "Path": zkNode.Path = bson.DecodeString(buf, kind) case "Data": zkNode.Data = bson.DecodeString(buf, kind) case "Stat": if kind != bson.Object { panic(bson.NewBsonError("Unexpected data type %v for Stat", kind)) } zkNode.Stat.UnmarshalBson(buf) case "Children": zkNode.Children = bson.DecodeStringArray(buf, kind) case "Cached": zkNode.Cached = bson.DecodeBool(buf, kind) case "Stale": zkNode.Stale = bson.DecodeBool(buf, kind) default: panic(bson.NewBsonError("Unrecognized tag %s for ZkNode", key)) } kind = bson.NextByte(buf) } }
func (sk *SrvKeyspace) UnmarshalBson(buf *bytes.Buffer) { bson.Next(buf, 4) kind := bson.NextByte(buf) for kind != bson.EOO { keyName := bson.ReadCString(buf) switch keyName { case "Partitions": sk.Partitions = DecodeKeyspacePartitionMap(buf, kind) case "Shards": sk.Shards = DecodeSrvShardArray(buf, kind) case "TabletTypes": sk.TabletTypes = DecodeTabletTypeArray(buf, kind) case "ShardingColumnName": sk.ShardingColumnName = bson.DecodeString(buf, kind) case "ShardingColumnType": sk.ShardingColumnType = key.KeyspaceIdType(bson.DecodeString(buf, kind)) case "ServedFrom": sk.ServedFrom = DecodeServedFrom(buf, kind) default: panic(bson.NewBsonError("Unrecognized tag %s", keyName)) } kind = bson.NextByte(buf) } }
// UnmarshalBson bson-decodes into ShardSession. func (shardSession *ShardSession) UnmarshalBson(buf *bytes.Buffer, kind byte) { switch kind { case bson.EOO, bson.Object: // valid case bson.Null: return default: panic(bson.NewBsonError("unexpected kind %v for ShardSession", kind)) } bson.Next(buf, 4) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { switch bson.ReadCString(buf) { case "Keyspace": shardSession.Keyspace = bson.DecodeString(buf, kind) case "Shard": shardSession.Shard = bson.DecodeString(buf, kind) case "TabletType": shardSession.TabletType.UnmarshalBson(buf, kind) case "TransactionId": shardSession.TransactionId = bson.DecodeInt64(buf, kind) default: bson.Skip(buf, kind) } } }
func (sk *SrvKeyspace) UnmarshalBson(buf *bytes.Buffer, kind byte) { bson.VerifyObject(kind) bson.Next(buf, 4) kind = bson.NextByte(buf) for kind != bson.EOO { keyName := bson.ReadCString(buf) switch keyName { case "Partitions": sk.Partitions = DecodeKeyspacePartitionMap(buf, kind) case "Shards": sk.Shards = DecodeSrvShardArray(buf, kind) case "TabletTypes": sk.TabletTypes = DecodeTabletTypeArray(buf, kind) case "ShardingColumnName": sk.ShardingColumnName = bson.DecodeString(buf, kind) case "ShardingColumnType": sk.ShardingColumnType = key.KeyspaceIdType(bson.DecodeString(buf, kind)) case "ServedFrom": sk.ServedFrom = DecodeServedFrom(buf, kind) default: bson.Skip(buf, kind) } kind = bson.NextByte(buf) } }
func (sqs *StreamQueryKeyRange) UnmarshalBson(buf *bytes.Buffer, kind byte) { bson.VerifyObject(kind) bson.Next(buf, 4) kind = bson.NextByte(buf) for kind != bson.EOO { keyName := bson.ReadCString(buf) switch keyName { case "Sql": sqs.Sql = bson.DecodeString(buf, kind) case "BindVariables": sqs.BindVariables = tproto.DecodeBindVariablesBson(buf, kind) case "Keyspace": sqs.Keyspace = bson.DecodeString(buf, kind) case "KeyRange": sqs.KeyRange = bson.DecodeString(buf, kind) case "TabletType": sqs.TabletType = topo.TabletType(bson.DecodeString(buf, kind)) case "Session": if kind != bson.Null { sqs.Session = new(Session) sqs.Session.UnmarshalBson(buf, kind) } default: bson.Skip(buf, kind) } kind = bson.NextByte(buf) } }
// UnmarshalBson unmarshals QueryShard from buf. func (qrs *QueryShard) UnmarshalBson(buf *bytes.Buffer) { bson.Next(buf, 4) kind := bson.NextByte(buf) for kind != bson.EOO { key := bson.ReadCString(buf) switch key { case "Sql": qrs.Sql = bson.DecodeString(buf, kind) case "BindVariables": qrs.BindVariables = tproto.DecodeBindVariablesBson(buf, kind) case "Keyspace": qrs.Keyspace = bson.DecodeString(buf, kind) case "TabletType": qrs.TabletType = topo.TabletType(bson.DecodeString(buf, kind)) case "Shards": qrs.Shards = bson.DecodeStringArray(buf, kind) case "Session": qrs.Session = new(Session) qrs.Session.UnmarshalBson(buf) default: panic(bson.NewBsonError("Unrecognized tag %s", key)) } kind = bson.NextByte(buf) } }
func (ste *StreamEvent) UnmarshalBson(buf *bytes.Buffer) { bson.Next(buf, 4) kind := bson.NextByte(buf) for kind != bson.EOO { key := bson.ReadCString(buf) switch key { case "Category": ste.Category = bson.DecodeString(buf, kind) case "TableName": ste.TableName = bson.DecodeString(buf, kind) case "PKColNames": ste.PKColNames = bson.DecodeStringArray(buf, kind) case "PKValues": ste.PKValues = UnmarshalPKValuesBson(buf, kind) case "Sql": ste.Sql = bson.DecodeString(buf, kind) case "Timestamp": ste.Timestamp = bson.DecodeInt64(buf, kind) case "GroupId": ste.GroupId = bson.DecodeInt64(buf, kind) default: panic(bson.NewBsonError("Unrecognized tag %s", key)) } kind = bson.NextByte(buf) } }
// UnmarshalBson bson-decodes into A. func (a *A) UnmarshalBson(buf *bytes.Buffer, kind byte) { switch kind { case bson.EOO, bson.Object: // valid case bson.Null: return default: panic(bson.NewBsonError("unexpected kind %v for A", kind)) } bson.Next(buf, 4) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { switch bson.ReadCString(buf) { case "Name": a.Name = bson.DecodeString(buf, kind) case "BirthDay": a.BirthDay = bson.DecodeTime(buf, kind) case "Phone": a.Phone = bson.DecodeString(buf, kind) case "Siblings": a.Siblings = bson.DecodeInt(buf, kind) case "Spouse": a.Spouse = bson.DecodeBool(buf, kind) case "Money": a.Money = bson.DecodeFloat64(buf, kind) default: bson.Skip(buf, kind) } } }
// UnmarshalBson bson-decodes into GetEndPointsArgs. func (getEndPointsArgs *GetEndPointsArgs) UnmarshalBson(buf *bytes.Buffer, kind byte) { switch kind { case bson.EOO, bson.Object: // valid case bson.Null: return default: panic(bson.NewBsonError("unexpected kind %v for GetEndPointsArgs", kind)) } bson.Next(buf, 4) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { switch bson.ReadCString(buf) { case "Cell": getEndPointsArgs.Cell = bson.DecodeString(buf, kind) case "Keyspace": getEndPointsArgs.Keyspace = bson.DecodeString(buf, kind) case "Shard": getEndPointsArgs.Shard = bson.DecodeString(buf, kind) case "TabletType": getEndPointsArgs.TabletType.UnmarshalBson(buf, kind) default: bson.Skip(buf, kind) } } }
// UnmarshalBson bson-decodes into KeyspaceIdQuery. func (keyspaceIdQuery *KeyspaceIdQuery) UnmarshalBson(buf *bytes.Buffer, kind byte) { switch kind { case bson.EOO, bson.Object: // valid case bson.Null: return default: panic(bson.NewBsonError("unexpected kind %v for KeyspaceIdQuery", kind)) } bson.Next(buf, 4) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { switch bson.ReadCString(buf) { case "Sql": keyspaceIdQuery.Sql = bson.DecodeString(buf, kind) case "BindVariables": // map[string]interface{} if kind != bson.Null { if kind != bson.Object { panic(bson.NewBsonError("unexpected kind %v for keyspaceIdQuery.BindVariables", kind)) } bson.Next(buf, 4) keyspaceIdQuery.BindVariables = make(map[string]interface{}) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { _k := bson.ReadCString(buf) var _v1 interface{} _v1 = bson.DecodeInterface(buf, kind) keyspaceIdQuery.BindVariables[_k] = _v1 } } case "Keyspace": keyspaceIdQuery.Keyspace = bson.DecodeString(buf, kind) case "KeyspaceIds": // []kproto.KeyspaceId if kind != bson.Null { if kind != bson.Array { panic(bson.NewBsonError("unexpected kind %v for keyspaceIdQuery.KeyspaceIds", kind)) } bson.Next(buf, 4) keyspaceIdQuery.KeyspaceIds = make([]kproto.KeyspaceId, 0, 8) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { bson.SkipIndex(buf) var _v2 kproto.KeyspaceId _v2.UnmarshalBson(buf, kind) keyspaceIdQuery.KeyspaceIds = append(keyspaceIdQuery.KeyspaceIds, _v2) } } case "TabletType": keyspaceIdQuery.TabletType.UnmarshalBson(buf, kind) case "Session": // *Session if kind != bson.Null { keyspaceIdQuery.Session = new(Session) (*keyspaceIdQuery.Session).UnmarshalBson(buf, kind) } default: bson.Skip(buf, kind) } } }
// UnmarshalBson bson-decodes into BatchQueryShard. func (batchQueryShard *BatchQueryShard) UnmarshalBson(buf *bytes.Buffer, kind byte) { switch kind { case bson.EOO, bson.Object: // valid case bson.Null: return default: panic(bson.NewBsonError("unexpected kind %v for BatchQueryShard", kind)) } bson.Next(buf, 4) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { switch bson.ReadCString(buf) { case "Queries": // []tproto.BoundQuery if kind != bson.Null { if kind != bson.Array { panic(bson.NewBsonError("unexpected kind %v for batchQueryShard.Queries", kind)) } bson.Next(buf, 4) batchQueryShard.Queries = make([]tproto.BoundQuery, 0, 8) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { bson.SkipIndex(buf) var _v1 tproto.BoundQuery _v1.UnmarshalBson(buf, kind) batchQueryShard.Queries = append(batchQueryShard.Queries, _v1) } } case "Keyspace": batchQueryShard.Keyspace = bson.DecodeString(buf, kind) case "Shards": // []string if kind != bson.Null { if kind != bson.Array { panic(bson.NewBsonError("unexpected kind %v for batchQueryShard.Shards", kind)) } bson.Next(buf, 4) batchQueryShard.Shards = make([]string, 0, 8) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { bson.SkipIndex(buf) var _v2 string _v2 = bson.DecodeString(buf, kind) batchQueryShard.Shards = append(batchQueryShard.Shards, _v2) } } case "TabletType": batchQueryShard.TabletType.UnmarshalBson(buf, kind) case "Session": // *Session if kind != bson.Null { batchQueryShard.Session = new(Session) (*batchQueryShard.Session).UnmarshalBson(buf, kind) } case "NotInTransaction": batchQueryShard.NotInTransaction = bson.DecodeBool(buf, kind) default: bson.Skip(buf, kind) } } }
func (ste *StreamEvent) UnmarshalBson(buf *bytes.Buffer, kind byte) { bson.VerifyObject(kind) bson.Next(buf, 4) kind = bson.NextByte(buf) for kind != bson.EOO { key := bson.ReadCString(buf) switch key { case "Category": ste.Category = bson.DecodeString(buf, kind) case "TableName": ste.TableName = bson.DecodeString(buf, kind) case "PKColNames": ste.PKColNames = bson.DecodeStringArray(buf, kind) case "PKValues": ste.PKValues = UnmarshalPKValuesBson(buf, kind) case "Sql": ste.Sql = bson.DecodeString(buf, kind) case "Timestamp": ste.Timestamp = bson.DecodeInt64(buf, kind) case "GroupId": ste.GroupId = bson.DecodeInt64(buf, kind) default: bson.Skip(buf, kind) } kind = bson.NextByte(buf) } }
// UnmarshalBson bson-decodes into SrvKeyspace. func (srvKeyspace *SrvKeyspace) UnmarshalBson(buf *bytes.Buffer, kind byte) { switch kind { case bson.EOO, bson.Object: // valid case bson.Null: return default: panic(bson.NewBsonError("unexpected kind %v for SrvKeyspace", kind)) } bson.Next(buf, 4) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { switch bson.ReadCString(buf) { case "Partitions": // map[TabletType]*KeyspacePartition if kind != bson.Null { if kind != bson.Object { panic(bson.NewBsonError("unexpected kind %v for srvKeyspace.Partitions", kind)) } bson.Next(buf, 4) srvKeyspace.Partitions = make(map[TabletType]*KeyspacePartition) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { _k := TabletType(bson.ReadCString(buf)) var _v1 *KeyspacePartition // *KeyspacePartition if kind != bson.Null { _v1 = new(KeyspacePartition) (*_v1).UnmarshalBson(buf, kind) } srvKeyspace.Partitions[_k] = _v1 } } case "ShardingColumnName": srvKeyspace.ShardingColumnName = bson.DecodeString(buf, kind) case "ShardingColumnType": srvKeyspace.ShardingColumnType.UnmarshalBson(buf, kind) case "ServedFrom": // map[TabletType]string if kind != bson.Null { if kind != bson.Object { panic(bson.NewBsonError("unexpected kind %v for srvKeyspace.ServedFrom", kind)) } bson.Next(buf, 4) srvKeyspace.ServedFrom = make(map[TabletType]string) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { _k := TabletType(bson.ReadCString(buf)) var _v2 string _v2 = bson.DecodeString(buf, kind) srvKeyspace.ServedFrom[_k] = _v2 } } case "SplitShardCount": srvKeyspace.SplitShardCount = bson.DecodeInt32(buf, kind) default: bson.Skip(buf, kind) } } }
// UnmarshalBson bson-decodes into SrvShard. func (srvShard *SrvShard) UnmarshalBson(buf *bytes.Buffer, kind byte) { switch kind { case bson.EOO, bson.Object: // valid case bson.Null: return default: panic(bson.NewBsonError("unexpected kind %v for SrvShard", kind)) } bson.Next(buf, 4) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { switch bson.ReadCString(buf) { case "Name": srvShard.Name = bson.DecodeString(buf, kind) case "KeyRange": srvShard.KeyRange.UnmarshalBson(buf, kind) case "ServedTypes": // []TabletType if kind != bson.Null { if kind != bson.Array { panic(bson.NewBsonError("unexpected kind %v for srvShard.ServedTypes", kind)) } bson.Next(buf, 4) srvShard.ServedTypes = make([]TabletType, 0, 8) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { bson.SkipIndex(buf) var _v1 TabletType _v1.UnmarshalBson(buf, kind) srvShard.ServedTypes = append(srvShard.ServedTypes, _v1) } } case "MasterCell": srvShard.MasterCell = bson.DecodeString(buf, kind) case "TabletTypes": // []TabletType if kind != bson.Null { if kind != bson.Array { panic(bson.NewBsonError("unexpected kind %v for srvShard.TabletTypes", kind)) } bson.Next(buf, 4) srvShard.TabletTypes = make([]TabletType, 0, 8) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { bson.SkipIndex(buf) var _v2 TabletType _v2.UnmarshalBson(buf, kind) srvShard.TabletTypes = append(srvShard.TabletTypes, _v2) } } default: bson.Skip(buf, kind) } } }
// UnmarshalBson bson-decodes into BoundShardQuery. func (boundShardQuery *BoundShardQuery) UnmarshalBson(buf *bytes.Buffer, kind byte) { switch kind { case bson.EOO, bson.Object: // valid case bson.Null: return default: panic(bson.NewBsonError("unexpected kind %v for BoundShardQuery", kind)) } bson.Next(buf, 4) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { switch bson.ReadCString(buf) { case "Sql": boundShardQuery.Sql = bson.DecodeString(buf, kind) case "BindVariables": // map[string]interface{} if kind != bson.Null { if kind != bson.Object { panic(bson.NewBsonError("unexpected kind %v for boundShardQuery.BindVariables", kind)) } bson.Next(buf, 4) boundShardQuery.BindVariables = make(map[string]interface{}) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { _k := bson.ReadCString(buf) var _v1 interface{} _v1 = bson.DecodeInterface(buf, kind) boundShardQuery.BindVariables[_k] = _v1 } } case "Keyspace": boundShardQuery.Keyspace = bson.DecodeString(buf, kind) case "Shards": // []string if kind != bson.Null { if kind != bson.Array { panic(bson.NewBsonError("unexpected kind %v for boundShardQuery.Shards", kind)) } bson.Next(buf, 4) boundShardQuery.Shards = make([]string, 0, 8) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { bson.SkipIndex(buf) var _v2 string _v2 = bson.DecodeString(buf, kind) boundShardQuery.Shards = append(boundShardQuery.Shards, _v2) } } default: bson.Skip(buf, kind) } } }
// UnmarshalBson bson-decodes into ReplicationPosition. func (rp *ReplicationPosition) UnmarshalBson(buf *bytes.Buffer, kind byte) { switch kind { case bson.EOO, bson.Object: // valid case bson.Null: return default: panic(bson.NewBsonError("unexpected kind %v for ReplicationPosition", kind)) } bson.Next(buf, 4) // We expect exactly zero or one fields in this bson object. kind = bson.NextByte(buf) if kind == bson.EOO { // The value was nil, nothing to do. return } // The field name is the MySQL flavor. flavor := bson.ReadCString(buf) value := bson.DecodeString(buf, kind) // Check for and consume the end byte. if kind = bson.NextByte(buf); kind != bson.EOO { panic(bson.NewBsonError("too many fields for ReplicationPosition")) } // Parse the value. var err error *rp, err = ParseReplicationPosition(flavor, value) if err != nil { panic(bson.NewBsonError("invalid value %#v for ReplicationPosition: %v", value, err)) } }
// UnmarshalBson bson-decodes into QueryResult. func (queryResult *QueryResult) UnmarshalBson(buf *bytes.Buffer, kind byte) { switch kind { case bson.EOO, bson.Object: // valid case bson.Null: return default: panic(bson.NewBsonError("unexpected kind %v for QueryResult", kind)) } bson.Next(buf, 4) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { switch bson.ReadCString(buf) { case "Result": // *mproto.QueryResult if kind != bson.Null { queryResult.Result = new(mproto.QueryResult) (*queryResult.Result).UnmarshalBson(buf, kind) } case "Session": // *Session if kind != bson.Null { queryResult.Session = new(Session) (*queryResult.Session).UnmarshalBson(buf, kind) } case "Error": queryResult.Error = bson.DecodeString(buf, kind) default: bson.Skip(buf, kind) } } }
// UnmarshalBson bson-decodes into ZkPathV. func (zkPathV *ZkPathV) UnmarshalBson(buf *bytes.Buffer, kind byte) { switch kind { case bson.EOO, bson.Object: // valid case bson.Null: return default: panic(bson.NewBsonError("unexpected kind %v for ZkPathV", kind)) } bson.Next(buf, 4) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { switch bson.ReadCString(buf) { case "Paths": // []string if kind != bson.Null { if kind != bson.Array { panic(bson.NewBsonError("unexpected kind %v for zkPathV.Paths", kind)) } bson.Next(buf, 4) zkPathV.Paths = make([]string, 0, 8) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { bson.SkipIndex(buf) var _v1 string _v1 = bson.DecodeString(buf, kind) zkPathV.Paths = append(zkPathV.Paths, _v1) } } default: bson.Skip(buf, kind) } } }
func UnmarshalPKRowBson(buf *bytes.Buffer, kind byte) []interface{} { switch kind { case bson.Array: // valid case bson.Null: return nil default: panic(bson.NewBsonError("Unexpected data type %v for Query.Row", kind)) } bson.Next(buf, 4) row := make([]interface{}, 0, 8) kind = bson.NextByte(buf) for i := 0; kind != bson.EOO; i++ { bson.ExpectIndex(buf, i) var val interface{} switch kind { case bson.Binary, bson.String: val = bson.DecodeString(buf, kind) case bson.Long: val = bson.DecodeInt64(buf, kind) case bson.Ulong: val = bson.DecodeUint64(buf, kind) } row = append(row, val) kind = bson.NextByte(buf) } return row }
// UnmarshalBson unmarshals QueryResult from buf. func (qr *QueryResult) UnmarshalBson(buf *bytes.Buffer) { bson.Next(buf, 4) kind := bson.NextByte(buf) for kind != bson.EOO { key := bson.ReadCString(buf) switch key { case "Fields": qr.Fields = mproto.DecodeFieldsBson(buf, kind) case "RowsAffected": qr.RowsAffected = bson.DecodeUint64(buf, kind) case "InsertId": qr.InsertId = bson.DecodeUint64(buf, kind) case "Rows": qr.Rows = mproto.DecodeRowsBson(buf, kind) case "Session": qr.Session = new(Session) qr.Session.UnmarshalBson(buf) case "Error": qr.Error = bson.DecodeString(buf, kind) default: panic(bson.NewBsonError("Unrecognized tag %s", key)) } kind = bson.NextByte(buf) } }
// UnmarshalBson unmarshals QueryResult from buf. func (qr *QueryResult) UnmarshalBson(buf *bytes.Buffer, kind byte) { bson.VerifyObject(kind) bson.Next(buf, 4) kind = bson.NextByte(buf) for kind != bson.EOO { keyName := bson.ReadCString(buf) switch keyName { case "Fields": qr.Fields = mproto.DecodeFieldsBson(buf, kind) case "RowsAffected": qr.RowsAffected = bson.DecodeUint64(buf, kind) case "InsertId": qr.InsertId = bson.DecodeUint64(buf, kind) case "Rows": qr.Rows = mproto.DecodeRowsBson(buf, kind) case "Session": if kind != bson.Null { qr.Session = new(Session) qr.Session.UnmarshalBson(buf, kind) } case "Error": qr.Error = bson.DecodeString(buf, kind) default: bson.Skip(buf, kind) } kind = bson.NextByte(buf) } }
// UnmarshalBson bson-decodes into GTIDField. func (gf *GTIDField) UnmarshalBson(buf *bytes.Buffer, kind byte) { switch kind { case bson.EOO, bson.Object: // valid case bson.Null: return default: panic(bson.NewBsonError("unexpected kind %v for GTIDField", kind)) } bson.Next(buf, 4) // We expect exactly zero or one fields in this bson object. kind = bson.NextByte(buf) if kind == bson.EOO { // The GTID was nil, nothing to do. return } // The field name is the MySQL flavor. flavor := bson.ReadCString(buf) value := bson.DecodeString(buf, kind) // Check for and consume the end byte. if kind = bson.NextByte(buf); kind != bson.EOO { panic(bson.NewBsonError("too many fields for GTIDField")) } // Parse the value. gtid, err := ParseGTID(flavor, value) if err != nil { panic(bson.NewBsonError("invalid value %v for GTIDField: %v", value, err)) } gf.Value = gtid }
// UnmarshalBson bson-decodes into SrvKeyspaceNames. func (srvKeyspaceNames *SrvKeyspaceNames) UnmarshalBson(buf *bytes.Buffer, kind byte) { switch kind { case bson.EOO, bson.Object: // valid case bson.Null: return default: panic(bson.NewBsonError("unexpected kind %v for SrvKeyspaceNames", kind)) } bson.Next(buf, 4) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { switch bson.ReadCString(buf) { case "Entries": // []string if kind != bson.Null { if kind != bson.Array { panic(bson.NewBsonError("unexpected kind %v for srvKeyspaceNames.Entries", kind)) } bson.Next(buf, 4) srvKeyspaceNames.Entries = make([]string, 0, 8) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { bson.SkipIndex(buf) var _v1 string _v1 = bson.DecodeString(buf, kind) srvKeyspaceNames.Entries = append(srvKeyspaceNames.Entries, _v1) } } default: bson.Skip(buf, kind) } } }
func (kr *KeyRange) UnmarshalBson(buf *bytes.Buffer) { bson.Next(buf, 4) kind := bson.NextByte(buf) for kind != bson.EOO { key := bson.ReadCString(buf) switch key { case "Start": kr.Start = KeyspaceId(bson.DecodeString(buf, kind)) case "End": kr.End = KeyspaceId(bson.DecodeString(buf, kind)) default: panic(bson.NewBsonError("Unrecognized tag %s", key)) } kind = bson.NextByte(buf) } }
// UnmarshalBson bson-decodes into KeyspaceId. func (keyspaceId *KeyspaceId) UnmarshalBson(buf *bytes.Buffer, kind byte) { if kind == bson.EOO { bson.Next(buf, 4) kind = bson.NextByte(buf) bson.ReadCString(buf) } *keyspaceId = KeyspaceId(bson.DecodeString(buf, kind)) }
// UnmarshalBson bson-decodes into TabletType. func (tabletType *TabletType) UnmarshalBson(buf *bytes.Buffer, kind byte) { if kind == bson.EOO { bson.Next(buf, 4) kind = bson.NextByte(buf) bson.ReadCString(buf) } *tabletType = TabletType(bson.DecodeString(buf, kind)) }
// UnmarshalBson bson-decodes into KeyspaceIdBatchQuery. func (keyspaceIdBatchQuery *KeyspaceIdBatchQuery) UnmarshalBson(buf *bytes.Buffer, kind byte) { switch kind { case bson.EOO, bson.Object: // valid case bson.Null: return default: panic(bson.NewBsonError("unexpected kind %v for KeyspaceIdBatchQuery", kind)) } bson.Next(buf, 4) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { switch bson.ReadCString(buf) { case "Queries": // []tproto.BoundQuery if kind != bson.Null { if kind != bson.Array { panic(bson.NewBsonError("unexpected kind %v for keyspaceIdBatchQuery.Queries", kind)) } bson.Next(buf, 4) keyspaceIdBatchQuery.Queries = make([]tproto.BoundQuery, 0, 8) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { bson.SkipIndex(buf) var _v1 tproto.BoundQuery _v1.UnmarshalBson(buf, kind) keyspaceIdBatchQuery.Queries = append(keyspaceIdBatchQuery.Queries, _v1) } } case "Keyspace": keyspaceIdBatchQuery.Keyspace = bson.DecodeString(buf, kind) case "KeyspaceIds": // []kproto.KeyspaceId if kind != bson.Null { if kind != bson.Array { panic(bson.NewBsonError("unexpected kind %v for keyspaceIdBatchQuery.KeyspaceIds", kind)) } bson.Next(buf, 4) keyspaceIdBatchQuery.KeyspaceIds = make([]kproto.KeyspaceId, 0, 8) for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) { bson.SkipIndex(buf) var _v2 kproto.KeyspaceId _v2.UnmarshalBson(buf, kind) keyspaceIdBatchQuery.KeyspaceIds = append(keyspaceIdBatchQuery.KeyspaceIds, _v2) } } case "TabletType": keyspaceIdBatchQuery.TabletType.UnmarshalBson(buf, kind) case "Session": // *Session if kind != bson.Null { keyspaceIdBatchQuery.Session = new(Session) (*keyspaceIdBatchQuery.Session).UnmarshalBson(buf, kind) } default: bson.Skip(buf, kind) } } }
func (kr *KeyRange) UnmarshalBson(buf *bytes.Buffer, kind byte) { bson.VerifyObject(kind) bson.Next(buf, 4) kind = bson.NextByte(buf) for kind != bson.EOO { key := bson.ReadCString(buf) switch key { case "Start": kr.Start = KeyspaceId(bson.DecodeString(buf, kind)) case "End": kr.End = KeyspaceId(bson.DecodeString(buf, kind)) default: bson.Skip(buf, kind) } kind = bson.NextByte(buf) } }