diff --git a/sqlite3.go b/sqlite3.go index 3b80eeb..bef5627 100644 --- a/sqlite3.go +++ b/sqlite3.go @@ -644,6 +644,10 @@ func (c *SQLiteConn) Close() error { // Prepare the query string. Return a new statement. func (c *SQLiteConn) Prepare(query string) (driver.Stmt, error) { + return c.prepare(context.Background(), query) +} + +func (c *SQLiteConn) prepare(ctx context.Context, query string) (driver.Stmt, error) { pquery := C.CString(query) defer C.free(unsafe.Pointer(pquery)) var s *C.sqlite3_stmt diff --git a/sqlite3_go18.go b/sqlite3_go18.go index 28a1bbf..5832a92 100644 --- a/sqlite3_go18.go +++ b/sqlite3_go18.go @@ -33,6 +33,10 @@ func (c *SQLiteConn) ExecContext(ctx context.Context, query string, args []drive return c.exec(ctx, query, list) } +func (c *SQLiteConn) PrepareContext(ctx context.Context, query string) (driver.Stmt, error) { + return c.prepare(ctx, query) +} + func (s *SQLiteStmt) QueryContext(ctx context.Context, args []driver.NamedValue) (driver.Rows, error) { list := make([]namedValue, len(args)) for i, nv := range args {