aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormattn <mattn.jp@gmail.com>2019-02-11 11:20:17 +0900
committerGitHub <noreply@github.com>2019-02-11 11:20:17 +0900
commit58039ab376ca63abd958125bf89855c6bff09cc1 (patch)
tree529e4efe0121f9d581ffe39d1ff06016ab4e103e
parentMerge pull request #679 from pocke/an-a (diff)
parentPrint type of result (diff)
downloadgolite-58039ab376ca63abd958125bf89855c6bff09cc1.tar.gz
golite-58039ab376ca63abd958125bf89855c6bff09cc1.tar.xz
Merge pull request #692 from mattn/fix-688
Fix 688
-rw-r--r--sqlite3.go3
-rw-r--r--sqlite3_test.go20
2 files changed, 21 insertions, 2 deletions
diff --git a/sqlite3.go b/sqlite3.go
index f731d20..1cf9451 100644
--- a/sqlite3.go
+++ b/sqlite3.go
@@ -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 {