From 824226ef686d604bc3b1e8675143dabfe8df6555 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Fri, 9 Apr 2021 23:56:16 +0200 Subject: Began implementing a database backend --- pkg/database/error.go | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 pkg/database/error.go (limited to 'pkg/database/error.go') diff --git a/pkg/database/error.go b/pkg/database/error.go new file mode 100644 index 0000000..1681dd5 --- /dev/null +++ b/pkg/database/error.go @@ -0,0 +1,57 @@ +package database + +import "fmt" + +// database init error +type InitError struct { + path string + err error +} + +func (e *InitError) Error() string { + return fmt.Sprintf("Failed to open database : %s", e.path) +} +func (e *InitError) Unwrap() error { return e.err } + +func newInitError(path string, err error) error { + return &InitError{ + path: path, + err: err, + } +} + +// database migration error +type MigrationError struct { + version int + err error +} + +func (e *MigrationError) Error() string { + return fmt.Sprintf("Failed to migrate database to version %d : %s", e.version, e.err) +} +func (e *MigrationError) Unwrap() error { return e.err } + +func newMigrationError(version int, err error) error { + return &MigrationError{ + version: version, + err: err, + } +} + +// database transaction error +type TransactionError struct { + msg string + err error +} + +func (e *TransactionError) Error() string { + return fmt.Sprintf("Failed to perform transaction : %s", e.msg) +} +func (e *TransactionError) Unwrap() error { return e.err } + +func newTransactionError(msg string, err error) error { + return &TransactionError{ + msg: msg, + err: err, + } +} -- cgit v1.2.3