aboutsummaryrefslogtreecommitdiff
path: root/error.go
diff options
context:
space:
mode:
authorYasuhiro Matsumoto <mattn.jp@gmail.com>2016-11-07 16:16:47 +0900
committerYasuhiro Matsumoto <mattn.jp@gmail.com>2016-11-07 16:16:47 +0900
commit51f43971ab75845a1ba0ba2f9a5dba3da0834c75 (patch)
treeb47a2370ddbe79cdbb064047da08f98c3a29de66 /error.go
parentFAQ about concurrency. Close #350 (diff)
parentcancel (diff)
downloadgolite-51f43971ab75845a1ba0ba2f9a5dba3da0834c75.tar.gz
golite-51f43971ab75845a1ba0ba2f9a5dba3da0834c75.tar.xz
Merge branch 'master' of https://github.com/mattn/go-sqlite3
Diffstat (limited to 'error.go')
-rw-r--r--error.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/error.go b/error.go
index b910108..1f14aba 100644
--- a/error.go
+++ b/error.go
@@ -7,12 +7,16 @@ package sqlite3
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 */
@@ -52,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
@@ -121,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)