parser: Index | Files

package terror

import ""


Package Files



var (
    ClassAutoid     = RegisterErrorClass(1, "autoid")
    ClassDDL        = RegisterErrorClass(2, "ddl")
    ClassDomain     = RegisterErrorClass(3, "domain")
    ClassEvaluator  = RegisterErrorClass(4, "evaluator")
    ClassExecutor   = RegisterErrorClass(5, "executor")
    ClassExpression = RegisterErrorClass(6, "expression")
    ClassAdmin      = RegisterErrorClass(7, "admin")
    ClassKV         = RegisterErrorClass(8, "kv")
    ClassMeta       = RegisterErrorClass(9, "meta")
    ClassOptimizer  = RegisterErrorClass(10, "planner")
    ClassParser     = RegisterErrorClass(11, "parser")
    ClassPerfSchema = RegisterErrorClass(12, "perfschema")
    ClassPrivilege  = RegisterErrorClass(13, "privilege")
    ClassSchema     = RegisterErrorClass(14, "schema")
    ClassServer     = RegisterErrorClass(15, "server")
    ClassStructure  = RegisterErrorClass(16, "structure")
    ClassVariable   = RegisterErrorClass(17, "variable")
    ClassXEval      = RegisterErrorClass(18, "xeval")
    ClassTable      = RegisterErrorClass(19, "table")
    ClassTypes      = RegisterErrorClass(20, "types")
    ClassGlobal     = RegisterErrorClass(21, "global")
    ClassMockTikv   = RegisterErrorClass(22, "mocktikv")
    ClassJSON       = RegisterErrorClass(23, "json")
    ClassTiKV       = RegisterErrorClass(24, "tikv")
    ClassSession    = RegisterErrorClass(25, "session")
    ClassPlugin     = RegisterErrorClass(26, "plugin")
    ClassUtil       = RegisterErrorClass(27, "util")

Error classes.

var (
    // ErrClassToMySQLCodes is the map of ErrClass to code-set.
    ErrClassToMySQLCodes  = make(map[ErrClass]map[ErrCode]struct{})
    ErrCritical           = ClassGlobal.New(CodeExecResultIsEmpty, "critical error %v")
    ErrResultUndetermined = ClassGlobal.New(CodeResultUndetermined, "execution result undetermined")

func Call Uses

func Call(fn func() error)

Call executes a function and checks the returned err.

func ErrorEqual Uses

func ErrorEqual(err1, err2 error) bool

ErrorEqual returns a boolean indicating whether err1 is equal to err2.

func ErrorNotEqual Uses

func ErrorNotEqual(err1, err2 error) bool

ErrorNotEqual returns a boolean indicating whether err1 isn't equal to err2.

func Log Uses

func Log(err error)

Log logs the error if it is not nil.

func MustNil Uses

func MustNil(err error, closeFuns ...func())

MustNil cleans up and fatals if err is not nil.

func ToSQLError Uses

func ToSQLError(e *Error) *mysql.SQLError

ToSQLError convert Error to mysql.SQLError.

type ErrClass Uses

type ErrClass int

ErrClass represents a class of errors.

func GetErrClass Uses

func GetErrClass(e *Error) ErrClass

func RegisterErrorClass Uses

func RegisterErrorClass(classCode int, desc string) ErrClass

RegisterErrorClass registers new error class for terror.

func (ErrClass) EqualClass Uses

func (ec ErrClass) EqualClass(err error) bool

EqualClass returns true if err is *Error with the same class.

func (ErrClass) New Uses

func (ec ErrClass) New(code ErrCode, message string) *Error

New defines an *Error with an error code and an error message. Usually used to create base *Error. Attention: this method is not goroutine-safe and usually be used in global variable initializer

func (ErrClass) NewStd Uses

func (ec ErrClass) NewStd(code ErrCode) *Error

NewStd calls New using the standard message for the error code Attention: this method is not goroutine-safe and usually be used in global variable initializer

func (ErrClass) NewStdErr Uses

func (ec ErrClass) NewStdErr(code ErrCode, message string, desc string, workaround string) *Error

NewStdErr defines an *Error with an error code, an error message and workaround to create standard error.

func (ErrClass) NotEqualClass Uses

func (ec ErrClass) NotEqualClass(err error) bool

NotEqualClass returns true if err is not *Error with the same class.

func (ErrClass) String Uses

func (ec ErrClass) String() string

String implements fmt.Stringer interface.

func (ErrClass) Synthesize Uses

func (ec ErrClass) Synthesize(code ErrCode, message string) *Error

Synthesize synthesizes an *Error in the air it didn't register error into ErrClassToMySQLCodes so it's goroutine-safe and often be used to create Error came from other systems like TiKV.

type ErrCode Uses

type ErrCode int

ErrCode represents a specific error type in a error class. Same error code can be used in different error classes.

const (

    // CodeUnknown is for errors of unknown reason.
    CodeUnknown ErrCode = -1
    // CodeExecResultIsEmpty indicates execution result is empty.
    CodeExecResultIsEmpty ErrCode = 3

    // CodeMissConnectionID indicates connection id is missing.
    CodeMissConnectionID ErrCode = 1

    // CodeResultUndetermined indicates the sql execution result is undetermined.
    CodeResultUndetermined ErrCode = 2

type Error Uses

type Error = errors.Error

Package terror imports 7 packages (graph) and is imported by 409 packages. Updated 2020-09-11. Refresh now. Tools for package owners.