This commit introduces a new type 'ErrNo', implementing the error interface. Constants for all sqlite3 error codes are provided in the new source file "error.go".
42 lines
2.1 KiB
Go
42 lines
2.1 KiB
Go
package sqlite3
|
|
|
|
import "C"
|
|
|
|
type ErrNo int
|
|
|
|
// result codes from http://www.sqlite.org/c3ref/c_abort.html
|
|
var (
|
|
ErrError error = ErrNo(1) /* SQL error or missing database */
|
|
ErrInternal error = ErrNo(2) /* Internal logic error in SQLite */
|
|
ErrPerm error = ErrNo(3) /* Access permission denied */
|
|
ErrAbort error = ErrNo(4) /* Callback routine requested an abort */
|
|
ErrBusy error = ErrNo(5) /* The database file is locked */
|
|
ErrLocked error = ErrNo(6) /* A table in the database is locked */
|
|
ErrNomem error = ErrNo(7) /* A malloc() failed */
|
|
ErrReadonly error = ErrNo(8) /* Attempt to write a readonly database */
|
|
ErrInterrupt error = ErrNo(9) /* Operation terminated by sqlite3_interrupt() */
|
|
ErrIoErr error = ErrNo(10) /* Some kind of disk I/O error occurred */
|
|
ErrCorrupt error = ErrNo(11) /* The database disk image is malformed */
|
|
ErrNotFound error = ErrNo(12) /* Unknown opcode in sqlite3_file_control() */
|
|
ErrFull error = ErrNo(13) /* Insertion failed because database is full */
|
|
ErrCantOpen error = ErrNo(14) /* Unable to open the database file */
|
|
ErrProtocol error = ErrNo(15) /* Database lock protocol error */
|
|
ErrEmpty error = ErrNo(16) /* Database is empty */
|
|
ErrSchema error = ErrNo(17) /* The database schema changed */
|
|
ErrTooBig error = ErrNo(18) /* String or BLOB exceeds size limit */
|
|
ErrConstraint error = ErrNo(19) /* Abort due to constraint violation */
|
|
ErrMismatch error = ErrNo(20) /* Data type mismatch */
|
|
ErrMisuse error = ErrNo(21) /* Library used incorrectly */
|
|
ErrNoLFS error = ErrNo(22) /* Uses OS features not supported on host */
|
|
ErrAuth error = ErrNo(23) /* Authorization denied */
|
|
ErrFormat error = ErrNo(24) /* Auxiliary database format error */
|
|
ErrRange error = ErrNo(25) /* 2nd parameter to sqlite3_bind out of range */
|
|
ErrNotADB error = ErrNo(26) /* File opened that is not a database file */
|
|
ErrNotice error = ErrNo(27) /* Notifications from sqlite3_log() */
|
|
ErrWarning error = ErrNo(28) /* Warnings from sqlite3_log() */
|
|
)
|
|
|
|
func (err ErrNo) Error() string {
|
|
return errorString(err)
|
|
}
|