diff --git a/sqlite3_context.go b/sqlite3_context.go new file mode 100644 index 0000000..26e4998 --- /dev/null +++ b/sqlite3_context.go @@ -0,0 +1,14 @@ +package sqlite3 + +import ( + "context" + "errors" +) + +// Ping implement Pinger. +func (c *SQLiteConn) Ping(ctx context.Context) error { + if c.db == nil { + return errors.New("Connection was closed") + } + return nil +} diff --git a/sqlite3_test.go b/sqlite3_test.go index cf826dd..fc5c99c 100644 --- a/sqlite3_test.go +++ b/sqlite3_test.go @@ -1315,6 +1315,22 @@ func TestDeclTypes(t *testing.T) { } } +func TestPinger(t *testing.T) { + db, err := sql.Open("sqlite3", ":memory:") + if err != nil { + t.Fatal(err) + } + err = db.Ping() + if err != nil { + t.Fatal(err) + } + db.Close() + err = db.Ping() + if err == nil { + t.Fatal("Should be closed") + } +} + var customFunctionOnce sync.Once func BenchmarkCustomFunctions(b *testing.B) {