diff options
author | Philip O'Toole <philip.otoole@yahoo.com> | 2017-06-17 12:02:47 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-17 12:02:47 -0700 |
commit | b951516ea086ff8c8a97eff7a59f2b95458b0a1c (patch) | |
tree | 035930342ee0510d83ab8ee47e4068bdc50247c3 /sqlite3_go18.go | |
parent | Merge pull request #1 from mattn/master (diff) | |
parent | Merge pull request #425 from xxr3376/empty-bytes (diff) | |
download | golite-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.go | 69 |
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) +} |