aboutsummaryrefslogtreecommitdiff
path: root/sqlite3_go18.go
diff options
context:
space:
mode:
authorPhilip O'Toole <philip.otoole@yahoo.com>2017-06-17 12:02:47 -0700
committerGitHub <noreply@github.com>2017-06-17 12:02:47 -0700
commitb951516ea086ff8c8a97eff7a59f2b95458b0a1c (patch)
tree035930342ee0510d83ab8ee47e4068bdc50247c3 /sqlite3_go18.go
parentMerge pull request #1 from mattn/master (diff)
parentMerge pull request #425 from xxr3376/empty-bytes (diff)
downloadgolite-b951516ea086ff8c8a97eff7a59f2b95458b0a1c.tar.gz
golite-b951516ea086ff8c8a97eff7a59f2b95458b0a1c.tar.xz
Merge pull request #2 from mattn/master
Merge upstream
Diffstat (limited to 'sqlite3_go18.go')
-rw-r--r--sqlite3_go18.go69
1 files changed, 69 insertions, 0 deletions
diff --git a/sqlite3_go18.go b/sqlite3_go18.go
new file mode 100644
index 0000000..f9e08e1
--- /dev/null
+++ b/sqlite3_go18.go
@@ -0,0 +1,69 @@
+// Copyright (C) 2014 Yasuhiro Matsumoto <mattn.jp@gmail.com>.
+//
+// Use of this source code is governed by an MIT-style
+// license that can be found in the LICENSE file.
+
+// +build go1.8
+
+package sqlite3
+
+import (
+ "database/sql/driver"
+ "errors"
+
+ "context"
+)
+
+// Ping implement Pinger.
+func (c *SQLiteConn) Ping(ctx context.Context) error {
+ if c.db == nil {
+ return errors.New("Connection was closed")
+ }
+ return nil
+}
+
+// QueryContext implement QueryerContext.
+func (c *SQLiteConn) QueryContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Rows, error) {
+ list := make([]namedValue, len(args))
+ for i, nv := range args {
+ list[i] = namedValue(nv)
+ }
+ return c.query(ctx, query, list)
+}
+
+// ExecContext implement ExecerContext.
+func (c *SQLiteConn) ExecContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Result, error) {
+ list := make([]namedValue, len(args))
+ for i, nv := range args {
+ list[i] = namedValue(nv)
+ }
+ return c.exec(ctx, query, list)
+}
+
+// PrepareContext implement ConnPrepareContext.
+func (c *SQLiteConn) PrepareContext(ctx context.Context, query string) (driver.Stmt, error) {
+ return c.prepare(ctx, query)
+}
+
+// BeginTx implement ConnBeginTx.
+func (c *SQLiteConn) BeginTx(ctx context.Context, opts driver.TxOptions) (driver.Tx, error) {
+ return c.begin(ctx)
+}
+
+// QueryContext implement QueryerContext.
+func (s *SQLiteStmt) QueryContext(ctx context.Context, args []driver.NamedValue) (driver.Rows, error) {
+ list := make([]namedValue, len(args))
+ for i, nv := range args {
+ list[i] = namedValue(nv)
+ }
+ return s.query(ctx, list)
+}
+
+// ExecContext implement ExecerContext.
+func (s *SQLiteStmt) ExecContext(ctx context.Context, args []driver.NamedValue) (driver.Result, error) {
+ list := make([]namedValue, len(args))
+ for i, nv := range args {
+ list[i] = namedValue(nv)
+ }
+ return s.exec(ctx, list)
+}