Преглед на файлове

Don't send text query larger than maxPacketAllowed

INADA Naoki преди 11 години
родител
ревизия
cac6129f8a
променени са 1 файла, в които са добавени 7 реда и са изтрити 0 реда
  1. 7 0
      connection.go

+ 7 - 0
connection.go

@@ -265,6 +265,13 @@ func (mc *mysqlConn) buildQuery(query string, args []driver.Value) (string, erro
 			return "", driver.ErrSkip
 		}
 	}
+	pktSize := len(query) + 4 // 4 bytes for header.
+	for _, p := range parts {
+		pktSize += len(p)
+	}
+	if pktSize > mc.maxPacketAllowed {
+		return "", driver.ErrSkip
+	}
 	return strings.Join(parts, ""), nil
 }