Skip to content

Commit 6295c96

Browse files
authored
catch errors from mysql (#113)
1 parent 6997a71 commit 6295c96

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

backend/direct_connection.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,10 @@ func (dc *DirectConnection) FieldList(table string, wildcard string) ([]*mysql.F
551551
return fs, nil
552552
}
553553

554+
if data[0] == mysql.ErrHeader {
555+
return nil, dc.handleErrorPacket(data)
556+
}
557+
554558
if f, err = mysql.FieldData(data).Parse(); err != nil {
555559
return nil, err
556560
}
@@ -626,6 +630,10 @@ func (dc *DirectConnection) readResultColumns(result *mysql.Result) (err error)
626630
return
627631
}
628632

633+
if data[0] == mysql.ErrHeader {
634+
return dc.handleErrorPacket(data)
635+
}
636+
629637
result.Fields[i], err = mysql.FieldData(data).Parse()
630638
if err != nil {
631639
return
@@ -643,7 +651,6 @@ func (dc *DirectConnection) readResultRows(result *mysql.Result, isBinary bool)
643651

644652
for {
645653
data, err = dc.readPacket()
646-
647654
if err != nil {
648655
return
649656
}
@@ -660,6 +667,10 @@ func (dc *DirectConnection) readResultRows(result *mysql.Result, isBinary bool)
660667
break
661668
}
662669

670+
if data[0] == mysql.ErrHeader {
671+
return dc.handleErrorPacket(data)
672+
}
673+
663674
result.RowDatas = append(result.RowDatas, data)
664675
}
665676

0 commit comments

Comments
 (0)