mirror of https://github.com/gogits/gogs.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
1.3 KiB
73 lines
1.3 KiB
package mssql |
|
|
|
import ( |
|
"fmt" |
|
) |
|
|
|
// Error represents an SQL Server error. This |
|
// type includes methods for reading the contents |
|
// of the struct, which allows calling programs |
|
// to check for specific error conditions without |
|
// having to import this package directly. |
|
type Error struct { |
|
Number int32 |
|
State uint8 |
|
Class uint8 |
|
Message string |
|
ServerName string |
|
ProcName string |
|
LineNo int32 |
|
} |
|
|
|
func (e Error) Error() string { |
|
return "mssql: " + e.Message |
|
} |
|
|
|
// SQLErrorNumber returns the SQL Server error number. |
|
func (e Error) SQLErrorNumber() int32 { |
|
return e.Number |
|
} |
|
|
|
func (e Error) SQLErrorState() uint8 { |
|
return e.State |
|
} |
|
|
|
func (e Error) SQLErrorClass() uint8 { |
|
return e.Class |
|
} |
|
|
|
func (e Error) SQLErrorMessage() string { |
|
return e.Message |
|
} |
|
|
|
func (e Error) SQLErrorServerName() string { |
|
return e.ServerName |
|
} |
|
|
|
func (e Error) SQLErrorProcName() string { |
|
return e.ProcName |
|
} |
|
|
|
func (e Error) SQLErrorLineNo() int32 { |
|
return e.LineNo |
|
} |
|
|
|
type StreamError struct { |
|
Message string |
|
} |
|
|
|
func (e StreamError) Error() string { |
|
return e.Message |
|
} |
|
|
|
func streamErrorf(format string, v ...interface{}) StreamError { |
|
return StreamError{"Invalid TDS stream: " + fmt.Sprintf(format, v...)} |
|
} |
|
|
|
func badStreamPanic(err error) { |
|
panic(err) |
|
} |
|
|
|
func badStreamPanicf(format string, v ...interface{}) { |
|
panic(streamErrorf(format, v...)) |
|
}
|
|
|