diff options
author | Alexander Menzhinsky <amenzhinsky@gmail.com> | 2017-05-04 08:40:23 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-04 08:40:23 +0300 |
commit | 37aeabae04ba101d231f266cf1457fb56f301718 (patch) | |
tree | b6a1b4349080e300d4c201fc45d1ad3663b2cf58 /sqlite_go18_test.go | |
parent | ced002fb38484376c1bc85a2cf1911e2a1aebaef (diff) | |
parent | a0ae409cb1d614ceeefe7c7fbed576e332fba262 (diff) |
Merge pull request #8 from amenzhinsky/named-parameters
Add named parameters support and initial context support
Diffstat (limited to 'sqlite_go18_test.go')
-rw-r--r-- | sqlite_go18_test.go | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/sqlite_go18_test.go b/sqlite_go18_test.go new file mode 100644 index 0000000..d558488 --- /dev/null +++ b/sqlite_go18_test.go @@ -0,0 +1,48 @@ +// Copyright 2017 The Sqlite Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//+build go1.8 + +package sqlite + +import ( + "database/sql" + "os" + "reflect" + "testing" +) + +func TestNamedParameters(t *testing.T) { + dir, db := tempDB(t) + defer func() { + db.Close() + os.RemoveAll(dir) + }() + + _, err := db.Exec(` + create table t(s1 varchar(32), s2 varchar(32), s3 varchar(32), s4 varchar(32)); + insert into t values(?, @aa, $aa, @bb); + `, "1", sql.Named("aa", "one"), sql.Named("bb", "two")) + + if err != nil { + t.Fatal(err) + } + + rows, err := db.Query("select * from t") + if err != nil { + t.Fatal(err) + } + + rec := make([]string, 4) + for rows.Next() { + if err := rows.Scan(&rec[0], &rec[1], &rec[2], &rec[3]); err != nil { + t.Fatal(err) + } + } + + w := []string{"1", "one", "one", "two"} + if !reflect.DeepEqual(rec, w) { + t.Fatal(rec, w) + } +} |