From 760740f653af1c3b8be8dbbed72b08727ed276bd Mon Sep 17 00:00:00 2001 From: Jack Yu Date: Mon, 27 Aug 2018 13:53:28 +0800 Subject: [PATCH] server: fix ComStmtSendLongData when data length is 0 (#7485) (cherry picked from commit 09fb68ae3bd5d93f5d8c2c4d3efc50575769338c) --- server/driver_tidb.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server/driver_tidb.go b/server/driver_tidb.go index 016561b2b18cd..7ad9a5b52d681 100644 --- a/server/driver_tidb.go +++ b/server/driver_tidb.go @@ -83,7 +83,12 @@ func (ts *TiDBStatement) AppendParam(paramID int, data []byte) error { if paramID >= len(ts.boundParams) { return mysql.NewErr(mysql.ErrWrongArguments, "stmt_send_longdata") } - ts.boundParams[paramID] = append(ts.boundParams[paramID], data...) + // If len(data) is 0, append an empty byte slice to the end to distinguish no data and no parameter. + if len(data) == 0 { + ts.boundParams[paramID] = []byte{} + } else { + ts.boundParams[paramID] = append(ts.boundParams[paramID], data...) + } return nil }