diff options
author | mattn <mattn.jp@gmail.com> | 2019-02-11 11:20:17 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-11 11:20:17 +0900 |
commit | 58039ab376ca63abd958125bf89855c6bff09cc1 (patch) | |
tree | 529e4efe0121f9d581ffe39d1ff06016ab4e103e | |
parent | Merge pull request #679 from pocke/an-a (diff) | |
parent | Print type of result (diff) | |
download | golite-58039ab376ca63abd958125bf89855c6bff09cc1.tar.gz golite-58039ab376ca63abd958125bf89855c6bff09cc1.tar.xz |
Merge pull request #692 from mattn/fix-688
Fix 688
-rw-r--r-- | sqlite3.go | 3 | ||||
-rw-r--r-- | sqlite3_test.go | 20 |
2 files changed, 21 insertions, 2 deletions
@@ -2062,9 +2062,8 @@ func (rc *SQLiteRows) Next(dest []driver.Value) error { } dest[i] = t default: - dest[i] = []byte(s) + dest[i] = s } - } } return nil diff --git a/sqlite3_test.go b/sqlite3_test.go index 16bbb10..3ef8533 100644 --- a/sqlite3_test.go +++ b/sqlite3_test.go @@ -1670,6 +1670,26 @@ func TestAuthorizer(t *testing.T) { } } +func TestNonColumnString(t *testing.T) { + db, err := sql.Open("sqlite3", ":memory:") + if err != nil { + t.Fatal(err) + } + defer db.Close() + + var x interface{} + if err := db.QueryRow("SELECT 'hello'").Scan(&x); err != nil { + t.Fatal(err) + } + s, ok := x.(string) + if !ok { + t.Fatalf("non-column string must return string but got %T", x) + } + if s != "hello" { + t.Fatalf("non-column string must return %q but got %q", "hello", s) + } +} + func TestNilAndEmptyBytes(t *testing.T) { db, err := sql.Open("sqlite3", ":memory:") if err != nil { |