Skip to content

Commit f41250e

Browse files
committed
append LengthEncodedInteger directly to slice
1 parent c87f84b commit f41250e

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

packets.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -918,8 +918,8 @@ func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error {
918918
paramTypes[i+i+1] = 0x00
919919

920920
if len(v) < mc.maxPacketAllowed-pos-len(paramValues)-(len(args)-(i+1))*64 {
921-
paramValues = append(paramValues,
922-
lengthEncodedIntegerToBytes(uint64(len(v)))...,
921+
paramValues = appendLengthEncodedInteger(paramValues,
922+
uint64(len(v)),
923923
)
924924
paramValues = append(paramValues, v...)
925925
} else {
@@ -933,8 +933,8 @@ func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error {
933933
paramTypes[i+i+1] = 0x00
934934

935935
if len(v) < mc.maxPacketAllowed-pos-len(paramValues)-(len(args)-(i+1))*64 {
936-
paramValues = append(paramValues,
937-
lengthEncodedIntegerToBytes(uint64(len(v)))...,
936+
paramValues = appendLengthEncodedInteger(paramValues,
937+
uint64(len(v)),
938938
)
939939
paramValues = append(paramValues, v...)
940940
} else {
@@ -954,8 +954,8 @@ func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error {
954954
val = []byte(v.In(mc.cfg.loc).Format(timeFormat))
955955
}
956956

957-
paramValues = append(paramValues,
958-
lengthEncodedIntegerToBytes(uint64(len(val)))...,
957+
paramValues = appendLengthEncodedInteger(paramValues,
958+
uint64(len(val)),
959959
)
960960
paramValues = append(paramValues, val...)
961961

utils.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -668,16 +668,16 @@ func readLengthEncodedInteger(b []byte) (num uint64, isNull bool, n int) {
668668
return
669669
}
670670

671-
func lengthEncodedIntegerToBytes(n uint64) []byte {
671+
func appendLengthEncodedInteger(b []byte, n uint64) []byte {
672672
switch {
673673
case n <= 250:
674-
return []byte{byte(n)}
674+
return append(b, byte(n))
675675

676676
case n <= 0xffff:
677-
return []byte{0xfc, byte(n), byte(n >> 8)}
677+
return append(b, 0xfc, byte(n), byte(n>>8))
678678

679679
case n <= 0xffffff:
680-
return []byte{0xfd, byte(n), byte(n >> 8), byte(n >> 16)}
680+
return append(b, 0xfd, byte(n), byte(n>>8), byte(n>>16))
681681
}
682-
return nil
682+
return b
683683
}

0 commit comments

Comments
 (0)