aboutsummaryrefslogtreecommitdiff
path: root/error.go
diff options
context:
space:
mode:
authorPhilip O'Toole <philip.otoole@yahoo.com>2017-06-17 12:02:47 -0700
committerGitHub <noreply@github.com>2017-06-17 12:02:47 -0700
commitb951516ea086ff8c8a97eff7a59f2b95458b0a1c (patch)
tree035930342ee0510d83ab8ee47e4068bdc50247c3 /error.go
parentMerge pull request #1 from mattn/master (diff)
parentMerge pull request #425 from xxr3376/empty-bytes (diff)
downloadgolite-b951516ea086ff8c8a97eff7a59f2b95458b0a1c.tar.gz
golite-b951516ea086ff8c8a97eff7a59f2b95458b0a1c.tar.xz
Merge pull request #2 from mattn/master
Merge upstream
Diffstat (limited to 'error.go')
-rw-r--r--error.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/error.go b/error.go
index b910108..49ab890 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,14 +56,17 @@ 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()
}
@@ -121,7 +128,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)