Skip to content

Commit 1c55c36

Browse files
authored
Merge pull request #726 from black-06/fix_field_list
fix: fix client field list
2 parents 8649474 + 18d47cd commit 1c55c36

File tree

2 files changed

+13
-10
lines changed

2 files changed

+13
-10
lines changed

client/conn.go

+7-10
Original file line numberDiff line numberDiff line change
@@ -328,22 +328,19 @@ func (c *Conn) FieldList(table string, wildcard string) ([]*Field, error) {
328328
return nil, errors.Trace(err)
329329
}
330330

331-
data, err := c.ReadPacket()
332-
if err != nil {
333-
return nil, errors.Trace(err)
334-
}
335-
336331
fs := make([]*Field, 0, 4)
337332
var f *Field
338-
if data[0] == ERR_HEADER {
339-
return nil, c.handleErrorPacket(data)
340-
}
341-
342333
for {
343-
if data, err = c.ReadPacket(); err != nil {
334+
data, err := c.ReadPacket()
335+
if err != nil {
344336
return nil, errors.Trace(err)
345337
}
346338

339+
// ERR Packet
340+
if data[0] == ERR_HEADER {
341+
return nil, c.handleErrorPacket(data)
342+
}
343+
347344
// EOF Packet
348345
if c.isEOFPacket(data) {
349346
return fs, nil

client/conn_test.go

+6
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,12 @@ func (s *connTestSuite) testExecute_DropTable(c *C) {
8282
c.Assert(err, IsNil)
8383
}
8484

85+
func (s *connTestSuite) TestFieldList(c *C) {
86+
fields, err := s.c.FieldList(testExecuteSelectStreamingTablename, "")
87+
c.Assert(err, IsNil)
88+
c.Assert(fields, HasLen, 2)
89+
}
90+
8591
func (s *connTestSuite) TestExecuteMultiple(c *C) {
8692
queries := []string{
8793
`INSERT INTO ` + testExecuteSelectStreamingTablename + ` (id, str) VALUES (999, "executemultiple")`,

0 commit comments

Comments
 (0)