Commit ccdfd363 authored by Levin Zimmermann's avatar Levin Zimmermann

fixup! proto/msgpack: Fix encoding INVALID_{TID,OID}

This is the decoding part of 37dd83e9
parent d779695c
...@@ -1095,13 +1095,18 @@ func (d *decoderM) expectEnum(assignto string, enumType int) { ...@@ -1095,13 +1095,18 @@ func (d *decoderM) expectEnum(assignto string, enumType int) {
} }
func (d *decoderM) genBasic(assignto string, typ *types.Basic, userType types.Type) { func (d *decoderM) genBasic(assignto string, typ *types.Basic, userType types.Type) {
// zodb.Tid and zodb.Oid are encoded as [8]bin // zodb.Tid and zodb.Oid are encoded as [8]bin or Nil
if userType == zodbTid || userType == zodbOid { if userType == zodbTid || userType == zodbOid {
d.emit("if data[%v] == byte(msgpack.Nil) {", d.n)
d.emit("%s = %s(%v)", assignto, typeName(userType), INVALID_ID)
d.emit("data = data[%v:]", d.n + 1)
d.emit("} else {")
d.expectBin8Fix(assignto, 8) d.expectBin8Fix(assignto, 8)
d.emit("%s= %s(binary.BigEndian.Uint64(data[%v:]))", assignto, typeName(userType), d.n) d.emit("%s= %s(binary.BigEndian.Uint64(data[%v:]))", assignto, typeName(userType), d.n)
d.n += 8 d.n += 8
d.overflow.Add(8) d.overflow.Add(8)
d.resetPos()
d.emit("}")
return return
} }
......
...@@ -1452,6 +1452,10 @@ func (p *AnswerRecovery) neoMsgDecodeM(data []byte) (int, error) { ...@@ -1452,6 +1452,10 @@ func (p *AnswerRecovery) neoMsgDecodeM(data []byte) (int, error) {
if len(data) < 20 { if len(data) < 20 {
goto overflow goto overflow
} }
if data[0] == byte(msgpack.Nil) {
p.BackupTid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerRecovery.BackupTid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerRecovery.BackupTid", op, msgpack.Bin8)
} }
...@@ -1459,13 +1463,21 @@ func (p *AnswerRecovery) neoMsgDecodeM(data []byte) (int, error) { ...@@ -1459,13 +1463,21 @@ func (p *AnswerRecovery) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerRecovery.BackupTid", l, 8) return 0, mdecodeLen8Err("AnswerRecovery.BackupTid", l, 8)
} }
p.BackupTid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.BackupTid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.TruncateTid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerRecovery.TruncateTid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerRecovery.TruncateTid", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("AnswerRecovery.TruncateTid", l, 8) return 0, mdecodeLen8Err("AnswerRecovery.TruncateTid", l, 8)
} }
p.TruncateTid = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.TruncateTid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 21 + int(nread), nil return 21 + int(nread), nil
overflow: overflow:
...@@ -1595,6 +1607,10 @@ func (p *AnswerLastIDs) neoMsgDecodeM(data []byte) (int, error) { ...@@ -1595,6 +1607,10 @@ func (p *AnswerLastIDs) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.LastOid = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerLastIDs.LastOid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerLastIDs.LastOid", op, msgpack.Bin8)
} }
...@@ -1602,13 +1618,21 @@ func (p *AnswerLastIDs) neoMsgDecodeM(data []byte) (int, error) { ...@@ -1602,13 +1618,21 @@ func (p *AnswerLastIDs) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerLastIDs.LastOid", l, 8) return 0, mdecodeLen8Err("AnswerLastIDs.LastOid", l, 8)
} }
p.LastOid = zodb.Oid(binary.BigEndian.Uint64(data[2:])) p.LastOid = zodb.Oid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.LastTid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerLastIDs.LastTid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerLastIDs.LastTid", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("AnswerLastIDs.LastTid", l, 8) return 0, mdecodeLen8Err("AnswerLastIDs.LastTid", l, 8)
} }
p.LastTid = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.LastTid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 21, nil return 21, nil
overflow: overflow:
...@@ -2712,6 +2736,10 @@ func (p *AnswerUnfinishedTransactions) neoMsgDecodeM(data []byte) (int, error) { ...@@ -2712,6 +2736,10 @@ func (p *AnswerUnfinishedTransactions) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.MaxTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerUnfinishedTransactions.MaxTID", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerUnfinishedTransactions.MaxTID", op, msgpack.Bin8)
} }
...@@ -2719,8 +2747,9 @@ func (p *AnswerUnfinishedTransactions) neoMsgDecodeM(data []byte) (int, error) { ...@@ -2719,8 +2747,9 @@ func (p *AnswerUnfinishedTransactions) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerUnfinishedTransactions.MaxTID", l, 8) return 0, mdecodeLen8Err("AnswerUnfinishedTransactions.MaxTID", l, 8)
} }
p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
{
data = data[10:] data = data[10:]
}
{
l, tail, err := msgp.ReadArrayHeaderBytes(data) l, tail, err := msgp.ReadArrayHeaderBytes(data)
if err != nil { if err != nil {
return 0, mdecodeErr("AnswerUnfinishedTransactions.TidList", err) return 0, mdecodeErr("AnswerUnfinishedTransactions.TidList", err)
...@@ -2744,6 +2773,10 @@ func (p *AnswerUnfinishedTransactions) neoMsgDecodeM(data []byte) (int, error) { ...@@ -2744,6 +2773,10 @@ func (p *AnswerUnfinishedTransactions) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
(*a).UnfinishedTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerUnfinishedTransactions.UnfinishedTID", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerUnfinishedTransactions.UnfinishedTID", op, msgpack.Bin8)
} }
...@@ -2754,6 +2787,7 @@ func (p *AnswerUnfinishedTransactions) neoMsgDecodeM(data []byte) (int, error) { ...@@ -2754,6 +2787,7 @@ func (p *AnswerUnfinishedTransactions) neoMsgDecodeM(data []byte) (int, error) {
data = data[10:] data = data[10:]
} }
} }
}
return 11 + int(nread), nil return 11 + int(nread), nil
overflow: overflow:
...@@ -2928,6 +2962,10 @@ func (p *AnswerLockedTransactions) neoMsgDecodeM(data []byte) (int, error) { ...@@ -2928,6 +2962,10 @@ func (p *AnswerLockedTransactions) neoMsgDecodeM(data []byte) (int, error) {
m := p.TidDict m := p.TidDict
for i := 0; uint32(i) < l; i++ { for i := 0; uint32(i) < l; i++ {
var key zodb.Tid var key zodb.Tid
if data[0] == byte(msgpack.Nil) {
key = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerLockedTransactions", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerLockedTransactions", op, msgpack.Bin8)
} }
...@@ -2935,14 +2973,21 @@ func (p *AnswerLockedTransactions) neoMsgDecodeM(data []byte) (int, error) { ...@@ -2935,14 +2973,21 @@ func (p *AnswerLockedTransactions) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerLockedTransactions", l, 8) return 0, mdecodeLen8Err("AnswerLockedTransactions", l, 8)
} }
key = zodb.Tid(binary.BigEndian.Uint64(data[2:])) key = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
m[key] = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerLockedTransactions", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerLockedTransactions", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("AnswerLockedTransactions", l, 8) return 0, mdecodeLen8Err("AnswerLockedTransactions", l, 8)
} }
m[key] = zodb.Tid(binary.BigEndian.Uint64(data[12:])) m[key] = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[20:] data = data[10:]
}
} }
} }
return 1 + int(nread), nil return 1 + int(nread), nil
...@@ -3013,6 +3058,10 @@ func (p *FinalTID) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3013,6 +3058,10 @@ func (p *FinalTID) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.TTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("FinalTID.TTID", op, msgpack.Bin8) return 0, mdecodeOpErr("FinalTID.TTID", op, msgpack.Bin8)
} }
...@@ -3020,6 +3069,8 @@ func (p *FinalTID) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3020,6 +3069,8 @@ func (p *FinalTID) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("FinalTID.TTID", l, 8) return 0, mdecodeLen8Err("FinalTID.TTID", l, 8)
} }
p.TTID = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.TTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 11, nil return 11, nil
overflow: overflow:
...@@ -3088,6 +3139,10 @@ func (p *AnswerFinalTID) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3088,6 +3139,10 @@ func (p *AnswerFinalTID) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerFinalTID.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerFinalTID.Tid", op, msgpack.Bin8)
} }
...@@ -3095,6 +3150,8 @@ func (p *AnswerFinalTID) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3095,6 +3150,8 @@ func (p *AnswerFinalTID) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerFinalTID.Tid", l, 8) return 0, mdecodeLen8Err("AnswerFinalTID.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 11, nil return 11, nil
overflow: overflow:
...@@ -3179,6 +3236,10 @@ func (p *ValidateTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3179,6 +3236,10 @@ func (p *ValidateTransaction) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.TTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("ValidateTransaction.TTID", op, msgpack.Bin8) return 0, mdecodeOpErr("ValidateTransaction.TTID", op, msgpack.Bin8)
} }
...@@ -3186,13 +3247,21 @@ func (p *ValidateTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3186,13 +3247,21 @@ func (p *ValidateTransaction) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("ValidateTransaction.TTID", l, 8) return 0, mdecodeLen8Err("ValidateTransaction.TTID", l, 8)
} }
p.TTID = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.TTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("ValidateTransaction.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("ValidateTransaction.Tid", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("ValidateTransaction.Tid", l, 8) return 0, mdecodeLen8Err("ValidateTransaction.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 21, nil return 21, nil
overflow: overflow:
...@@ -3261,6 +3330,10 @@ func (p *BeginTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3261,6 +3330,10 @@ func (p *BeginTransaction) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("BeginTransaction.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("BeginTransaction.Tid", op, msgpack.Bin8)
} }
...@@ -3268,6 +3341,8 @@ func (p *BeginTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3268,6 +3341,8 @@ func (p *BeginTransaction) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("BeginTransaction.Tid", l, 8) return 0, mdecodeLen8Err("BeginTransaction.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 11, nil return 11, nil
overflow: overflow:
...@@ -3336,6 +3411,10 @@ func (p *AnswerBeginTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3336,6 +3411,10 @@ func (p *AnswerBeginTransaction) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerBeginTransaction.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerBeginTransaction.Tid", op, msgpack.Bin8)
} }
...@@ -3343,6 +3422,8 @@ func (p *AnswerBeginTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3343,6 +3422,8 @@ func (p *AnswerBeginTransaction) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerBeginTransaction.Tid", l, 8) return 0, mdecodeLen8Err("AnswerBeginTransaction.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 11, nil return 11, nil
overflow: overflow:
...@@ -3453,6 +3534,10 @@ func (p *FailedVote) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3453,6 +3534,10 @@ func (p *FailedVote) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("FailedVote.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("FailedVote.Tid", op, msgpack.Bin8)
} }
...@@ -3460,8 +3545,9 @@ func (p *FailedVote) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3460,8 +3545,9 @@ func (p *FailedVote) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("FailedVote.Tid", l, 8) return 0, mdecodeLen8Err("FailedVote.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
{
data = data[10:] data = data[10:]
}
{
l, tail, err := msgp.ReadArrayHeaderBytes(data) l, tail, err := msgp.ReadArrayHeaderBytes(data)
if err != nil { if err != nil {
return 0, mdecodeErr("FailedVote.NodeList", err) return 0, mdecodeErr("FailedVote.NodeList", err)
...@@ -3634,6 +3720,10 @@ func (p *FinishTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3634,6 +3720,10 @@ func (p *FinishTransaction) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("FinishTransaction.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("FinishTransaction.Tid", op, msgpack.Bin8)
} }
...@@ -3641,8 +3731,9 @@ func (p *FinishTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3641,8 +3731,9 @@ func (p *FinishTransaction) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("FinishTransaction.Tid", l, 8) return 0, mdecodeLen8Err("FinishTransaction.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
{
data = data[10:] data = data[10:]
}
{
l, tail, err := msgp.ReadArrayHeaderBytes(data) l, tail, err := msgp.ReadArrayHeaderBytes(data)
if err != nil { if err != nil {
return 0, mdecodeErr("FinishTransaction.OIDList", err) return 0, mdecodeErr("FinishTransaction.OIDList", err)
...@@ -3656,6 +3747,10 @@ func (p *FinishTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3656,6 +3747,10 @@ func (p *FinishTransaction) neoMsgDecodeM(data []byte) (int, error) {
p.OIDList = make([]zodb.Oid, l) p.OIDList = make([]zodb.Oid, l)
for i := 0; uint32(i) < l; i++ { for i := 0; uint32(i) < l; i++ {
a := &p.OIDList[i] a := &p.OIDList[i]
if data[0] == byte(msgpack.Nil) {
(*a) = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("FinishTransaction", op, msgpack.Bin8) return 0, mdecodeOpErr("FinishTransaction", op, msgpack.Bin8)
} }
...@@ -3666,6 +3761,7 @@ func (p *FinishTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3666,6 +3761,7 @@ func (p *FinishTransaction) neoMsgDecodeM(data []byte) (int, error) {
data = data[10:] data = data[10:]
} }
} }
}
{ {
l, tail, err := msgp.ReadArrayHeaderBytes(data) l, tail, err := msgp.ReadArrayHeaderBytes(data)
if err != nil { if err != nil {
...@@ -3680,6 +3776,10 @@ func (p *FinishTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3680,6 +3776,10 @@ func (p *FinishTransaction) neoMsgDecodeM(data []byte) (int, error) {
p.CheckedList = make([]zodb.Oid, l) p.CheckedList = make([]zodb.Oid, l)
for i := 0; uint32(i) < l; i++ { for i := 0; uint32(i) < l; i++ {
a := &p.CheckedList[i] a := &p.CheckedList[i]
if data[0] == byte(msgpack.Nil) {
(*a) = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("FinishTransaction", op, msgpack.Bin8) return 0, mdecodeOpErr("FinishTransaction", op, msgpack.Bin8)
} }
...@@ -3690,6 +3790,7 @@ func (p *FinishTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3690,6 +3790,7 @@ func (p *FinishTransaction) neoMsgDecodeM(data []byte) (int, error) {
data = data[10:] data = data[10:]
} }
} }
}
return 11 + int(nread), nil return 11 + int(nread), nil
overflow: overflow:
...@@ -3774,6 +3875,10 @@ func (p *AnswerTransactionFinished) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3774,6 +3875,10 @@ func (p *AnswerTransactionFinished) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.TTid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerTransactionFinished.TTid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerTransactionFinished.TTid", op, msgpack.Bin8)
} }
...@@ -3781,13 +3886,21 @@ func (p *AnswerTransactionFinished) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3781,13 +3886,21 @@ func (p *AnswerTransactionFinished) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerTransactionFinished.TTid", l, 8) return 0, mdecodeLen8Err("AnswerTransactionFinished.TTid", l, 8)
} }
p.TTid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.TTid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerTransactionFinished.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerTransactionFinished.Tid", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("AnswerTransactionFinished.Tid", l, 8) return 0, mdecodeLen8Err("AnswerTransactionFinished.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 21, nil return 21, nil
overflow: overflow:
...@@ -3872,6 +3985,10 @@ func (p *LockInformation) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3872,6 +3985,10 @@ func (p *LockInformation) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Ttid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("LockInformation.Ttid", op, msgpack.Bin8) return 0, mdecodeOpErr("LockInformation.Ttid", op, msgpack.Bin8)
} }
...@@ -3879,13 +3996,21 @@ func (p *LockInformation) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3879,13 +3996,21 @@ func (p *LockInformation) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("LockInformation.Ttid", l, 8) return 0, mdecodeLen8Err("LockInformation.Ttid", l, 8)
} }
p.Ttid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Ttid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("LockInformation.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("LockInformation.Tid", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("LockInformation.Tid", l, 8) return 0, mdecodeLen8Err("LockInformation.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 21, nil return 21, nil
overflow: overflow:
...@@ -3954,6 +4079,10 @@ func (p *AnswerInformationLocked) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3954,6 +4079,10 @@ func (p *AnswerInformationLocked) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Ttid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerInformationLocked.Ttid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerInformationLocked.Ttid", op, msgpack.Bin8)
} }
...@@ -3961,6 +4090,8 @@ func (p *AnswerInformationLocked) neoMsgDecodeM(data []byte) (int, error) { ...@@ -3961,6 +4090,8 @@ func (p *AnswerInformationLocked) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerInformationLocked.Ttid", l, 8) return 0, mdecodeLen8Err("AnswerInformationLocked.Ttid", l, 8)
} }
p.Ttid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Ttid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 11, nil return 11, nil
overflow: overflow:
...@@ -4072,6 +4203,10 @@ func (p *InvalidateObjects) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4072,6 +4203,10 @@ func (p *InvalidateObjects) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("InvalidateObjects.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("InvalidateObjects.Tid", op, msgpack.Bin8)
} }
...@@ -4079,8 +4214,9 @@ func (p *InvalidateObjects) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4079,8 +4214,9 @@ func (p *InvalidateObjects) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("InvalidateObjects.Tid", l, 8) return 0, mdecodeLen8Err("InvalidateObjects.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
{
data = data[10:] data = data[10:]
}
{
l, tail, err := msgp.ReadArrayHeaderBytes(data) l, tail, err := msgp.ReadArrayHeaderBytes(data)
if err != nil { if err != nil {
return 0, mdecodeErr("InvalidateObjects.OidList", err) return 0, mdecodeErr("InvalidateObjects.OidList", err)
...@@ -4094,6 +4230,10 @@ func (p *InvalidateObjects) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4094,6 +4230,10 @@ func (p *InvalidateObjects) neoMsgDecodeM(data []byte) (int, error) {
p.OidList = make([]zodb.Oid, l) p.OidList = make([]zodb.Oid, l)
for i := 0; uint32(i) < l; i++ { for i := 0; uint32(i) < l; i++ {
a := &p.OidList[i] a := &p.OidList[i]
if data[0] == byte(msgpack.Nil) {
(*a) = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("InvalidateObjects", op, msgpack.Bin8) return 0, mdecodeOpErr("InvalidateObjects", op, msgpack.Bin8)
} }
...@@ -4104,6 +4244,7 @@ func (p *InvalidateObjects) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4104,6 +4244,7 @@ func (p *InvalidateObjects) neoMsgDecodeM(data []byte) (int, error) {
data = data[10:] data = data[10:]
} }
} }
}
return 11 + int(nread), nil return 11 + int(nread), nil
overflow: overflow:
...@@ -4172,6 +4313,10 @@ func (p *NotifyUnlockInformation) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4172,6 +4313,10 @@ func (p *NotifyUnlockInformation) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.TTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("NotifyUnlockInformation.TTID", op, msgpack.Bin8) return 0, mdecodeOpErr("NotifyUnlockInformation.TTID", op, msgpack.Bin8)
} }
...@@ -4179,6 +4324,8 @@ func (p *NotifyUnlockInformation) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4179,6 +4324,8 @@ func (p *NotifyUnlockInformation) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("NotifyUnlockInformation.TTID", l, 8) return 0, mdecodeLen8Err("NotifyUnlockInformation.TTID", l, 8)
} }
p.TTID = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.TTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 11, nil return 11, nil
overflow: overflow:
...@@ -4354,6 +4501,10 @@ func (p *AnswerNewOIDs) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4354,6 +4501,10 @@ func (p *AnswerNewOIDs) neoMsgDecodeM(data []byte) (int, error) {
p.OidList = make([]zodb.Oid, l) p.OidList = make([]zodb.Oid, l)
for i := 0; uint32(i) < l; i++ { for i := 0; uint32(i) < l; i++ {
a := &p.OidList[i] a := &p.OidList[i]
if data[0] == byte(msgpack.Nil) {
(*a) = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerNewOIDs", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerNewOIDs", op, msgpack.Bin8)
} }
...@@ -4364,6 +4515,7 @@ func (p *AnswerNewOIDs) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4364,6 +4515,7 @@ func (p *AnswerNewOIDs) neoMsgDecodeM(data []byte) (int, error) {
data = data[10:] data = data[10:]
} }
} }
}
return 1 + int(nread), nil return 1 + int(nread), nil
overflow: overflow:
...@@ -4448,6 +4600,10 @@ func (p *NotifyDeadlock) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4448,6 +4600,10 @@ func (p *NotifyDeadlock) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.TTid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("NotifyDeadlock.TTid", op, msgpack.Bin8) return 0, mdecodeOpErr("NotifyDeadlock.TTid", op, msgpack.Bin8)
} }
...@@ -4455,13 +4611,21 @@ func (p *NotifyDeadlock) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4455,13 +4611,21 @@ func (p *NotifyDeadlock) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("NotifyDeadlock.TTid", l, 8) return 0, mdecodeLen8Err("NotifyDeadlock.TTid", l, 8)
} }
p.TTid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.TTid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.LockingTid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("NotifyDeadlock.LockingTid", op, msgpack.Bin8) return 0, mdecodeOpErr("NotifyDeadlock.LockingTid", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("NotifyDeadlock.LockingTid", l, 8) return 0, mdecodeLen8Err("NotifyDeadlock.LockingTid", l, 8)
} }
p.LockingTid = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.LockingTid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 21, nil return 21, nil
overflow: overflow:
...@@ -4546,6 +4710,10 @@ func (p *RebaseTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4546,6 +4710,10 @@ func (p *RebaseTransaction) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.TTid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("RebaseTransaction.TTid", op, msgpack.Bin8) return 0, mdecodeOpErr("RebaseTransaction.TTid", op, msgpack.Bin8)
} }
...@@ -4553,13 +4721,21 @@ func (p *RebaseTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4553,13 +4721,21 @@ func (p *RebaseTransaction) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("RebaseTransaction.TTid", l, 8) return 0, mdecodeLen8Err("RebaseTransaction.TTid", l, 8)
} }
p.TTid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.TTid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.LockingTid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("RebaseTransaction.LockingTid", op, msgpack.Bin8) return 0, mdecodeOpErr("RebaseTransaction.LockingTid", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("RebaseTransaction.LockingTid", l, 8) return 0, mdecodeLen8Err("RebaseTransaction.LockingTid", l, 8)
} }
p.LockingTid = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.LockingTid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 21, nil return 21, nil
overflow: overflow:
...@@ -4668,6 +4844,10 @@ func (p *AnswerRebaseTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4668,6 +4844,10 @@ func (p *AnswerRebaseTransaction) neoMsgDecodeM(data []byte) (int, error) {
p.OidList = make([]zodb.Oid, l) p.OidList = make([]zodb.Oid, l)
for i := 0; uint32(i) < l; i++ { for i := 0; uint32(i) < l; i++ {
a := &p.OidList[i] a := &p.OidList[i]
if data[0] == byte(msgpack.Nil) {
(*a) = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerRebaseTransaction", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerRebaseTransaction", op, msgpack.Bin8)
} }
...@@ -4678,6 +4858,7 @@ func (p *AnswerRebaseTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4678,6 +4858,7 @@ func (p *AnswerRebaseTransaction) neoMsgDecodeM(data []byte) (int, error) {
data = data[10:] data = data[10:]
} }
} }
}
return 1 + int(nread), nil return 1 + int(nread), nil
overflow: overflow:
...@@ -4762,6 +4943,10 @@ func (p *RebaseObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4762,6 +4943,10 @@ func (p *RebaseObject) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.TTid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("RebaseObject.TTid", op, msgpack.Bin8) return 0, mdecodeOpErr("RebaseObject.TTid", op, msgpack.Bin8)
} }
...@@ -4769,13 +4954,21 @@ func (p *RebaseObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4769,13 +4954,21 @@ func (p *RebaseObject) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("RebaseObject.TTid", l, 8) return 0, mdecodeLen8Err("RebaseObject.TTid", l, 8)
} }
p.TTid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.TTid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.Oid = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("RebaseObject.Oid", op, msgpack.Bin8) return 0, mdecodeOpErr("RebaseObject.Oid", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("RebaseObject.Oid", l, 8) return 0, mdecodeLen8Err("RebaseObject.Oid", l, 8)
} }
p.Oid = zodb.Oid(binary.BigEndian.Uint64(data[12:])) p.Oid = zodb.Oid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 21, nil return 21, nil
overflow: overflow:
...@@ -4895,6 +5088,10 @@ func (p *AnswerRebaseObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4895,6 +5088,10 @@ func (p *AnswerRebaseObject) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Serial = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerRebaseObject.Serial", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerRebaseObject.Serial", op, msgpack.Bin8)
} }
...@@ -4902,14 +5099,22 @@ func (p *AnswerRebaseObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4902,14 +5099,22 @@ func (p *AnswerRebaseObject) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerRebaseObject.Serial", l, 8) return 0, mdecodeLen8Err("AnswerRebaseObject.Serial", l, 8)
} }
p.Serial = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Serial = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.ConflictSerial = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerRebaseObject.ConflictSerial", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerRebaseObject.ConflictSerial", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("AnswerRebaseObject.ConflictSerial", l, 8) return 0, mdecodeLen8Err("AnswerRebaseObject.ConflictSerial", l, 8)
} }
p.ConflictSerial = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.ConflictSerial = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
switch op := msgpack.Op(data[20]); op { data = data[10:]
}
switch op := msgpack.Op(data[0]); op {
default: default:
return 0, mdecodeOpErr("AnswerRebaseObject.Compression", op, msgpack.True, msgpack.False) return 0, mdecodeOpErr("AnswerRebaseObject.Compression", op, msgpack.True, msgpack.False)
case msgpack.True: case msgpack.True:
...@@ -4919,14 +5124,14 @@ func (p *AnswerRebaseObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -4919,14 +5124,14 @@ func (p *AnswerRebaseObject) neoMsgDecodeM(data []byte) (int, error) {
case msgpack.Nil: case msgpack.Nil:
p.Compression = false p.Compression = false
} }
if op := msgpack.Op(data[21]); op != msgpack.Bin8 { if op := msgpack.Op(data[1]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerRebaseObject.Checksum", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerRebaseObject.Checksum", op, msgpack.Bin8)
} }
if l := data[22]; l != 20 { if l := data[2]; l != 20 {
return 0, mdecodeLen8Err("AnswerRebaseObject.Checksum", l, 20) return 0, mdecodeLen8Err("AnswerRebaseObject.Checksum", l, 20)
} }
copy(p.Checksum[:], data[23:43]) copy(p.Checksum[:], data[3:23])
data = data[43:] data = data[23:]
{ {
b, tail, err := msgp.ReadBytesZC(data) b, tail, err := msgp.ReadBytesZC(data)
if err != nil { if err != nil {
...@@ -5088,6 +5293,10 @@ func (p *StoreObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -5088,6 +5293,10 @@ func (p *StoreObject) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Oid = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("StoreObject.Oid", op, msgpack.Bin8) return 0, mdecodeOpErr("StoreObject.Oid", op, msgpack.Bin8)
} }
...@@ -5095,14 +5304,22 @@ func (p *StoreObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -5095,14 +5304,22 @@ func (p *StoreObject) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("StoreObject.Oid", l, 8) return 0, mdecodeLen8Err("StoreObject.Oid", l, 8)
} }
p.Oid = zodb.Oid(binary.BigEndian.Uint64(data[2:])) p.Oid = zodb.Oid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.Serial = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("StoreObject.Serial", op, msgpack.Bin8) return 0, mdecodeOpErr("StoreObject.Serial", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("StoreObject.Serial", l, 8) return 0, mdecodeLen8Err("StoreObject.Serial", l, 8)
} }
p.Serial = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.Serial = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
switch op := msgpack.Op(data[20]); op { data = data[10:]
}
switch op := msgpack.Op(data[0]); op {
default: default:
return 0, mdecodeOpErr("StoreObject.Compression", op, msgpack.True, msgpack.False) return 0, mdecodeOpErr("StoreObject.Compression", op, msgpack.True, msgpack.False)
case msgpack.True: case msgpack.True:
...@@ -5112,14 +5329,14 @@ func (p *StoreObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -5112,14 +5329,14 @@ func (p *StoreObject) neoMsgDecodeM(data []byte) (int, error) {
case msgpack.Nil: case msgpack.Nil:
p.Compression = false p.Compression = false
} }
if op := msgpack.Op(data[21]); op != msgpack.Bin8 { if op := msgpack.Op(data[1]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("StoreObject.Checksum", op, msgpack.Bin8) return 0, mdecodeOpErr("StoreObject.Checksum", op, msgpack.Bin8)
} }
if l := data[22]; l != 20 { if l := data[2]; l != 20 {
return 0, mdecodeLen8Err("StoreObject.Checksum", l, 20) return 0, mdecodeLen8Err("StoreObject.Checksum", l, 20)
} }
copy(p.Checksum[:], data[23:43]) copy(p.Checksum[:], data[3:23])
data = data[43:] data = data[23:]
{ {
b, tail, err := msgp.ReadBytesZC(data) b, tail, err := msgp.ReadBytesZC(data)
if err != nil { if err != nil {
...@@ -5133,6 +5350,10 @@ func (p *StoreObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -5133,6 +5350,10 @@ func (p *StoreObject) neoMsgDecodeM(data []byte) (int, error) {
if len(data) < 20 { if len(data) < 20 {
goto overflow goto overflow
} }
if data[0] == byte(msgpack.Nil) {
p.DataSerial = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("StoreObject.DataSerial", op, msgpack.Bin8) return 0, mdecodeOpErr("StoreObject.DataSerial", op, msgpack.Bin8)
} }
...@@ -5140,13 +5361,21 @@ func (p *StoreObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -5140,13 +5361,21 @@ func (p *StoreObject) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("StoreObject.DataSerial", l, 8) return 0, mdecodeLen8Err("StoreObject.DataSerial", l, 8)
} }
p.DataSerial = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.DataSerial = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("StoreObject.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("StoreObject.Tid", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("StoreObject.Tid", l, 8) return 0, mdecodeLen8Err("StoreObject.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 64 + int(nread), nil return 64 + int(nread), nil
overflow: overflow:
...@@ -5215,6 +5444,10 @@ func (p *AnswerStoreObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -5215,6 +5444,10 @@ func (p *AnswerStoreObject) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Conflict = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerStoreObject.Conflict", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerStoreObject.Conflict", op, msgpack.Bin8)
} }
...@@ -5222,6 +5455,8 @@ func (p *AnswerStoreObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -5222,6 +5455,8 @@ func (p *AnswerStoreObject) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerStoreObject.Conflict", l, 8) return 0, mdecodeLen8Err("AnswerStoreObject.Conflict", l, 8)
} }
p.Conflict = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Conflict = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 11, nil return 11, nil
overflow: overflow:
...@@ -5332,6 +5567,10 @@ func (p *AbortTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -5332,6 +5567,10 @@ func (p *AbortTransaction) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AbortTransaction.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("AbortTransaction.Tid", op, msgpack.Bin8)
} }
...@@ -5339,8 +5578,9 @@ func (p *AbortTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -5339,8 +5578,9 @@ func (p *AbortTransaction) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AbortTransaction.Tid", l, 8) return 0, mdecodeLen8Err("AbortTransaction.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
{
data = data[10:] data = data[10:]
}
{
l, tail, err := msgp.ReadArrayHeaderBytes(data) l, tail, err := msgp.ReadArrayHeaderBytes(data)
if err != nil { if err != nil {
return 0, mdecodeErr("AbortTransaction.NodeList", err) return 0, mdecodeErr("AbortTransaction.NodeList", err)
...@@ -5544,6 +5784,10 @@ func (p *StoreTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -5544,6 +5784,10 @@ func (p *StoreTransaction) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("StoreTransaction.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("StoreTransaction.Tid", op, msgpack.Bin8)
} }
...@@ -5552,6 +5796,7 @@ func (p *StoreTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -5552,6 +5796,7 @@ func (p *StoreTransaction) neoMsgDecodeM(data []byte) (int, error) {
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:] data = data[10:]
}
{ {
b, tail, err := msgp.ReadBytesZC(data) b, tail, err := msgp.ReadBytesZC(data)
if err != nil { if err != nil {
...@@ -5593,6 +5838,10 @@ func (p *StoreTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -5593,6 +5838,10 @@ func (p *StoreTransaction) neoMsgDecodeM(data []byte) (int, error) {
p.OidList = make([]zodb.Oid, l) p.OidList = make([]zodb.Oid, l)
for i := 0; uint32(i) < l; i++ { for i := 0; uint32(i) < l; i++ {
a := &p.OidList[i] a := &p.OidList[i]
if data[0] == byte(msgpack.Nil) {
(*a) = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("StoreTransaction", op, msgpack.Bin8) return 0, mdecodeOpErr("StoreTransaction", op, msgpack.Bin8)
} }
...@@ -5603,6 +5852,7 @@ func (p *StoreTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -5603,6 +5852,7 @@ func (p *StoreTransaction) neoMsgDecodeM(data []byte) (int, error) {
data = data[10:] data = data[10:]
} }
} }
}
return 11 + int(nread), nil return 11 + int(nread), nil
overflow: overflow:
...@@ -5716,6 +5966,10 @@ func (p *VoteTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -5716,6 +5966,10 @@ func (p *VoteTransaction) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("VoteTransaction.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("VoteTransaction.Tid", op, msgpack.Bin8)
} }
...@@ -5723,6 +5977,8 @@ func (p *VoteTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -5723,6 +5977,8 @@ func (p *VoteTransaction) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("VoteTransaction.Tid", l, 8) return 0, mdecodeLen8Err("VoteTransaction.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 11, nil return 11, nil
overflow: overflow:
...@@ -5868,6 +6124,10 @@ func (p *GetObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -5868,6 +6124,10 @@ func (p *GetObject) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Oid = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("GetObject.Oid", op, msgpack.Bin8) return 0, mdecodeOpErr("GetObject.Oid", op, msgpack.Bin8)
} }
...@@ -5875,20 +6135,34 @@ func (p *GetObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -5875,20 +6135,34 @@ func (p *GetObject) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("GetObject.Oid", l, 8) return 0, mdecodeLen8Err("GetObject.Oid", l, 8)
} }
p.Oid = zodb.Oid(binary.BigEndian.Uint64(data[2:])) p.Oid = zodb.Oid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.At = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("GetObject.At", op, msgpack.Bin8) return 0, mdecodeOpErr("GetObject.At", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("GetObject.At", l, 8) return 0, mdecodeLen8Err("GetObject.At", l, 8)
} }
p.At = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.At = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[20]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.Before = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("GetObject.Before", op, msgpack.Bin8) return 0, mdecodeOpErr("GetObject.Before", op, msgpack.Bin8)
} }
if l := data[21]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("GetObject.Before", l, 8) return 0, mdecodeLen8Err("GetObject.Before", l, 8)
} }
p.Before = zodb.Tid(binary.BigEndian.Uint64(data[22:])) p.Before = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 31, nil return 31, nil
overflow: overflow:
...@@ -6040,6 +6314,10 @@ func (p *AnswerObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6040,6 +6314,10 @@ func (p *AnswerObject) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Oid = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerObject.Oid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerObject.Oid", op, msgpack.Bin8)
} }
...@@ -6047,21 +6325,35 @@ func (p *AnswerObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6047,21 +6325,35 @@ func (p *AnswerObject) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerObject.Oid", l, 8) return 0, mdecodeLen8Err("AnswerObject.Oid", l, 8)
} }
p.Oid = zodb.Oid(binary.BigEndian.Uint64(data[2:])) p.Oid = zodb.Oid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.Serial = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerObject.Serial", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerObject.Serial", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("AnswerObject.Serial", l, 8) return 0, mdecodeLen8Err("AnswerObject.Serial", l, 8)
} }
p.Serial = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.Serial = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[20]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.NextSerial = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerObject.NextSerial", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerObject.NextSerial", op, msgpack.Bin8)
} }
if l := data[21]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("AnswerObject.NextSerial", l, 8) return 0, mdecodeLen8Err("AnswerObject.NextSerial", l, 8)
} }
p.NextSerial = zodb.Tid(binary.BigEndian.Uint64(data[22:])) p.NextSerial = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
switch op := msgpack.Op(data[30]); op { data = data[10:]
}
switch op := msgpack.Op(data[0]); op {
default: default:
return 0, mdecodeOpErr("AnswerObject.Compression", op, msgpack.True, msgpack.False) return 0, mdecodeOpErr("AnswerObject.Compression", op, msgpack.True, msgpack.False)
case msgpack.True: case msgpack.True:
...@@ -6071,14 +6363,14 @@ func (p *AnswerObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6071,14 +6363,14 @@ func (p *AnswerObject) neoMsgDecodeM(data []byte) (int, error) {
case msgpack.Nil: case msgpack.Nil:
p.Compression = false p.Compression = false
} }
if op := msgpack.Op(data[31]); op != msgpack.Bin8 { if op := msgpack.Op(data[1]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerObject.Checksum", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerObject.Checksum", op, msgpack.Bin8)
} }
if l := data[32]; l != 20 { if l := data[2]; l != 20 {
return 0, mdecodeLen8Err("AnswerObject.Checksum", l, 20) return 0, mdecodeLen8Err("AnswerObject.Checksum", l, 20)
} }
copy(p.Checksum[:], data[33:53]) copy(p.Checksum[:], data[3:23])
data = data[53:] data = data[23:]
{ {
b, tail, err := msgp.ReadBytesZC(data) b, tail, err := msgp.ReadBytesZC(data)
if err != nil { if err != nil {
...@@ -6092,6 +6384,10 @@ func (p *AnswerObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6092,6 +6384,10 @@ func (p *AnswerObject) neoMsgDecodeM(data []byte) (int, error) {
if len(data) < 10 { if len(data) < 10 {
goto overflow goto overflow
} }
if data[0] == byte(msgpack.Nil) {
p.DataSerial = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerObject.DataSerial", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerObject.DataSerial", op, msgpack.Bin8)
} }
...@@ -6099,6 +6395,8 @@ func (p *AnswerObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6099,6 +6395,8 @@ func (p *AnswerObject) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerObject.DataSerial", l, 8) return 0, mdecodeLen8Err("AnswerObject.DataSerial", l, 8)
} }
p.DataSerial = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.DataSerial = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 64 + int(nread), nil return 64 + int(nread), nil
overflow: overflow:
...@@ -6304,6 +6602,10 @@ func (p *AnswerTIDs) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6304,6 +6602,10 @@ func (p *AnswerTIDs) neoMsgDecodeM(data []byte) (int, error) {
p.TIDList = make([]zodb.Tid, l) p.TIDList = make([]zodb.Tid, l)
for i := 0; uint32(i) < l; i++ { for i := 0; uint32(i) < l; i++ {
a := &p.TIDList[i] a := &p.TIDList[i]
if data[0] == byte(msgpack.Nil) {
(*a) = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerTIDs", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerTIDs", op, msgpack.Bin8)
} }
...@@ -6314,6 +6616,7 @@ func (p *AnswerTIDs) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6314,6 +6616,7 @@ func (p *AnswerTIDs) neoMsgDecodeM(data []byte) (int, error) {
data = data[10:] data = data[10:]
} }
} }
}
return 1 + int(nread), nil return 1 + int(nread), nil
overflow: overflow:
...@@ -6382,6 +6685,10 @@ func (p *TransactionInformation) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6382,6 +6685,10 @@ func (p *TransactionInformation) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("TransactionInformation.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("TransactionInformation.Tid", op, msgpack.Bin8)
} }
...@@ -6389,6 +6696,8 @@ func (p *TransactionInformation) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6389,6 +6696,8 @@ func (p *TransactionInformation) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("TransactionInformation.Tid", l, 8) return 0, mdecodeLen8Err("TransactionInformation.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 11, nil return 11, nil
overflow: overflow:
...@@ -6575,6 +6884,10 @@ func (p *AnswerTransactionInformation) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6575,6 +6884,10 @@ func (p *AnswerTransactionInformation) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerTransactionInformation.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerTransactionInformation.Tid", op, msgpack.Bin8)
} }
...@@ -6583,6 +6896,7 @@ func (p *AnswerTransactionInformation) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6583,6 +6896,7 @@ func (p *AnswerTransactionInformation) neoMsgDecodeM(data []byte) (int, error) {
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:] data = data[10:]
}
{ {
b, tail, err := msgp.ReadBytesZC(data) b, tail, err := msgp.ReadBytesZC(data)
if err != nil { if err != nil {
...@@ -6638,6 +6952,10 @@ func (p *AnswerTransactionInformation) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6638,6 +6952,10 @@ func (p *AnswerTransactionInformation) neoMsgDecodeM(data []byte) (int, error) {
p.OidList = make([]zodb.Oid, l) p.OidList = make([]zodb.Oid, l)
for i := 0; uint32(i) < l; i++ { for i := 0; uint32(i) < l; i++ {
a := &p.OidList[i] a := &p.OidList[i]
if data[0] == byte(msgpack.Nil) {
(*a) = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerTransactionInformation", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerTransactionInformation", op, msgpack.Bin8)
} }
...@@ -6648,6 +6966,7 @@ func (p *AnswerTransactionInformation) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6648,6 +6966,7 @@ func (p *AnswerTransactionInformation) neoMsgDecodeM(data []byte) (int, error) {
data = data[10:] data = data[10:]
} }
} }
}
return 12 + int(nread), nil return 12 + int(nread), nil
overflow: overflow:
...@@ -6729,6 +7048,10 @@ func (p *ObjectHistory) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6729,6 +7048,10 @@ func (p *ObjectHistory) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Oid = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("ObjectHistory.Oid", op, msgpack.Bin8) return 0, mdecodeOpErr("ObjectHistory.Oid", op, msgpack.Bin8)
} }
...@@ -6737,6 +7060,7 @@ func (p *ObjectHistory) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6737,6 +7060,7 @@ func (p *ObjectHistory) neoMsgDecodeM(data []byte) (int, error) {
} }
p.Oid = zodb.Oid(binary.BigEndian.Uint64(data[2:])) p.Oid = zodb.Oid(binary.BigEndian.Uint64(data[2:]))
data = data[10:] data = data[10:]
}
{ {
v, tail, err := msgp.ReadUint64Bytes(data) v, tail, err := msgp.ReadUint64Bytes(data)
if err != nil { if err != nil {
...@@ -6885,6 +7209,10 @@ func (p *AnswerObjectHistory) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6885,6 +7209,10 @@ func (p *AnswerObjectHistory) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Oid = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerObjectHistory.Oid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerObjectHistory.Oid", op, msgpack.Bin8)
} }
...@@ -6892,8 +7220,9 @@ func (p *AnswerObjectHistory) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6892,8 +7220,9 @@ func (p *AnswerObjectHistory) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerObjectHistory.Oid", l, 8) return 0, mdecodeLen8Err("AnswerObjectHistory.Oid", l, 8)
} }
p.Oid = zodb.Oid(binary.BigEndian.Uint64(data[2:])) p.Oid = zodb.Oid(binary.BigEndian.Uint64(data[2:]))
{
data = data[10:] data = data[10:]
}
{
l, tail, err := msgp.ReadArrayHeaderBytes(data) l, tail, err := msgp.ReadArrayHeaderBytes(data)
if err != nil { if err != nil {
return 0, mdecodeErr("AnswerObjectHistory.HistoryList", err) return 0, mdecodeErr("AnswerObjectHistory.HistoryList", err)
...@@ -6919,6 +7248,10 @@ func (p *AnswerObjectHistory) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6919,6 +7248,10 @@ func (p *AnswerObjectHistory) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
(*a).Serial = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerObjectHistory.Serial", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerObjectHistory.Serial", op, msgpack.Bin8)
} }
...@@ -6927,6 +7260,7 @@ func (p *AnswerObjectHistory) neoMsgDecodeM(data []byte) (int, error) { ...@@ -6927,6 +7260,7 @@ func (p *AnswerObjectHistory) neoMsgDecodeM(data []byte) (int, error) {
} }
(*a).Serial = zodb.Tid(binary.BigEndian.Uint64(data[2:])) (*a).Serial = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:] data = data[10:]
}
{ {
v, tail, err := msgp.ReadUint32Bytes(data) v, tail, err := msgp.ReadUint32Bytes(data)
if err != nil { if err != nil {
...@@ -8866,6 +9200,10 @@ func (p *ObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) { ...@@ -8866,6 +9200,10 @@ func (p *ObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("ObjectUndoSerial.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("ObjectUndoSerial.Tid", op, msgpack.Bin8)
} }
...@@ -8873,22 +9211,35 @@ func (p *ObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) { ...@@ -8873,22 +9211,35 @@ func (p *ObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("ObjectUndoSerial.Tid", l, 8) return 0, mdecodeLen8Err("ObjectUndoSerial.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.LTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("ObjectUndoSerial.LTID", op, msgpack.Bin8) return 0, mdecodeOpErr("ObjectUndoSerial.LTID", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("ObjectUndoSerial.LTID", l, 8) return 0, mdecodeLen8Err("ObjectUndoSerial.LTID", l, 8)
} }
p.LTID = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.LTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[20]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.UndoneTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("ObjectUndoSerial.UndoneTID", op, msgpack.Bin8) return 0, mdecodeOpErr("ObjectUndoSerial.UndoneTID", op, msgpack.Bin8)
} }
if l := data[21]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("ObjectUndoSerial.UndoneTID", l, 8) return 0, mdecodeLen8Err("ObjectUndoSerial.UndoneTID", l, 8)
} }
p.UndoneTID = zodb.Tid(binary.BigEndian.Uint64(data[22:])) p.UndoneTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
{ {
data = data[30:]
l, tail, err := msgp.ReadArrayHeaderBytes(data) l, tail, err := msgp.ReadArrayHeaderBytes(data)
if err != nil { if err != nil {
return 0, mdecodeErr("ObjectUndoSerial.OidList", err) return 0, mdecodeErr("ObjectUndoSerial.OidList", err)
...@@ -8902,6 +9253,10 @@ func (p *ObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) { ...@@ -8902,6 +9253,10 @@ func (p *ObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) {
p.OidList = make([]zodb.Oid, l) p.OidList = make([]zodb.Oid, l)
for i := 0; uint32(i) < l; i++ { for i := 0; uint32(i) < l; i++ {
a := &p.OidList[i] a := &p.OidList[i]
if data[0] == byte(msgpack.Nil) {
(*a) = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("ObjectUndoSerial", op, msgpack.Bin8) return 0, mdecodeOpErr("ObjectUndoSerial", op, msgpack.Bin8)
} }
...@@ -8912,6 +9267,7 @@ func (p *ObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) { ...@@ -8912,6 +9267,7 @@ func (p *ObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) {
data = data[10:] data = data[10:]
} }
} }
}
return 31 + int(nread), nil return 31 + int(nread), nil
overflow: overflow:
...@@ -9071,6 +9427,10 @@ func (p *AnswerObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) { ...@@ -9071,6 +9427,10 @@ func (p *AnswerObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) {
m := p.ObjectTIDDict m := p.ObjectTIDDict
for i := 0; uint32(i) < l; i++ { for i := 0; uint32(i) < l; i++ {
var key zodb.Oid var key zodb.Oid
if data[0] == byte(msgpack.Nil) {
key = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerObjectUndoSerial", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerObjectUndoSerial", op, msgpack.Bin8)
} }
...@@ -9078,15 +9438,16 @@ func (p *AnswerObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) { ...@@ -9078,15 +9438,16 @@ func (p *AnswerObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerObjectUndoSerial", l, 8) return 0, mdecodeLen8Err("AnswerObjectUndoSerial", l, 8)
} }
key = zodb.Oid(binary.BigEndian.Uint64(data[2:])) key = zodb.Oid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
var mv struct { var mv struct {
CurrentSerial zodb.Tid CurrentSerial zodb.Tid
UndoSerial zodb.Tid UndoSerial zodb.Tid
IsCurrent bool IsCurrent bool
} }
if op, opOk := msgpack.Op(data[10]), msgpack.FixArray_4|3; op != opOk { if op, opOk := msgpack.Op(data[0]), msgpack.FixArray_4|3; op != opOk {
return 0, &mstructDecodeError{"AnswerObjectUndoSerial", op, opOk} return 0, &mstructDecodeError{"AnswerObjectUndoSerial", op, opOk}
} }
data = data[10:]
{ {
_, tail, err := msgp.ReadArrayHeaderBytes(data) _, tail, err := msgp.ReadArrayHeaderBytes(data)
if err != nil { if err != nil {
...@@ -9094,6 +9455,10 @@ func (p *AnswerObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) { ...@@ -9094,6 +9455,10 @@ func (p *AnswerObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
mv.CurrentSerial = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerObjectUndoSerial.CurrentSerial", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerObjectUndoSerial.CurrentSerial", op, msgpack.Bin8)
} }
...@@ -9101,14 +9466,22 @@ func (p *AnswerObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) { ...@@ -9101,14 +9466,22 @@ func (p *AnswerObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerObjectUndoSerial.CurrentSerial", l, 8) return 0, mdecodeLen8Err("AnswerObjectUndoSerial.CurrentSerial", l, 8)
} }
mv.CurrentSerial = zodb.Tid(binary.BigEndian.Uint64(data[2:])) mv.CurrentSerial = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
mv.UndoSerial = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerObjectUndoSerial.UndoSerial", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerObjectUndoSerial.UndoSerial", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("AnswerObjectUndoSerial.UndoSerial", l, 8) return 0, mdecodeLen8Err("AnswerObjectUndoSerial.UndoSerial", l, 8)
} }
mv.UndoSerial = zodb.Tid(binary.BigEndian.Uint64(data[12:])) mv.UndoSerial = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
switch op := msgpack.Op(data[20]); op { data = data[10:]
}
switch op := msgpack.Op(data[0]); op {
default: default:
return 0, mdecodeOpErr("AnswerObjectUndoSerial.IsCurrent", op, msgpack.True, msgpack.False) return 0, mdecodeOpErr("AnswerObjectUndoSerial.IsCurrent", op, msgpack.True, msgpack.False)
case msgpack.True: case msgpack.True:
...@@ -9119,7 +9492,7 @@ func (p *AnswerObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) { ...@@ -9119,7 +9492,7 @@ func (p *AnswerObjectUndoSerial) neoMsgDecodeM(data []byte) (int, error) {
mv.IsCurrent = false mv.IsCurrent = false
} }
m[key] = mv m[key] = mv
data = data[21:] data = data[1:]
} }
} }
return 1 + int(nread), nil return 1 + int(nread), nil
...@@ -9219,6 +9592,10 @@ func (p *AskTIDsFrom) neoMsgDecodeM(data []byte) (int, error) { ...@@ -9219,6 +9592,10 @@ func (p *AskTIDsFrom) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.MinTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AskTIDsFrom.MinTID", op, msgpack.Bin8) return 0, mdecodeOpErr("AskTIDsFrom.MinTID", op, msgpack.Bin8)
} }
...@@ -9226,14 +9603,21 @@ func (p *AskTIDsFrom) neoMsgDecodeM(data []byte) (int, error) { ...@@ -9226,14 +9603,21 @@ func (p *AskTIDsFrom) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AskTIDsFrom.MinTID", l, 8) return 0, mdecodeLen8Err("AskTIDsFrom.MinTID", l, 8)
} }
p.MinTID = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.MinTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.MaxTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AskTIDsFrom.MaxTID", op, msgpack.Bin8) return 0, mdecodeOpErr("AskTIDsFrom.MaxTID", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("AskTIDsFrom.MaxTID", l, 8) return 0, mdecodeLen8Err("AskTIDsFrom.MaxTID", l, 8)
} }
p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[20:] data = data[10:]
}
{ {
v, tail, err := msgp.ReadUint32Bytes(data) v, tail, err := msgp.ReadUint32Bytes(data)
if err != nil { if err != nil {
...@@ -9360,6 +9744,10 @@ func (p *AnswerTIDsFrom) neoMsgDecodeM(data []byte) (int, error) { ...@@ -9360,6 +9744,10 @@ func (p *AnswerTIDsFrom) neoMsgDecodeM(data []byte) (int, error) {
p.TidList = make([]zodb.Tid, l) p.TidList = make([]zodb.Tid, l)
for i := 0; uint32(i) < l; i++ { for i := 0; uint32(i) < l; i++ {
a := &p.TidList[i] a := &p.TidList[i]
if data[0] == byte(msgpack.Nil) {
(*a) = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerTIDsFrom", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerTIDsFrom", op, msgpack.Bin8)
} }
...@@ -9370,6 +9758,7 @@ func (p *AnswerTIDsFrom) neoMsgDecodeM(data []byte) (int, error) { ...@@ -9370,6 +9758,7 @@ func (p *AnswerTIDsFrom) neoMsgDecodeM(data []byte) (int, error) {
data = data[10:] data = data[10:]
} }
} }
}
return 1 + int(nread), nil return 1 + int(nread), nil
overflow: overflow:
...@@ -9438,6 +9827,10 @@ func (p *Pack) neoMsgDecodeM(data []byte) (int, error) { ...@@ -9438,6 +9827,10 @@ func (p *Pack) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("Pack.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("Pack.Tid", op, msgpack.Bin8)
} }
...@@ -9445,6 +9838,8 @@ func (p *Pack) neoMsgDecodeM(data []byte) (int, error) { ...@@ -9445,6 +9838,8 @@ func (p *Pack) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("Pack.Tid", l, 8) return 0, mdecodeLen8Err("Pack.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 11, nil return 11, nil
overflow: overflow:
...@@ -9683,6 +10078,10 @@ func (p *CheckReplicas) neoMsgDecodeM(data []byte) (int, error) { ...@@ -9683,6 +10078,10 @@ func (p *CheckReplicas) neoMsgDecodeM(data []byte) (int, error) {
goto overflow goto overflow
} }
} }
if data[0] == byte(msgpack.Nil) {
p.MinTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("CheckReplicas.MinTID", op, msgpack.Bin8) return 0, mdecodeOpErr("CheckReplicas.MinTID", op, msgpack.Bin8)
} }
...@@ -9690,13 +10089,21 @@ func (p *CheckReplicas) neoMsgDecodeM(data []byte) (int, error) { ...@@ -9690,13 +10089,21 @@ func (p *CheckReplicas) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("CheckReplicas.MinTID", l, 8) return 0, mdecodeLen8Err("CheckReplicas.MinTID", l, 8)
} }
p.MinTID = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.MinTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.MaxTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("CheckReplicas.MaxTID", op, msgpack.Bin8) return 0, mdecodeOpErr("CheckReplicas.MaxTID", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("CheckReplicas.MaxTID", l, 8) return 0, mdecodeLen8Err("CheckReplicas.MaxTID", l, 8)
} }
p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 21 + int(nread), nil return 21 + int(nread), nil
overflow: overflow:
...@@ -9906,6 +10313,10 @@ func (p *CheckPartition) neoMsgDecodeM(data []byte) (int, error) { ...@@ -9906,6 +10313,10 @@ func (p *CheckPartition) neoMsgDecodeM(data []byte) (int, error) {
if len(data) < 20 { if len(data) < 20 {
goto overflow goto overflow
} }
if data[0] == byte(msgpack.Nil) {
p.MinTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("CheckPartition.MinTID", op, msgpack.Bin8) return 0, mdecodeOpErr("CheckPartition.MinTID", op, msgpack.Bin8)
} }
...@@ -9913,13 +10324,21 @@ func (p *CheckPartition) neoMsgDecodeM(data []byte) (int, error) { ...@@ -9913,13 +10324,21 @@ func (p *CheckPartition) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("CheckPartition.MinTID", l, 8) return 0, mdecodeLen8Err("CheckPartition.MinTID", l, 8)
} }
p.MinTID = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.MinTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.MaxTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("CheckPartition.MaxTID", op, msgpack.Bin8) return 0, mdecodeOpErr("CheckPartition.MaxTID", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("CheckPartition.MaxTID", l, 8) return 0, mdecodeLen8Err("CheckPartition.MaxTID", l, 8)
} }
p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 23 + int(nread), nil return 23 + int(nread), nil
overflow: overflow:
...@@ -10038,6 +10457,10 @@ func (p *CheckTIDRange) neoMsgDecodeM(data []byte) (int, error) { ...@@ -10038,6 +10457,10 @@ func (p *CheckTIDRange) neoMsgDecodeM(data []byte) (int, error) {
if len(data) < 20 { if len(data) < 20 {
goto overflow goto overflow
} }
if data[0] == byte(msgpack.Nil) {
p.MinTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("CheckTIDRange.MinTID", op, msgpack.Bin8) return 0, mdecodeOpErr("CheckTIDRange.MinTID", op, msgpack.Bin8)
} }
...@@ -10045,13 +10468,21 @@ func (p *CheckTIDRange) neoMsgDecodeM(data []byte) (int, error) { ...@@ -10045,13 +10468,21 @@ func (p *CheckTIDRange) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("CheckTIDRange.MinTID", l, 8) return 0, mdecodeLen8Err("CheckTIDRange.MinTID", l, 8)
} }
p.MinTID = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.MinTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.MaxTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("CheckTIDRange.MaxTID", op, msgpack.Bin8) return 0, mdecodeOpErr("CheckTIDRange.MaxTID", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("CheckTIDRange.MaxTID", l, 8) return 0, mdecodeLen8Err("CheckTIDRange.MaxTID", l, 8)
} }
p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 21 + int(nread), nil return 21 + int(nread), nil
overflow: overflow:
...@@ -10151,6 +10582,10 @@ func (p *AnswerCheckTIDRange) neoMsgDecodeM(data []byte) (int, error) { ...@@ -10151,6 +10582,10 @@ func (p *AnswerCheckTIDRange) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerCheckTIDRange.Checksum", l, 20) return 0, mdecodeLen8Err("AnswerCheckTIDRange.Checksum", l, 20)
} }
copy(p.Checksum[:], data[2:22]) copy(p.Checksum[:], data[2:22])
if data[22] == byte(msgpack.Nil) {
p.MaxTID = zodb.Tid(18446744073709551615)
data = data[23:]
} else {
if op := msgpack.Op(data[22]); op != msgpack.Bin8 { if op := msgpack.Op(data[22]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerCheckTIDRange.MaxTID", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerCheckTIDRange.MaxTID", op, msgpack.Bin8)
} }
...@@ -10158,6 +10593,8 @@ func (p *AnswerCheckTIDRange) neoMsgDecodeM(data []byte) (int, error) { ...@@ -10158,6 +10593,8 @@ func (p *AnswerCheckTIDRange) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerCheckTIDRange.MaxTID", l, 8) return 0, mdecodeLen8Err("AnswerCheckTIDRange.MaxTID", l, 8)
} }
p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[24:])) p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[24:]))
data = data[32:]
}
return 33 + int(nread), nil return 33 + int(nread), nil
overflow: overflow:
...@@ -10292,6 +10729,10 @@ func (p *CheckSerialRange) neoMsgDecodeM(data []byte) (int, error) { ...@@ -10292,6 +10729,10 @@ func (p *CheckSerialRange) neoMsgDecodeM(data []byte) (int, error) {
if len(data) < 30 { if len(data) < 30 {
goto overflow goto overflow
} }
if data[0] == byte(msgpack.Nil) {
p.MinTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("CheckSerialRange.MinTID", op, msgpack.Bin8) return 0, mdecodeOpErr("CheckSerialRange.MinTID", op, msgpack.Bin8)
} }
...@@ -10299,20 +10740,34 @@ func (p *CheckSerialRange) neoMsgDecodeM(data []byte) (int, error) { ...@@ -10299,20 +10740,34 @@ func (p *CheckSerialRange) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("CheckSerialRange.MinTID", l, 8) return 0, mdecodeLen8Err("CheckSerialRange.MinTID", l, 8)
} }
p.MinTID = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.MinTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.MaxTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("CheckSerialRange.MaxTID", op, msgpack.Bin8) return 0, mdecodeOpErr("CheckSerialRange.MaxTID", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("CheckSerialRange.MaxTID", l, 8) return 0, mdecodeLen8Err("CheckSerialRange.MaxTID", l, 8)
} }
p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[20]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.MinOID = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("CheckSerialRange.MinOID", op, msgpack.Bin8) return 0, mdecodeOpErr("CheckSerialRange.MinOID", op, msgpack.Bin8)
} }
if l := data[21]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("CheckSerialRange.MinOID", l, 8) return 0, mdecodeLen8Err("CheckSerialRange.MinOID", l, 8)
} }
p.MinOID = zodb.Oid(binary.BigEndian.Uint64(data[22:])) p.MinOID = zodb.Oid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 31 + int(nread), nil return 31 + int(nread), nil
overflow: overflow:
...@@ -10433,6 +10888,10 @@ func (p *AnswerCheckSerialRange) neoMsgDecodeM(data []byte) (int, error) { ...@@ -10433,6 +10888,10 @@ func (p *AnswerCheckSerialRange) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerCheckSerialRange.TidChecksum", l, 20) return 0, mdecodeLen8Err("AnswerCheckSerialRange.TidChecksum", l, 20)
} }
copy(p.TidChecksum[:], data[2:22]) copy(p.TidChecksum[:], data[2:22])
if data[22] == byte(msgpack.Nil) {
p.MaxTID = zodb.Tid(18446744073709551615)
data = data[23:]
} else {
if op := msgpack.Op(data[22]); op != msgpack.Bin8 { if op := msgpack.Op(data[22]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerCheckSerialRange.MaxTID", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerCheckSerialRange.MaxTID", op, msgpack.Bin8)
} }
...@@ -10440,20 +10899,28 @@ func (p *AnswerCheckSerialRange) neoMsgDecodeM(data []byte) (int, error) { ...@@ -10440,20 +10899,28 @@ func (p *AnswerCheckSerialRange) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerCheckSerialRange.MaxTID", l, 8) return 0, mdecodeLen8Err("AnswerCheckSerialRange.MaxTID", l, 8)
} }
p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[24:])) p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[24:]))
if op := msgpack.Op(data[32]); op != msgpack.Bin8 { data = data[32:]
}
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerCheckSerialRange.OidChecksum", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerCheckSerialRange.OidChecksum", op, msgpack.Bin8)
} }
if l := data[33]; l != 20 { if l := data[1]; l != 20 {
return 0, mdecodeLen8Err("AnswerCheckSerialRange.OidChecksum", l, 20) return 0, mdecodeLen8Err("AnswerCheckSerialRange.OidChecksum", l, 20)
} }
copy(p.OidChecksum[:], data[34:54]) copy(p.OidChecksum[:], data[2:22])
if op := msgpack.Op(data[54]); op != msgpack.Bin8 { if data[22] == byte(msgpack.Nil) {
p.MaxOID = zodb.Oid(18446744073709551615)
data = data[23:]
} else {
if op := msgpack.Op(data[22]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerCheckSerialRange.MaxOID", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerCheckSerialRange.MaxOID", op, msgpack.Bin8)
} }
if l := data[55]; l != 8 { if l := data[23]; l != 8 {
return 0, mdecodeLen8Err("AnswerCheckSerialRange.MaxOID", l, 8) return 0, mdecodeLen8Err("AnswerCheckSerialRange.MaxOID", l, 8)
} }
p.MaxOID = zodb.Oid(binary.BigEndian.Uint64(data[56:])) p.MaxOID = zodb.Oid(binary.BigEndian.Uint64(data[24:]))
data = data[32:]
}
return 65 + int(nread), nil return 65 + int(nread), nil
overflow: overflow:
...@@ -10742,6 +11209,10 @@ func (p *AnswerLastTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -10742,6 +11209,10 @@ func (p *AnswerLastTransaction) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerLastTransaction.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerLastTransaction.Tid", op, msgpack.Bin8)
} }
...@@ -10749,6 +11220,8 @@ func (p *AnswerLastTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -10749,6 +11220,8 @@ func (p *AnswerLastTransaction) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerLastTransaction.Tid", l, 8) return 0, mdecodeLen8Err("AnswerLastTransaction.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 11, nil return 11, nil
overflow: overflow:
...@@ -10849,6 +11322,10 @@ func (p *CheckCurrentSerial) neoMsgDecodeM(data []byte) (int, error) { ...@@ -10849,6 +11322,10 @@ func (p *CheckCurrentSerial) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("CheckCurrentSerial.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("CheckCurrentSerial.Tid", op, msgpack.Bin8)
} }
...@@ -10856,20 +11333,34 @@ func (p *CheckCurrentSerial) neoMsgDecodeM(data []byte) (int, error) { ...@@ -10856,20 +11333,34 @@ func (p *CheckCurrentSerial) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("CheckCurrentSerial.Tid", l, 8) return 0, mdecodeLen8Err("CheckCurrentSerial.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.Oid = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("CheckCurrentSerial.Oid", op, msgpack.Bin8) return 0, mdecodeOpErr("CheckCurrentSerial.Oid", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("CheckCurrentSerial.Oid", l, 8) return 0, mdecodeLen8Err("CheckCurrentSerial.Oid", l, 8)
} }
p.Oid = zodb.Oid(binary.BigEndian.Uint64(data[12:])) p.Oid = zodb.Oid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[20]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.Serial = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("CheckCurrentSerial.Serial", op, msgpack.Bin8) return 0, mdecodeOpErr("CheckCurrentSerial.Serial", op, msgpack.Bin8)
} }
if l := data[21]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("CheckCurrentSerial.Serial", l, 8) return 0, mdecodeLen8Err("CheckCurrentSerial.Serial", l, 8)
} }
p.Serial = zodb.Tid(binary.BigEndian.Uint64(data[22:])) p.Serial = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 31, nil return 31, nil
overflow: overflow:
...@@ -10949,6 +11440,10 @@ func (p *AnswerCheckCurrentSerial) neoMsgDecodeM(data []byte) (int, error) { ...@@ -10949,6 +11440,10 @@ func (p *AnswerCheckCurrentSerial) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.AnswerStoreObject.Conflict = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerCheckCurrentSerial.AnswerStoreObject.Conflict", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerCheckCurrentSerial.AnswerStoreObject.Conflict", op, msgpack.Bin8)
} }
...@@ -10956,6 +11451,8 @@ func (p *AnswerCheckCurrentSerial) neoMsgDecodeM(data []byte) (int, error) { ...@@ -10956,6 +11451,8 @@ func (p *AnswerCheckCurrentSerial) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerCheckCurrentSerial.AnswerStoreObject.Conflict", l, 8) return 0, mdecodeLen8Err("AnswerCheckCurrentSerial.AnswerStoreObject.Conflict", l, 8)
} }
p.AnswerStoreObject.Conflict = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.AnswerStoreObject.Conflict = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 12, nil return 12, nil
overflow: overflow:
...@@ -11040,6 +11537,10 @@ func (p *NotifyTransactionFinished) neoMsgDecodeM(data []byte) (int, error) { ...@@ -11040,6 +11537,10 @@ func (p *NotifyTransactionFinished) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.TTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("NotifyTransactionFinished.TTID", op, msgpack.Bin8) return 0, mdecodeOpErr("NotifyTransactionFinished.TTID", op, msgpack.Bin8)
} }
...@@ -11047,13 +11548,21 @@ func (p *NotifyTransactionFinished) neoMsgDecodeM(data []byte) (int, error) { ...@@ -11047,13 +11548,21 @@ func (p *NotifyTransactionFinished) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("NotifyTransactionFinished.TTID", l, 8) return 0, mdecodeLen8Err("NotifyTransactionFinished.TTID", l, 8)
} }
p.TTID = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.TTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.MaxTID = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("NotifyTransactionFinished.MaxTID", op, msgpack.Bin8) return 0, mdecodeOpErr("NotifyTransactionFinished.MaxTID", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("NotifyTransactionFinished.MaxTID", l, 8) return 0, mdecodeLen8Err("NotifyTransactionFinished.MaxTID", l, 8)
} }
p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.MaxTID = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 21, nil return 21, nil
overflow: overflow:
...@@ -11222,6 +11731,10 @@ func (p *Replicate) neoMsgDecodeM(data []byte) (int, error) { ...@@ -11222,6 +11731,10 @@ func (p *Replicate) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("Replicate.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("Replicate.Tid", op, msgpack.Bin8)
} }
...@@ -11230,6 +11743,7 @@ func (p *Replicate) neoMsgDecodeM(data []byte) (int, error) { ...@@ -11230,6 +11743,7 @@ func (p *Replicate) neoMsgDecodeM(data []byte) (int, error) {
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:] data = data[10:]
}
{ {
b, tail, err := msgp.ReadBytesZC(data) b, tail, err := msgp.ReadBytesZC(data)
if err != nil { if err != nil {
...@@ -11357,6 +11871,10 @@ func (p *ReplicationDone) neoMsgDecodeM(data []byte) (int, error) { ...@@ -11357,6 +11871,10 @@ func (p *ReplicationDone) neoMsgDecodeM(data []byte) (int, error) {
if len(data) < 10 { if len(data) < 10 {
goto overflow goto overflow
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("ReplicationDone.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("ReplicationDone.Tid", op, msgpack.Bin8)
} }
...@@ -11364,6 +11882,8 @@ func (p *ReplicationDone) neoMsgDecodeM(data []byte) (int, error) { ...@@ -11364,6 +11882,8 @@ func (p *ReplicationDone) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("ReplicationDone.Tid", l, 8) return 0, mdecodeLen8Err("ReplicationDone.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 11 + int(nread), nil return 11 + int(nread), nil
overflow: overflow:
...@@ -11524,6 +12044,10 @@ func (p *FetchTransactions) neoMsgDecodeM(data []byte) (int, error) { ...@@ -11524,6 +12044,10 @@ func (p *FetchTransactions) neoMsgDecodeM(data []byte) (int, error) {
if len(data) < 20 { if len(data) < 20 {
goto overflow goto overflow
} }
if data[0] == byte(msgpack.Nil) {
p.MinTid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("FetchTransactions.MinTid", op, msgpack.Bin8) return 0, mdecodeOpErr("FetchTransactions.MinTid", op, msgpack.Bin8)
} }
...@@ -11531,15 +12055,22 @@ func (p *FetchTransactions) neoMsgDecodeM(data []byte) (int, error) { ...@@ -11531,15 +12055,22 @@ func (p *FetchTransactions) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("FetchTransactions.MinTid", l, 8) return 0, mdecodeLen8Err("FetchTransactions.MinTid", l, 8)
} }
p.MinTid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.MinTid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.MaxTid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("FetchTransactions.MaxTid", op, msgpack.Bin8) return 0, mdecodeOpErr("FetchTransactions.MaxTid", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("FetchTransactions.MaxTid", l, 8) return 0, mdecodeLen8Err("FetchTransactions.MaxTid", l, 8)
} }
p.MaxTid = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.MaxTid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
{ {
data = data[20:]
l, tail, err := msgp.ReadArrayHeaderBytes(data) l, tail, err := msgp.ReadArrayHeaderBytes(data)
if err != nil { if err != nil {
return 0, mdecodeErr("FetchTransactions.TxnKnownList", err) return 0, mdecodeErr("FetchTransactions.TxnKnownList", err)
...@@ -11553,6 +12084,10 @@ func (p *FetchTransactions) neoMsgDecodeM(data []byte) (int, error) { ...@@ -11553,6 +12084,10 @@ func (p *FetchTransactions) neoMsgDecodeM(data []byte) (int, error) {
p.TxnKnownList = make([]zodb.Tid, l) p.TxnKnownList = make([]zodb.Tid, l)
for i := 0; uint32(i) < l; i++ { for i := 0; uint32(i) < l; i++ {
a := &p.TxnKnownList[i] a := &p.TxnKnownList[i]
if data[0] == byte(msgpack.Nil) {
(*a) = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("FetchTransactions", op, msgpack.Bin8) return 0, mdecodeOpErr("FetchTransactions", op, msgpack.Bin8)
} }
...@@ -11563,6 +12098,7 @@ func (p *FetchTransactions) neoMsgDecodeM(data []byte) (int, error) { ...@@ -11563,6 +12098,7 @@ func (p *FetchTransactions) neoMsgDecodeM(data []byte) (int, error) {
data = data[10:] data = data[10:]
} }
} }
}
return 21 + int(nread), nil return 21 + int(nread), nil
overflow: overflow:
...@@ -11690,6 +12226,10 @@ func (p *AnswerFetchTransactions) neoMsgDecodeM(data []byte) (int, error) { ...@@ -11690,6 +12226,10 @@ func (p *AnswerFetchTransactions) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.PackTid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerFetchTransactions.PackTid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerFetchTransactions.PackTid", op, msgpack.Bin8)
} }
...@@ -11697,15 +12237,22 @@ func (p *AnswerFetchTransactions) neoMsgDecodeM(data []byte) (int, error) { ...@@ -11697,15 +12237,22 @@ func (p *AnswerFetchTransactions) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerFetchTransactions.PackTid", l, 8) return 0, mdecodeLen8Err("AnswerFetchTransactions.PackTid", l, 8)
} }
p.PackTid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.PackTid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.NextTid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerFetchTransactions.NextTid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerFetchTransactions.NextTid", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("AnswerFetchTransactions.NextTid", l, 8) return 0, mdecodeLen8Err("AnswerFetchTransactions.NextTid", l, 8)
} }
p.NextTid = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.NextTid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
{ {
data = data[20:]
l, tail, err := msgp.ReadArrayHeaderBytes(data) l, tail, err := msgp.ReadArrayHeaderBytes(data)
if err != nil { if err != nil {
return 0, mdecodeErr("AnswerFetchTransactions.TxnDeleteList", err) return 0, mdecodeErr("AnswerFetchTransactions.TxnDeleteList", err)
...@@ -11719,6 +12266,10 @@ func (p *AnswerFetchTransactions) neoMsgDecodeM(data []byte) (int, error) { ...@@ -11719,6 +12266,10 @@ func (p *AnswerFetchTransactions) neoMsgDecodeM(data []byte) (int, error) {
p.TxnDeleteList = make([]zodb.Tid, l) p.TxnDeleteList = make([]zodb.Tid, l)
for i := 0; uint32(i) < l; i++ { for i := 0; uint32(i) < l; i++ {
a := &p.TxnDeleteList[i] a := &p.TxnDeleteList[i]
if data[0] == byte(msgpack.Nil) {
(*a) = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerFetchTransactions", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerFetchTransactions", op, msgpack.Bin8)
} }
...@@ -11729,6 +12280,7 @@ func (p *AnswerFetchTransactions) neoMsgDecodeM(data []byte) (int, error) { ...@@ -11729,6 +12280,7 @@ func (p *AnswerFetchTransactions) neoMsgDecodeM(data []byte) (int, error) {
data = data[10:] data = data[10:]
} }
} }
}
return 21 + int(nread), nil return 21 + int(nread), nil
overflow: overflow:
...@@ -11967,6 +12519,10 @@ func (p *FetchObjects) neoMsgDecodeM(data []byte) (int, error) { ...@@ -11967,6 +12519,10 @@ func (p *FetchObjects) neoMsgDecodeM(data []byte) (int, error) {
if len(data) < 30 { if len(data) < 30 {
goto overflow goto overflow
} }
if data[0] == byte(msgpack.Nil) {
p.MinTid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("FetchObjects.MinTid", op, msgpack.Bin8) return 0, mdecodeOpErr("FetchObjects.MinTid", op, msgpack.Bin8)
} }
...@@ -11974,22 +12530,35 @@ func (p *FetchObjects) neoMsgDecodeM(data []byte) (int, error) { ...@@ -11974,22 +12530,35 @@ func (p *FetchObjects) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("FetchObjects.MinTid", l, 8) return 0, mdecodeLen8Err("FetchObjects.MinTid", l, 8)
} }
p.MinTid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.MinTid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.MaxTid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("FetchObjects.MaxTid", op, msgpack.Bin8) return 0, mdecodeOpErr("FetchObjects.MaxTid", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("FetchObjects.MaxTid", l, 8) return 0, mdecodeLen8Err("FetchObjects.MaxTid", l, 8)
} }
p.MaxTid = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.MaxTid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[20]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.MinOid = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("FetchObjects.MinOid", op, msgpack.Bin8) return 0, mdecodeOpErr("FetchObjects.MinOid", op, msgpack.Bin8)
} }
if l := data[21]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("FetchObjects.MinOid", l, 8) return 0, mdecodeLen8Err("FetchObjects.MinOid", l, 8)
} }
p.MinOid = zodb.Oid(binary.BigEndian.Uint64(data[22:])) p.MinOid = zodb.Oid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
{ {
data = data[30:]
l, tail, err := msgp.ReadMapHeaderBytes(data) l, tail, err := msgp.ReadMapHeaderBytes(data)
if err != nil { if err != nil {
return 0, mdecodeErr("FetchObjects.ObjKnownDict", err) return 0, mdecodeErr("FetchObjects.ObjKnownDict", err)
...@@ -12003,6 +12572,10 @@ func (p *FetchObjects) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12003,6 +12572,10 @@ func (p *FetchObjects) neoMsgDecodeM(data []byte) (int, error) {
goto overflow goto overflow
} }
var key zodb.Tid var key zodb.Tid
if data[0] == byte(msgpack.Nil) {
key = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("FetchObjects", op, msgpack.Bin8) return 0, mdecodeOpErr("FetchObjects", op, msgpack.Bin8)
} }
...@@ -12010,9 +12583,10 @@ func (p *FetchObjects) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12010,9 +12583,10 @@ func (p *FetchObjects) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("FetchObjects", l, 8) return 0, mdecodeLen8Err("FetchObjects", l, 8)
} }
key = zodb.Tid(binary.BigEndian.Uint64(data[2:])) key = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
var mv []zodb.Oid var mv []zodb.Oid
{ {
data = data[10:]
l, tail, err := msgp.ReadArrayHeaderBytes(data) l, tail, err := msgp.ReadArrayHeaderBytes(data)
if err != nil { if err != nil {
return 0, mdecodeErr("FetchObjects", err) return 0, mdecodeErr("FetchObjects", err)
...@@ -12026,6 +12600,10 @@ func (p *FetchObjects) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12026,6 +12600,10 @@ func (p *FetchObjects) neoMsgDecodeM(data []byte) (int, error) {
mv = make([]zodb.Oid, l) mv = make([]zodb.Oid, l)
for i := 0; uint32(i) < l; i++ { for i := 0; uint32(i) < l; i++ {
a := &mv[i] a := &mv[i]
if data[0] == byte(msgpack.Nil) {
(*a) = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("FetchObjects", op, msgpack.Bin8) return 0, mdecodeOpErr("FetchObjects", op, msgpack.Bin8)
} }
...@@ -12036,6 +12614,7 @@ func (p *FetchObjects) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12036,6 +12614,7 @@ func (p *FetchObjects) neoMsgDecodeM(data []byte) (int, error) {
data = data[10:] data = data[10:]
} }
} }
}
m[key] = mv m[key] = mv
} }
nread += uint64(l) * 10 nread += uint64(l) * 10
...@@ -12245,6 +12824,10 @@ func (p *AnswerFetchObjects) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12245,6 +12824,10 @@ func (p *AnswerFetchObjects) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.PackTid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerFetchObjects.PackTid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerFetchObjects.PackTid", op, msgpack.Bin8)
} }
...@@ -12252,22 +12835,35 @@ func (p *AnswerFetchObjects) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12252,22 +12835,35 @@ func (p *AnswerFetchObjects) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerFetchObjects.PackTid", l, 8) return 0, mdecodeLen8Err("AnswerFetchObjects.PackTid", l, 8)
} }
p.PackTid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.PackTid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.NextTid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerFetchObjects.NextTid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerFetchObjects.NextTid", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("AnswerFetchObjects.NextTid", l, 8) return 0, mdecodeLen8Err("AnswerFetchObjects.NextTid", l, 8)
} }
p.NextTid = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.NextTid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[20]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.NextOid = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerFetchObjects.NextOid", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerFetchObjects.NextOid", op, msgpack.Bin8)
} }
if l := data[21]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("AnswerFetchObjects.NextOid", l, 8) return 0, mdecodeLen8Err("AnswerFetchObjects.NextOid", l, 8)
} }
p.NextOid = zodb.Oid(binary.BigEndian.Uint64(data[22:])) p.NextOid = zodb.Oid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
{ {
data = data[30:]
l, tail, err := msgp.ReadMapHeaderBytes(data) l, tail, err := msgp.ReadMapHeaderBytes(data)
if err != nil { if err != nil {
return 0, mdecodeErr("AnswerFetchObjects.ObjDeleteDict", err) return 0, mdecodeErr("AnswerFetchObjects.ObjDeleteDict", err)
...@@ -12281,6 +12877,10 @@ func (p *AnswerFetchObjects) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12281,6 +12877,10 @@ func (p *AnswerFetchObjects) neoMsgDecodeM(data []byte) (int, error) {
goto overflow goto overflow
} }
var key zodb.Tid var key zodb.Tid
if data[0] == byte(msgpack.Nil) {
key = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerFetchObjects", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerFetchObjects", op, msgpack.Bin8)
} }
...@@ -12288,9 +12888,10 @@ func (p *AnswerFetchObjects) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12288,9 +12888,10 @@ func (p *AnswerFetchObjects) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AnswerFetchObjects", l, 8) return 0, mdecodeLen8Err("AnswerFetchObjects", l, 8)
} }
key = zodb.Tid(binary.BigEndian.Uint64(data[2:])) key = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
var mv []zodb.Oid var mv []zodb.Oid
{ {
data = data[10:]
l, tail, err := msgp.ReadArrayHeaderBytes(data) l, tail, err := msgp.ReadArrayHeaderBytes(data)
if err != nil { if err != nil {
return 0, mdecodeErr("AnswerFetchObjects", err) return 0, mdecodeErr("AnswerFetchObjects", err)
...@@ -12304,6 +12905,10 @@ func (p *AnswerFetchObjects) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12304,6 +12905,10 @@ func (p *AnswerFetchObjects) neoMsgDecodeM(data []byte) (int, error) {
mv = make([]zodb.Oid, l) mv = make([]zodb.Oid, l)
for i := 0; uint32(i) < l; i++ { for i := 0; uint32(i) < l; i++ {
a := &mv[i] a := &mv[i]
if data[0] == byte(msgpack.Nil) {
(*a) = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AnswerFetchObjects", op, msgpack.Bin8) return 0, mdecodeOpErr("AnswerFetchObjects", op, msgpack.Bin8)
} }
...@@ -12314,6 +12919,7 @@ func (p *AnswerFetchObjects) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12314,6 +12919,7 @@ func (p *AnswerFetchObjects) neoMsgDecodeM(data []byte) (int, error) {
data = data[10:] data = data[10:]
} }
} }
}
m[key] = mv m[key] = mv
} }
nread += uint64(l) * 10 nread += uint64(l) * 10
...@@ -12520,6 +13126,10 @@ func (p *AddTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12520,6 +13126,10 @@ func (p *AddTransaction) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AddTransaction.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("AddTransaction.Tid", op, msgpack.Bin8)
} }
...@@ -12528,6 +13138,7 @@ func (p *AddTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12528,6 +13138,7 @@ func (p *AddTransaction) neoMsgDecodeM(data []byte) (int, error) {
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:] data = data[10:]
}
{ {
b, tail, err := msgp.ReadBytesZC(data) b, tail, err := msgp.ReadBytesZC(data)
if err != nil { if err != nil {
...@@ -12568,6 +13179,10 @@ func (p *AddTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12568,6 +13179,10 @@ func (p *AddTransaction) neoMsgDecodeM(data []byte) (int, error) {
case msgpack.Nil: case msgpack.Nil:
p.Packed = false p.Packed = false
} }
if data[1] == byte(msgpack.Nil) {
p.TTid = zodb.Tid(18446744073709551615)
data = data[2:]
} else {
if op := msgpack.Op(data[1]); op != msgpack.Bin8 { if op := msgpack.Op(data[1]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AddTransaction.TTid", op, msgpack.Bin8) return 0, mdecodeOpErr("AddTransaction.TTid", op, msgpack.Bin8)
} }
...@@ -12575,8 +13190,9 @@ func (p *AddTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12575,8 +13190,9 @@ func (p *AddTransaction) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AddTransaction.TTid", l, 8) return 0, mdecodeLen8Err("AddTransaction.TTid", l, 8)
} }
p.TTid = zodb.Tid(binary.BigEndian.Uint64(data[3:])) p.TTid = zodb.Tid(binary.BigEndian.Uint64(data[3:]))
{
data = data[11:] data = data[11:]
}
{
l, tail, err := msgp.ReadArrayHeaderBytes(data) l, tail, err := msgp.ReadArrayHeaderBytes(data)
if err != nil { if err != nil {
return 0, mdecodeErr("AddTransaction.OidList", err) return 0, mdecodeErr("AddTransaction.OidList", err)
...@@ -12590,6 +13206,10 @@ func (p *AddTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12590,6 +13206,10 @@ func (p *AddTransaction) neoMsgDecodeM(data []byte) (int, error) {
p.OidList = make([]zodb.Oid, l) p.OidList = make([]zodb.Oid, l)
for i := 0; uint32(i) < l; i++ { for i := 0; uint32(i) < l; i++ {
a := &p.OidList[i] a := &p.OidList[i]
if data[0] == byte(msgpack.Nil) {
(*a) = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AddTransaction", op, msgpack.Bin8) return 0, mdecodeOpErr("AddTransaction", op, msgpack.Bin8)
} }
...@@ -12600,6 +13220,7 @@ func (p *AddTransaction) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12600,6 +13220,7 @@ func (p *AddTransaction) neoMsgDecodeM(data []byte) (int, error) {
data = data[10:] data = data[10:]
} }
} }
}
return 22 + int(nread), nil return 22 + int(nread), nil
overflow: overflow:
...@@ -12735,6 +13356,10 @@ func (p *AddObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12735,6 +13356,10 @@ func (p *AddObject) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Oid = zodb.Oid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AddObject.Oid", op, msgpack.Bin8) return 0, mdecodeOpErr("AddObject.Oid", op, msgpack.Bin8)
} }
...@@ -12742,14 +13367,22 @@ func (p *AddObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12742,14 +13367,22 @@ func (p *AddObject) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AddObject.Oid", l, 8) return 0, mdecodeLen8Err("AddObject.Oid", l, 8)
} }
p.Oid = zodb.Oid(binary.BigEndian.Uint64(data[2:])) p.Oid = zodb.Oid(binary.BigEndian.Uint64(data[2:]))
if op := msgpack.Op(data[10]); op != msgpack.Bin8 { data = data[10:]
}
if data[0] == byte(msgpack.Nil) {
p.Serial = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AddObject.Serial", op, msgpack.Bin8) return 0, mdecodeOpErr("AddObject.Serial", op, msgpack.Bin8)
} }
if l := data[11]; l != 8 { if l := data[1]; l != 8 {
return 0, mdecodeLen8Err("AddObject.Serial", l, 8) return 0, mdecodeLen8Err("AddObject.Serial", l, 8)
} }
p.Serial = zodb.Tid(binary.BigEndian.Uint64(data[12:])) p.Serial = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
switch op := msgpack.Op(data[20]); op { data = data[10:]
}
switch op := msgpack.Op(data[0]); op {
default: default:
return 0, mdecodeOpErr("AddObject.Compression", op, msgpack.True, msgpack.False) return 0, mdecodeOpErr("AddObject.Compression", op, msgpack.True, msgpack.False)
case msgpack.True: case msgpack.True:
...@@ -12759,14 +13392,14 @@ func (p *AddObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12759,14 +13392,14 @@ func (p *AddObject) neoMsgDecodeM(data []byte) (int, error) {
case msgpack.Nil: case msgpack.Nil:
p.Compression = false p.Compression = false
} }
if op := msgpack.Op(data[21]); op != msgpack.Bin8 { if op := msgpack.Op(data[1]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AddObject.Checksum", op, msgpack.Bin8) return 0, mdecodeOpErr("AddObject.Checksum", op, msgpack.Bin8)
} }
if l := data[22]; l != 20 { if l := data[2]; l != 20 {
return 0, mdecodeLen8Err("AddObject.Checksum", l, 20) return 0, mdecodeLen8Err("AddObject.Checksum", l, 20)
} }
copy(p.Checksum[:], data[23:43]) copy(p.Checksum[:], data[3:23])
data = data[43:] data = data[23:]
{ {
b, tail, err := msgp.ReadBytesZC(data) b, tail, err := msgp.ReadBytesZC(data)
if err != nil { if err != nil {
...@@ -12780,6 +13413,10 @@ func (p *AddObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12780,6 +13413,10 @@ func (p *AddObject) neoMsgDecodeM(data []byte) (int, error) {
if len(data) < 10 { if len(data) < 10 {
goto overflow goto overflow
} }
if data[0] == byte(msgpack.Nil) {
p.DataSerial = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("AddObject.DataSerial", op, msgpack.Bin8) return 0, mdecodeOpErr("AddObject.DataSerial", op, msgpack.Bin8)
} }
...@@ -12787,6 +13424,8 @@ func (p *AddObject) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12787,6 +13424,8 @@ func (p *AddObject) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("AddObject.DataSerial", l, 8) return 0, mdecodeLen8Err("AddObject.DataSerial", l, 8)
} }
p.DataSerial = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.DataSerial = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 54 + int(nread), nil return 54 + int(nread), nil
overflow: overflow:
...@@ -12855,6 +13494,10 @@ func (p *Truncate) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12855,6 +13494,10 @@ func (p *Truncate) neoMsgDecodeM(data []byte) (int, error) {
} }
data = tail data = tail
} }
if data[0] == byte(msgpack.Nil) {
p.Tid = zodb.Tid(18446744073709551615)
data = data[1:]
} else {
if op := msgpack.Op(data[0]); op != msgpack.Bin8 { if op := msgpack.Op(data[0]); op != msgpack.Bin8 {
return 0, mdecodeOpErr("Truncate.Tid", op, msgpack.Bin8) return 0, mdecodeOpErr("Truncate.Tid", op, msgpack.Bin8)
} }
...@@ -12862,6 +13505,8 @@ func (p *Truncate) neoMsgDecodeM(data []byte) (int, error) { ...@@ -12862,6 +13505,8 @@ func (p *Truncate) neoMsgDecodeM(data []byte) (int, error) {
return 0, mdecodeLen8Err("Truncate.Tid", l, 8) return 0, mdecodeLen8Err("Truncate.Tid", l, 8)
} }
p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:])) p.Tid = zodb.Tid(binary.BigEndian.Uint64(data[2:]))
data = data[10:]
}
return 11, nil return 11, nil
overflow: overflow:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment