From bf0891db7d4339730ddaf1cd08ff2a60f68c994f Mon Sep 17 00:00:00 2001 From: Jack Christensen Date: Mon, 8 Apr 2013 21:28:44 -0500 Subject: [PATCH] Added basic Query functionality --- conn.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/conn.go b/conn.go index 2a3e3fd1..82e8c5f5 100644 --- a/conn.go +++ b/conn.go @@ -77,17 +77,18 @@ func (c *conn) Query(sql string) (rows []map[string]string, err error) { } var fields []fieldDescription + rows = make([]map[string]string, 0) for { var t byte var r *messageReader if t, r, err = c.rxMsg(); err == nil { switch t { case readyForQuery: - return nil, nil + return rows, nil case rowDescription: fields = c.rxRowDescription(r) case dataRow: - c.rxDataRow(r, fields) + rows = append(rows, c.rxDataRow(r, fields)) case commandComplete: c.rxCommandComplete(r) default: @@ -206,7 +207,7 @@ func (c *conn) rxRowDescription(r *messageReader) (fields []fieldDescription) { return } -func (c *conn) rxDataRow(r *messageReader, fields []fieldDescription) (row map[string]string, err error) { +func (c *conn) rxDataRow(r *messageReader, fields []fieldDescription) (row map[string]string) { fieldCount := r.readInt16() row = make(map[string]string, fieldCount)