From 0cbf3b6f9e1cb90a9bf4379feb20d21944c69472 Mon Sep 17 00:00:00 2001 From: Jack Christensen Date: Sat, 6 Apr 2013 16:39:20 -0400 Subject: [PATCH] Factor out sendSimpleQuery --- conn.go | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/conn.go b/conn.go index 04b26e35..aa262e69 100644 --- a/conn.go +++ b/conn.go @@ -63,16 +63,8 @@ func (c *conn) Close() (err error) { } func (c *conn) Query(sql string) (rows []map[string]string, err error) { - bufSize := 5 + len(sql) + 1 // message identifier (1), message size (4), null string terminator (1) - buf := c.getBuf(bufSize) - buf[0] = 'Q' - binary.BigEndian.PutUint32(buf[1:5], uint32(bufSize-1)) - copy(buf[5:], sql) - buf[bufSize-1] = 0 - - _, err = c.conn.Write(buf) - if err != nil { - return nil, err + if err = c.sendSimpleQuery(sql); err != nil { + return } var response interface{} @@ -91,6 +83,18 @@ func (c *conn) Query(sql string) (rows []map[string]string, err error) { return nil, err } +func (c *conn) sendSimpleQuery(sql string) (err error) { + bufSize := 5 + len(sql) + 1 // message identifier (1), message size (4), null string terminator (1) + buf := c.getBuf(bufSize) + buf[0] = 'Q' + binary.BigEndian.PutUint32(buf[1:5], uint32(bufSize-1)) + copy(buf[5:], sql) + buf[bufSize-1] = 0 + + _, err = c.conn.Write(buf) + return err +} + func (c *conn) rxMsg() (msg interface{}, err error) { var t byte var bodySize int32