本文整理汇总了Golang中github.com/youtube/vitess/go/bson.Next函数的典型用法代码示例。如果您正苦于以下问题:Golang Next函数的具体用法?Golang Next怎么用?Golang Next使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Next函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: UnmarshalBson
// 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)
}
}
}
开发者ID:chinna1986,项目名称:vitess,代码行数:61,代码来源:keyspace_id_query_bson.go
示例2: UnmarshalBson
// 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)
}
}
}
开发者ID:chinna1986,项目名称:vitess,代码行数:34,代码来源:zkpathv_bson.go
示例3: UnmarshalBson
// UnmarshalBson bson-decodes into BoundQuery.
func (boundQuery *BoundQuery) 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 BoundQuery", kind))
}
bson.Next(buf, 4)
for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) {
switch bson.ReadCString(buf) {
case "Sql":
boundQuery.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 boundQuery.BindVariables", kind))
}
bson.Next(buf, 4)
boundQuery.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)
boundQuery.BindVariables[_k] = _v1
}
}
default:
bson.Skip(buf, kind)
}
}
}
开发者ID:chinna1986,项目名称:vitess,代码行数:36,代码来源:bound_query_bson.go
示例4: UnmarshalBson
// 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)
}
}
}
开发者ID:richarwu,项目名称:vitess,代码行数:34,代码来源:srv_keyspace_names_bson.go
示例5: UnmarshalBson
// UnmarshalBson bson-decodes into BlpPositionList.
func (blpPositionList *BlpPositionList) 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 BlpPositionList", kind))
}
bson.Next(buf, 4)
for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) {
switch bson.ReadCString(buf) {
case "Entries":
// []BlpPosition
if kind != bson.Null {
if kind != bson.Array {
panic(bson.NewBsonError("unexpected kind %v for blpPositionList.Entries", kind))
}
bson.Next(buf, 4)
blpPositionList.Entries = make([]BlpPosition, 0, 8)
for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) {
bson.SkipIndex(buf)
var _v1 BlpPosition
_v1.UnmarshalBson(buf, kind)
blpPositionList.Entries = append(blpPositionList.Entries, _v1)
}
}
default:
bson.Skip(buf, kind)
}
}
}
开发者ID:chinna1986,项目名称:vitess,代码行数:34,代码来源:blp_position_list_bson.go
示例6: UnmarshalBson
// UnmarshalBson bson-decodes into QueryResultList.
func (queryResultList *QueryResultList) 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 QueryResultList", kind))
}
bson.Next(buf, 4)
for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) {
switch bson.ReadCString(buf) {
case "List":
// []mproto.QueryResult
if kind != bson.Null {
if kind != bson.Array {
panic(bson.NewBsonError("unexpected kind %v for queryResultList.List", kind))
}
bson.Next(buf, 4)
queryResultList.List = make([]mproto.QueryResult, 0, 8)
for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) {
bson.SkipIndex(buf)
var _v1 mproto.QueryResult
_v1.UnmarshalBson(buf, kind)
queryResultList.List = append(queryResultList.List, _v1)
}
}
default:
bson.Skip(buf, kind)
}
}
}
开发者ID:chinna1986,项目名称:vitess,代码行数:34,代码来源:query_result_list_bson.go
示例7: UnmarshalBson
// UnmarshalBson bson-decodes into KeyspacePartition.
func (keyspacePartition *KeyspacePartition) 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 KeyspacePartition", kind))
}
bson.Next(buf, 4)
for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) {
switch bson.ReadCString(buf) {
case "ShardReferences":
// []ShardReference
if kind != bson.Null {
if kind != bson.Array {
panic(bson.NewBsonError("unexpected kind %v for keyspacePartition.ShardReferences", kind))
}
bson.Next(buf, 4)
keyspacePartition.ShardReferences = make([]ShardReference, 0, 8)
for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) {
bson.SkipIndex(buf)
var _v1 ShardReference
_v1.UnmarshalBson(buf, kind)
keyspacePartition.ShardReferences = append(keyspacePartition.ShardReferences, _v1)
}
}
default:
bson.Skip(buf, kind)
}
}
}
开发者ID:kuipertan,项目名称:vitess,代码行数:34,代码来源:keyspace_partition_bson.go
示例8: UnmarshalBson
// 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)
}
}
}
开发者ID:pranjal5215,项目名称:vitess,代码行数:61,代码来源:batch_query_shard_bson.go
示例9: UnmarshalBson
// UnmarshalBson bson-decodes into BinlogTransaction.
func (binlogTransaction *BinlogTransaction) 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 BinlogTransaction", kind))
}
bson.Next(buf, 4)
for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) {
switch bson.ReadCString(buf) {
case "Statements":
// []Statement
if kind != bson.Null {
if kind != bson.Array {
panic(bson.NewBsonError("unexpected kind %v for binlogTransaction.Statements", kind))
}
bson.Next(buf, 4)
binlogTransaction.Statements = make([]Statement, 0, 8)
for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) {
bson.SkipIndex(buf)
var _v1 Statement
_v1.UnmarshalBson(buf, kind)
binlogTransaction.Statements = append(binlogTransaction.Statements, _v1)
}
}
case "GroupId":
binlogTransaction.GroupId = bson.DecodeInt64(buf, kind)
default:
bson.Skip(buf, kind)
}
}
}
开发者ID:nosix-me,项目名称:vitess,代码行数:36,代码来源:binlog_transaction_bson.go
示例10: UnmarshalBson
// 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)
}
}
}
开发者ID:chinna1986,项目名称:vitess,代码行数:59,代码来源:keyspace_id_batch_query_bson.go
示例11: UnmarshalBson
// 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)
}
}
}
开发者ID:pranjal5215,项目名称:vitess,代码行数:59,代码来源:srvkeyspace_bson.go
示例12: UnmarshalBson
// 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)
}
}
}
开发者ID:chinna1986,项目名称:vitess,代码行数:55,代码来源:srvshard_bson.go
示例13: UnmarshalBson
// UnmarshalBson bson-decodes into Query.
func (query *Query) 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 Query", kind))
}
bson.Next(buf, 4)
for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) {
switch bson.ReadCString(buf) {
case "CallerID":
// *tproto.CallerID
if kind != bson.Null {
query.CallerID = new(tproto.CallerID)
(*query.CallerID).UnmarshalBson(buf, kind)
}
case "Sql":
query.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 query.BindVariables", kind))
}
bson.Next(buf, 4)
query.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)
query.BindVariables[_k] = _v1
}
}
case "TabletType":
query.TabletType.UnmarshalBson(buf, kind)
case "Session":
// *Session
if kind != bson.Null {
query.Session = new(Session)
(*query.Session).UnmarshalBson(buf, kind)
}
case "NotInTransaction":
query.NotInTransaction = bson.DecodeBool(buf, kind)
default:
bson.Skip(buf, kind)
}
}
}
开发者ID:richarwu,项目名称:vitess,代码行数:52,代码来源:query_bson.go
示例14: UnmarshalBson
// 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)
}
}
}
开发者ID:MarkBruns,项目名称:go_serialization_benchmarks,代码行数:31,代码来源:vitess_test.go
示例15: UnmarshalBson
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)
}
}
开发者ID:rjammala,项目名称:vitess,代码行数:27,代码来源:stream_event.go
示例16: UnmarshalPKRowBson
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
}
开发者ID:rjammala,项目名称:vitess,代码行数:29,代码来源:stream_event.go
示例17: DecodeKeyspacePartitionMap
func DecodeKeyspacePartitionMap(buf *bytes.Buffer, kind byte) map[TabletType]*KeyspacePartition {
switch kind {
case bson.Object:
// valid
case bson.Null:
return nil
default:
panic(bson.NewBsonError("Unexpected data type %v for KeyspacePartition map", kind))
}
bson.Next(buf, 4)
values := make(map[TabletType]*KeyspacePartition)
kind = bson.NextByte(buf)
for kind != bson.EOO {
if kind != bson.Object {
panic(bson.NewBsonError("Unexpected data type %v for KeyspacePartition map", kind))
}
key := bson.ReadCString(buf)
value := &KeyspacePartition{}
value.UnmarshalBson(buf)
values[TabletType(key)] = value
kind = bson.NextByte(buf)
}
return values
}
开发者ID:rjammala,项目名称:vitess,代码行数:25,代码来源:srvshard.go
示例18: DecodeSrvShardArray
func DecodeSrvShardArray(buf *bytes.Buffer, kind byte) []SrvShard {
switch kind {
case bson.Array:
// valid
case bson.Null:
return nil
default:
panic(bson.NewBsonError("Unexpected data type %v for SrvShard array", kind))
}
bson.Next(buf, 4)
values := make([]SrvShard, 0, 8)
kind = bson.NextByte(buf)
for i := 0; kind != bson.EOO; i++ {
if kind != bson.Object {
panic(bson.NewBsonError("Unexpected data type %v for SrvShard array", kind))
}
bson.ExpectIndex(buf, i)
value := &SrvShard{}
value.UnmarshalBson(buf)
values = append(values, *value)
kind = bson.NextByte(buf)
}
return values
}
开发者ID:rjammala,项目名称:vitess,代码行数:25,代码来源:srvshard.go
示例19: UnmarshalBson
// UnmarshalBson bson-decodes into Statement.
func (statement *Statement) 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 Statement", kind))
}
bson.Next(buf, 4)
for kind := bson.NextByte(buf); kind != bson.EOO; kind = bson.NextByte(buf) {
switch bson.ReadCString(buf) {
case "Category":
statement.Category = bson.DecodeInt(buf, kind)
case "Charset":
// *mproto.Charset
if kind != bson.Null {
statement.Charset = new(mproto.Charset)
(*statement.Charset).UnmarshalBson(buf, kind)
}
case "Sql":
statement.Sql = bson.DecodeBinary(buf, kind)
default:
bson.Skip(buf, kind)
}
}
}
开发者ID:pranjal5215,项目名称:vitess,代码行数:29,代码来源:statement_bson.go
示例20: UnmarshalBson
// 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
}
开发者ID:chinna1986,项目名称:vitess,代码行数:35,代码来源:gtid.go
注:本文中的github.com/youtube/vitess/go/bson.Next函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论