From e65c30bea69ab0a5286444dd7dcb1508650b0dce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E9=BB=91?= <zhangshuai@sudoprivacy.com> Date: Fri, 26 Aug 2022 12:53:34 +0800 Subject: [PATCH 1/3] fix: fix client field list --- client/conn.go | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/client/conn.go b/client/conn.go index bcbb6f58c..5b65af892 100644 --- a/client/conn.go +++ b/client/conn.go @@ -328,22 +328,19 @@ func (c *Conn) FieldList(table string, wildcard string) ([]*Field, error) { return nil, errors.Trace(err) } - data, err := c.ReadPacket() - if err != nil { - return nil, errors.Trace(err) - } - fs := make([]*Field, 0, 4) var f *Field - if data[0] == ERR_HEADER { - return nil, c.handleErrorPacket(data) - } - for { - if data, err = c.ReadPacket(); err != nil { + data, err := c.ReadPacket() + if err != nil { return nil, errors.Trace(err) } + // ERR Packet + if data[0] == ERR_HEADER { + return nil, c.handleErrorPacket(data) + } + // EOF Packet if c.isEOFPacket(data) { return fs, nil From 0698778ae87d39a041c708a9e273e128ead011d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E9=BB=91?= <zhangshuai@sudoprivacy.com> Date: Fri, 26 Aug 2022 13:22:44 +0800 Subject: [PATCH 2/3] fix: fix client field list --- client/conn_test.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/client/conn_test.go b/client/conn_test.go index 338bb6ae3..f09c989a0 100644 --- a/client/conn_test.go +++ b/client/conn_test.go @@ -82,6 +82,12 @@ func (s *connTestSuite) testExecute_DropTable(c *C) { c.Assert(err, IsNil) } +func (s *clientTestSuite) TestFieldList(c *C) { + fields, err := s.c.FieldList(testExecuteSelectStreamingTablename, "") + c.Assert(err, IsNil) + c.Assert(fields, HasLen, 2) +} + func (s *connTestSuite) TestExecuteMultiple(c *C) { queries := []string{ `INSERT INTO ` + testExecuteSelectStreamingTablename + ` (id, str) VALUES (999, "executemultiple")`, From 18d47cdb8e7e43a99d405dc7d9fd74b2da987950 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E9=BB=91?= <zhangshuai@sudoprivacy.com> Date: Fri, 26 Aug 2022 13:34:51 +0800 Subject: [PATCH 3/3] fix: fix client field list --- client/conn_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/conn_test.go b/client/conn_test.go index f09c989a0..e6979cea8 100644 --- a/client/conn_test.go +++ b/client/conn_test.go @@ -82,7 +82,7 @@ func (s *connTestSuite) testExecute_DropTable(c *C) { c.Assert(err, IsNil) } -func (s *clientTestSuite) TestFieldList(c *C) { +func (s *connTestSuite) TestFieldList(c *C) { fields, err := s.c.FieldList(testExecuteSelectStreamingTablename, "") c.Assert(err, IsNil) c.Assert(fields, HasLen, 2)