diff --git a/client/auth.go b/client/auth.go
index e9c25e78b..e4fa908d3 100644
--- a/client/auth.go
+++ b/client/auth.go
@@ -202,7 +202,8 @@ func (c *Conn) writeAuthHandshake() error {
 	capability |= c.ccaps&CLIENT_FOUND_ROWS | c.ccaps&CLIENT_IGNORE_SPACE |
 		c.ccaps&CLIENT_MULTI_STATEMENTS | c.ccaps&CLIENT_MULTI_RESULTS |
 		c.ccaps&CLIENT_PS_MULTI_RESULTS | c.ccaps&CLIENT_CONNECT_ATTRS |
-		c.ccaps&CLIENT_COMPRESS | c.ccaps&CLIENT_ZSTD_COMPRESSION_ALGORITHM
+		c.ccaps&CLIENT_COMPRESS | c.ccaps&CLIENT_ZSTD_COMPRESSION_ALGORITHM |
+		c.ccaps&CLIENT_LOCAL_FILES
 
 	// To enable TLS / SSL
 	if c.tlsConfig != nil {
diff --git a/client/resp.go b/client/resp.go
index dfdfea3b7..ad72deff6 100644
--- a/client/resp.go
+++ b/client/resp.go
@@ -344,7 +344,7 @@ func (c *Conn) readResultColumns(result *Result) (err error) {
 		rawPkgLen := len(result.RawPkg)
 		result.RawPkg, err = c.ReadPacketReuseMem(result.RawPkg)
 		if err != nil {
-			return
+			return err
 		}
 		data = result.RawPkg[rawPkgLen:]
 
@@ -361,7 +361,7 @@ func (c *Conn) readResultColumns(result *Result) (err error) {
 				err = ErrMalformPacket
 			}
 
-			return
+			return err
 		}
 
 		if result.Fields[i] == nil {
@@ -369,7 +369,7 @@ func (c *Conn) readResultColumns(result *Result) (err error) {
 		}
 		err = result.Fields[i].Parse(data)
 		if err != nil {
-			return
+			return err
 		}
 
 		result.FieldNames[hack.String(result.Fields[i].Name)] = i
@@ -385,7 +385,7 @@ func (c *Conn) readResultRows(result *Result, isBinary bool) (err error) {
 		rawPkgLen := len(result.RawPkg)
 		result.RawPkg, err = c.ReadPacketReuseMem(result.RawPkg)
 		if err != nil {
-			return
+			return err
 		}
 		data = result.RawPkg[rawPkgLen:]
 
@@ -434,7 +434,7 @@ func (c *Conn) readResultRowsStreaming(result *Result, isBinary bool, perRowCb S
 	for {
 		data, err = c.ReadPacketReuseMem(data[:0])
 		if err != nil {
-			return
+			return err
 		}
 
 		// EOF Packet
diff --git a/mysql/field.go b/mysql/field.go
index 7ffce4004..9504e931b 100644
--- a/mysql/field.go
+++ b/mysql/field.go
@@ -49,42 +49,42 @@ func (f *Field) Parse(p FieldData) (err error) {
 	//skip catelog, always def
 	n, err = SkipLengthEncodedString(p)
 	if err != nil {
-		return
+		return err
 	}
 	pos += n
 
 	//schema
 	f.Schema, _, n, err = LengthEncodedString(p[pos:])
 	if err != nil {
-		return
+		return err
 	}
 	pos += n
 
 	//table
 	f.Table, _, n, err = LengthEncodedString(p[pos:])
 	if err != nil {
-		return
+		return err
 	}
 	pos += n
 
 	//org_table
 	f.OrgTable, _, n, err = LengthEncodedString(p[pos:])
 	if err != nil {
-		return
+		return err
 	}
 	pos += n
 
 	//name
 	f.Name, _, n, err = LengthEncodedString(p[pos:])
 	if err != nil {
-		return
+		return err
 	}
 	pos += n
 
 	//org_name
 	f.OrgName, _, n, err = LengthEncodedString(p[pos:])
 	if err != nil {
-		return
+		return err
 	}
 	pos += n
 
@@ -123,7 +123,7 @@ func (f *Field) Parse(p FieldData) (err error) {
 
 		if pos+int(f.DefaultValueLength) > len(p) {
 			err = ErrMalformPacket
-			return
+			return err
 		}
 
 		//default value string[$len]