aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sqlite3_context.go14
-rw-r--r--sqlite3_test.go16
2 files changed, 30 insertions, 0 deletions
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) {