Skip to content

Commit ee310de

Browse files
committed
1 parent ee429a3 commit ee310de

10 files changed

+61
-45
lines changed

client_tools.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ type IntKey struct {
88

99
func (k IntKey) EncodeMsgpack(enc *encoder) error {
1010
enc.EncodeArrayLen(1)
11-
enc.EncodeInt(k.I)
11+
encodeInt(enc, int64(k.I))
1212
return nil
1313
}
1414

@@ -20,7 +20,7 @@ type UintKey struct {
2020

2121
func (k UintKey) EncodeMsgpack(enc *encoder) error {
2222
enc.EncodeArrayLen(1)
23-
enc.EncodeUint(k.I)
23+
encodeUint(enc, uint64(k.I))
2424
return nil
2525
}
2626

@@ -44,8 +44,8 @@ type IntIntKey struct {
4444

4545
func (k IntIntKey) EncodeMsgpack(enc *encoder) error {
4646
enc.EncodeArrayLen(2)
47-
enc.EncodeInt(k.I1)
48-
enc.EncodeInt(k.I2)
47+
encodeInt(enc, int64(k.I1))
48+
encodeInt(enc, int64(k.I2))
4949
return nil
5050
}
5151

@@ -59,7 +59,7 @@ type Op struct {
5959
func (o Op) EncodeMsgpack(enc *encoder) error {
6060
enc.EncodeArrayLen(3)
6161
enc.EncodeString(o.Op)
62-
enc.EncodeInt(o.Field)
62+
encodeInt(enc, int64(o.Field))
6363
return enc.Encode(o.Arg)
6464
}
6565

@@ -147,9 +147,9 @@ type OpSplice struct {
147147
func (o OpSplice) EncodeMsgpack(enc *encoder) error {
148148
enc.EncodeArrayLen(5)
149149
enc.EncodeString(o.Op)
150-
enc.EncodeInt(o.Field)
151-
enc.EncodeInt(o.Pos)
152-
enc.EncodeInt(o.Len)
150+
encodeInt(enc, int64(o.Field))
151+
encodeInt(enc, int64(o.Pos))
152+
encodeInt(enc, int64(o.Len))
153153
enc.EncodeString(o.Replace)
154154
return nil
155155
}

datetime/datetime_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ func (c *Tuple2) EncodeMsgpack(e *encoder) error {
332332
if err := e.EncodeArrayLen(3); err != nil {
333333
return err
334334
}
335-
if err := e.EncodeUint(c.Cid); err != nil {
335+
if err := encodeUint(e, uint64(c.Cid)); err != nil {
336336
return err
337337
}
338338
if err := e.EncodeString(c.Orig); err != nil {

datetime/msgpack_helper_test.go

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ import (
77
type encoder = msgpack.Encoder
88
type decoder = msgpack.Decoder
99

10+
func encodeUint(e *encoder, v uint64) error {
11+
return e.EncodeUint(uint(v))
12+
}
13+
1014
func marshal(v interface{}) ([]byte, error) {
1115
return msgpack.Marshal(v)
1216
}

example_custom_unpacking_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ func (c *Tuple2) EncodeMsgpack(e *encoder) error {
2727
if err := e.EncodeArrayLen(3); err != nil {
2828
return err
2929
}
30-
if err := e.EncodeUint(c.Cid); err != nil {
30+
if err := encodeUint(e, uint64(c.Cid)); err != nil {
3131
return err
3232
}
3333
if err := e.EncodeString(c.Orig); err != nil {

msgpack.go

+8
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,14 @@ func newDecoder(r io.Reader) *decoder {
1818
return msgpack.NewDecoder(r)
1919
}
2020

21+
func encodeUint(e *encoder, v uint64) error {
22+
return e.EncodeUint(uint(v))
23+
}
24+
25+
func encodeInt(e *encoder, v int64) error {
26+
return e.EncodeInt(int(v))
27+
}
28+
2129
func msgpackIsUint(code byte) bool {
2230
return code == msgpcode.Uint8 || code == msgpcode.Uint16 ||
2331
code == msgpcode.Uint32 || code == msgpcode.Uint64 ||

msgpack_helper_test.go

+4
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,7 @@ import (
66

77
type encoder = msgpack.Encoder
88
type decoder = msgpack.Decoder
9+
10+
func encodeUint(e *encoder, v uint64) error {
11+
return e.EncodeUint(uint(v))
12+
}

prepared.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,21 @@ type Prepared struct {
2020

2121
func fillPrepare(enc *encoder, expr string) error {
2222
enc.EncodeMapLen(1)
23-
enc.EncodeUint(KeySQLText)
23+
encodeUint(enc, KeySQLText)
2424
return enc.EncodeString(expr)
2525
}
2626

2727
func fillUnprepare(enc *encoder, stmt Prepared) error {
2828
enc.EncodeMapLen(1)
29-
enc.EncodeUint(KeyStmtID)
30-
return enc.EncodeUint(uint(stmt.StatementID))
29+
encodeUint(enc, KeyStmtID)
30+
return encodeUint(enc, uint64(stmt.StatementID))
3131
}
3232

3333
func fillExecutePrepared(enc *encoder, stmt Prepared, args interface{}) error {
3434
enc.EncodeMapLen(2)
35-
enc.EncodeUint(KeyStmtID)
36-
enc.EncodeUint(uint(stmt.StatementID))
37-
enc.EncodeUint(KeySQLBind)
35+
encodeUint(enc, KeyStmtID)
36+
encodeUint(enc, uint64(stmt.StatementID))
37+
encodeUint(enc, KeySQLBind)
3838
return encodeSQLBind(enc, args)
3939
}
4040

request.go

+25-25
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,28 @@ import (
99
)
1010

1111
func fillSearch(enc *encoder, spaceNo, indexNo uint32, key interface{}) error {
12-
enc.EncodeUint(KeySpaceNo)
13-
enc.EncodeUint(uint(spaceNo))
14-
enc.EncodeUint(KeyIndexNo)
15-
enc.EncodeUint(uint(indexNo))
16-
enc.EncodeUint(KeyKey)
12+
encodeUint(enc, KeySpaceNo)
13+
encodeUint(enc, uint64(spaceNo))
14+
encodeUint(enc, KeyIndexNo)
15+
encodeUint(enc, uint64(indexNo))
16+
encodeUint(enc, KeyKey)
1717
return enc.Encode(key)
1818
}
1919

2020
func fillIterator(enc *encoder, offset, limit, iterator uint32) {
21-
enc.EncodeUint(KeyIterator)
22-
enc.EncodeUint(uint(iterator))
23-
enc.EncodeUint(KeyOffset)
24-
enc.EncodeUint(uint(offset))
25-
enc.EncodeUint(KeyLimit)
26-
enc.EncodeUint(uint(limit))
21+
encodeUint(enc, KeyIterator)
22+
encodeUint(enc, uint64(iterator))
23+
encodeUint(enc, KeyOffset)
24+
encodeUint(enc, uint64(offset))
25+
encodeUint(enc, KeyLimit)
26+
encodeUint(enc, uint64(limit))
2727
}
2828

2929
func fillInsert(enc *encoder, spaceNo uint32, tuple interface{}) error {
3030
enc.EncodeMapLen(2)
31-
enc.EncodeUint(KeySpaceNo)
32-
enc.EncodeUint(uint(spaceNo))
33-
enc.EncodeUint(KeyTuple)
31+
encodeUint(enc, KeySpaceNo)
32+
encodeUint(enc, uint64(spaceNo))
33+
encodeUint(enc, KeyTuple)
3434
return enc.Encode(tuple)
3535
}
3636

@@ -45,19 +45,19 @@ func fillUpdate(enc *encoder, spaceNo, indexNo uint32, key, ops interface{}) err
4545
if err := fillSearch(enc, spaceNo, indexNo, key); err != nil {
4646
return err
4747
}
48-
enc.EncodeUint(KeyTuple)
48+
encodeUint(enc, KeyTuple)
4949
return enc.Encode(ops)
5050
}
5151

5252
func fillUpsert(enc *encoder, spaceNo uint32, tuple, ops interface{}) error {
5353
enc.EncodeMapLen(3)
54-
enc.EncodeUint(KeySpaceNo)
55-
enc.EncodeUint(uint(spaceNo))
56-
enc.EncodeUint(KeyTuple)
54+
encodeUint(enc, KeySpaceNo)
55+
encodeUint(enc, uint64(spaceNo))
56+
encodeUint(enc, KeyTuple)
5757
if err := enc.Encode(tuple); err != nil {
5858
return err
5959
}
60-
enc.EncodeUint(KeyDefTuple)
60+
encodeUint(enc, KeyDefTuple)
6161
return enc.Encode(ops)
6262
}
6363

@@ -68,25 +68,25 @@ func fillDelete(enc *encoder, spaceNo, indexNo uint32, key interface{}) error {
6868

6969
func fillCall(enc *encoder, functionName string, args interface{}) error {
7070
enc.EncodeMapLen(2)
71-
enc.EncodeUint(KeyFunctionName)
71+
encodeUint(enc, KeyFunctionName)
7272
enc.EncodeString(functionName)
73-
enc.EncodeUint(KeyTuple)
73+
encodeUint(enc, KeyTuple)
7474
return enc.Encode(args)
7575
}
7676

7777
func fillEval(enc *encoder, expr string, args interface{}) error {
7878
enc.EncodeMapLen(2)
79-
enc.EncodeUint(KeyExpression)
79+
encodeUint(enc, KeyExpression)
8080
enc.EncodeString(expr)
81-
enc.EncodeUint(KeyTuple)
81+
encodeUint(enc, KeyTuple)
8282
return enc.Encode(args)
8383
}
8484

8585
func fillExecute(enc *encoder, expr string, args interface{}) error {
8686
enc.EncodeMapLen(2)
87-
enc.EncodeUint(KeySQLText)
87+
encodeUint(enc, KeySQLText)
8888
enc.EncodeString(expr)
89-
enc.EncodeUint(KeySQLBind)
89+
encodeUint(enc, KeySQLBind)
9090
return encodeSQLBind(enc, args)
9191
}
9292

stream.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func fillBegin(enc *encoder, txnIsolation TxnIsolationLevel, timeout time.Durati
4444
}
4545

4646
if hasTimeout {
47-
err = enc.EncodeUint(KeyTimeout)
47+
err = encodeUint(enc, KeyTimeout)
4848
if err != nil {
4949
return err
5050
}
@@ -56,12 +56,12 @@ func fillBegin(enc *encoder, txnIsolation TxnIsolationLevel, timeout time.Durati
5656
}
5757

5858
if hasIsolationLevel {
59-
err = enc.EncodeUint(KeyTxnIsolation)
59+
err = encodeUint(enc, KeyTxnIsolation)
6060
if err != nil {
6161
return err
6262
}
6363

64-
err = enc.Encode(txnIsolation)
64+
err = encodeUint(enc, uint64(txnIsolation))
6565
if err != nil {
6666
return err
6767
}

tarantool_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func (m *Member) EncodeMsgpack(e *encoder) error {
3232
if err := e.EncodeString(m.Name); err != nil {
3333
return err
3434
}
35-
if err := e.EncodeUint(m.Val); err != nil {
35+
if err := encodeUint(e, uint64(m.Val)); err != nil {
3636
return err
3737
}
3838
return nil

0 commit comments

Comments
 (0)