From 71b6537086686a3e1d731e11570ccbaadeea6d40 Mon Sep 17 00:00:00 2001 From: Jon Caldwell Date: Fri, 16 Nov 2018 17:18:26 -0800 Subject: [PATCH] Add LazyQuotes for groupArray --- rows.go | 1 + rows_test.go | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/rows.go b/rows.go index ead340b..dc08cfd 100644 --- a/rows.go +++ b/rows.go @@ -11,6 +11,7 @@ import ( func newTextRows(c *conn, body io.ReadCloser, location *time.Location, useDBLocation bool) (*textRows, error) { tsvReader := csv.NewReader(body) tsvReader.Comma = '\t' + tsvReader.LazyQuotes = true columns, err := tsvReader.Read() if err != nil { diff --git a/rows_test.go b/rows_test.go index dccd924..2d24bec 100644 --- a/rows_test.go +++ b/rows_test.go @@ -53,3 +53,18 @@ func TestTextRows(t *testing.T) { assert.NoError(t, rows.Close()) assert.Empty(t, data) } + +func TestTextRowsQuoted(t *testing.T) { + buf := bytes.NewReader([]byte("text\nArray(String)\n['Quote: \"here\"']")) + rows, err := newTextRows(&conn{}, &bufReadCloser{buf}, time.Local, false) + if !assert.NoError(t, err) { + return + } + assert.Equal(t, []string{"text"}, rows.Columns()) + assert.Equal(t, []string{"Array(String)"}, rows.types) + dest := make([]driver.Value, 1) + if !assert.NoError(t, rows.Next(dest)) { + return + } + assert.Equal(t, []driver.Value{[]string{"Quote: \"here\""}}, dest) +}