aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYasuhiro Matsumoto <mattn.jp@gmail.com>2016-11-05 00:46:04 +0900
committerYasuhiro Matsumoto <mattn.jp@gmail.com>2016-11-05 00:46:04 +0900
commitcde7293c72308f3cc5b57bfa65e162fb868470d8 (patch)
tree8e86a4410761bc5b3f2c89fbd6529505f6ac9faf
parentgo vet && golint (diff)
downloadgolite-cde7293c72308f3cc5b57bfa65e162fb868470d8.tar.gz
golite-cde7293c72308f3cc5b57bfa65e162fb868470d8.tar.xz
go vet && golint
-rw-r--r--error.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/error.go b/error.go
index 474f8e6..1f14aba 100644
--- a/error.go
+++ b/error.go
@@ -10,10 +10,13 @@ import "C"
// ErrNo inherit errno.
type ErrNo int
+// ErrNoMask is mask code.
const ErrNoMask C.int = 0xff
+// ErrNoExtended is extended errno.
type ErrNoExtended int
+// Error implement sqlite error code.
type Error struct {
Code ErrNo /* The error code returned by SQLite */
ExtendedCode ErrNoExtended /* The extended error code returned by SQLite */
@@ -53,18 +56,22 @@ var (
ErrWarning = ErrNo(28) /* Warnings from sqlite3_log() */
)
+// Error return error message from errno.
func (err ErrNo) Error() string {
return Error{Code: err}.Error()
}
+// Extend return extended errno.
func (err ErrNo) Extend(by int) ErrNoExtended {
return ErrNoExtended(int(err) | (by << 8))
}
+// Error return error message that is extended code.
func (err ErrNoExtended) Error() string {
return Error{Code: ErrNo(C.int(err) & ErrNoMask), ExtendedCode: err}.Error()
}
+// Error return error message.
func (err Error) Error() string {
if err.err != "" {
return err.err
@@ -122,7 +129,7 @@ var (
ErrConstraintTrigger = ErrConstraint.Extend(7)
ErrConstraintUnique = ErrConstraint.Extend(8)
ErrConstraintVTab = ErrConstraint.Extend(9)
- ErrConstraintRowId = ErrConstraint.Extend(10)
+ ErrConstraintRowID = ErrConstraint.Extend(10)
ErrNoticeRecoverWAL = ErrNotice.Extend(1)
ErrNoticeRecoverRollback = ErrNotice.Extend(2)
ErrWarningAutoIndex = ErrWarning.Extend(1)