summaryrefslogtreecommitdiff
path: root/vendor/github.com/ncruces/go-sqlite3/driver/savepoint.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/ncruces/go-sqlite3/driver/savepoint.go')
-rw-r--r--vendor/github.com/ncruces/go-sqlite3/driver/savepoint.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/vendor/github.com/ncruces/go-sqlite3/driver/savepoint.go b/vendor/github.com/ncruces/go-sqlite3/driver/savepoint.go
new file mode 100644
index 000000000..60aa6b991
--- /dev/null
+++ b/vendor/github.com/ncruces/go-sqlite3/driver/savepoint.go
@@ -0,0 +1,27 @@
+package driver
+
+import (
+ "database/sql"
+ "time"
+
+ "github.com/ncruces/go-sqlite3"
+)
+
+// Savepoint establishes a new transaction savepoint.
+//
+// https://sqlite.org/lang_savepoint.html
+func Savepoint(tx *sql.Tx) sqlite3.Savepoint {
+ var ctx saveptCtx
+ tx.ExecContext(&ctx, "")
+ return ctx.Savepoint
+}
+
+type saveptCtx struct{ sqlite3.Savepoint }
+
+func (*saveptCtx) Deadline() (deadline time.Time, ok bool) { return }
+
+func (*saveptCtx) Done() <-chan struct{} { return nil }
+
+func (*saveptCtx) Err() error { return nil }
+
+func (*saveptCtx) Value(key any) any { return nil }