SQLCODE and SQLSTATE
SQLCODE is an integer value returned by DingoDB driver indicating the error occurs during a database operation.
SQLSTATE is a code which identifies SQL error conditions. It composed by five characters, which can be numbers or uppercase ASCII letters. An SQLSTATE value consists of a class (first two characters) and a subclass (last three characters). The following SQLSTATE classes are defined in SQL standards:
‘00’ means ‘success’
‘01’ contains all ‘warnings’
‘02’ is the ‘NOT FOUND’ class
DingoDB try to make returned SQLCODE and SQLSTATE compatible with MySQL, if the error is not compatible with MySQL, its SQLSTATE is “45000”.
SQLCODE and SQLSTATE of DingoDB
MySQL compatible errors
SQLCODE |
SQLSTATE |
Description |
|---|---|---|
1152 |
08S01 |
Connection refused |
1064 |
42000 |
SQL parse error |
1050 |
42S01 |
Table already exists |
4028 |
HY000 |
Missing column list |
1146 |
42S02 |
Table not found |
1054 |
42S22 |
Column not found |
1364 |
HY000 |
Value of column can not be NULL |
DingoDB specified errors
SQLCODE |
SQLSTATE |
Description |
|---|---|---|
1001 |
45000 |
Primary keys are required |
1002 |
45000 |
Specified primary key does not exist in table |
2001 |
45000 |
Illegal use of dynamic parameter |
2002 |
45000 |
Illegal expression in context |
2003 |
45000 |
Unknown identifier |
3001 |
45000 |
Number format error |
5001 |
45000 |
Task execution failed |
9001 |
45000 |
Unknown error |
9002 |
45000 |
Intentional error thrown by function |