From 09fb68ae3bd5d93f5d8c2c4d3efc50575769338c 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) --- 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 0967ca5eebc04..739e253e7422e 100644 --- a/server/driver_tidb.go +++ b/server/driver_tidb.go @@ -85,7 +85,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 }