aboutsummaryrefslogtreecommitdiff
path: root/internal/sqlutil/writer_dummy.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/sqlutil/writer_dummy.go')
-rw-r--r--internal/sqlutil/writer_dummy.go16
1 files changed, 11 insertions, 5 deletions
diff --git a/internal/sqlutil/writer_dummy.go b/internal/sqlutil/writer_dummy.go
index e6ab81f6..f426c2bc 100644
--- a/internal/sqlutil/writer_dummy.go
+++ b/internal/sqlutil/writer_dummy.go
@@ -4,15 +4,21 @@ import (
"database/sql"
)
-type DummyTransactionWriter struct {
+// DummyWriter implements sqlutil.Writer.
+// The DummyWriter is designed to allow reuse of the sqlutil.Writer
+// interface but, unlike ExclusiveWriter, it will not guarantee
+// writer exclusivity. This is fine in PostgreSQL where overlapping
+// transactions and writes are acceptable.
+type DummyWriter struct {
}
-func NewDummyTransactionWriter() TransactionWriter {
- return &DummyTransactionWriter{}
+// NewDummyWriter returns a new dummy writer.
+func NewDummyWriter() Writer {
+ return &DummyWriter{}
}
-func (w *DummyTransactionWriter) Do(db *sql.DB, txn *sql.Tx, f func(txn *sql.Tx) error) error {
- if txn == nil {
+func (w *DummyWriter) Do(db *sql.DB, txn *sql.Tx, f func(txn *sql.Tx) error) error {
+ if db != nil && txn == nil {
return WithTransaction(db, func(txn *sql.Tx) error {
return f(txn)
})