| 
									
										
										
										
											2021-08-29 15:41:41 +01:00
										 |  |  | // 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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-08 21:12:23 +01:00
										 |  |  | //go:build go1.8 | 
					
						
							| 
									
										
										
										
											2021-08-29 15:41:41 +01:00
										 |  |  | // +build go1.8 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | package sqlite // import "modernc.org/sqlite" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"context" | 
					
						
							|  |  |  | 	"database/sql/driver" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Ping implements driver.Pinger | 
					
						
							|  |  |  | func (c *conn) Ping(ctx context.Context) error { | 
					
						
							|  |  |  | 	_, err := c.ExecContext(ctx, "select 1", nil) | 
					
						
							|  |  |  | 	return err | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // BeginTx implements driver.ConnBeginTx | 
					
						
							|  |  |  | func (c *conn) BeginTx(ctx context.Context, opts driver.TxOptions) (driver.Tx, error) { | 
					
						
							|  |  |  | 	return c.begin(ctx, opts) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // PrepareContext implements driver.ConnPrepareContext | 
					
						
							|  |  |  | func (c *conn) PrepareContext(ctx context.Context, query string) (driver.Stmt, error) { | 
					
						
							|  |  |  | 	return c.prepare(ctx, query) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // ExecContext implements driver.ExecerContext | 
					
						
							|  |  |  | func (c *conn) ExecContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Result, error) { | 
					
						
							|  |  |  | 	return c.exec(ctx, query, args) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // QueryContext implements driver.QueryerContext | 
					
						
							|  |  |  | func (c *conn) QueryContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Rows, error) { | 
					
						
							|  |  |  | 	return c.query(ctx, query, args) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // ExecContext implements driver.StmtExecContext | 
					
						
							|  |  |  | func (s *stmt) ExecContext(ctx context.Context, args []driver.NamedValue) (driver.Result, error) { | 
					
						
							|  |  |  | 	return s.exec(ctx, args) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // QueryContext implements driver.StmtQueryContext | 
					
						
							|  |  |  | func (s *stmt) QueryContext(ctx context.Context, args []driver.NamedValue) (driver.Rows, error) { | 
					
						
							|  |  |  | 	return s.query(ctx, args) | 
					
						
							|  |  |  | } |