55 lines
1.7 KiB
Plaintext
55 lines
1.7 KiB
Plaintext
/* Errors returned by mysql-js are JavaScript Error objects.
|
|
They contain:
|
|
message: a string with a description of the problem
|
|
stack: the locus of the error
|
|
sqlstate: one of the Sqlstate values below
|
|
cause: an Error returned by an underlying implementation artifact
|
|
*/
|
|
|
|
var DatabaseError = {
|
|
code : null, // MySQL Error Code number (number)
|
|
sqlstate : null, // SQLSTATE (string)
|
|
message : null, // Error message (string)
|
|
cause : null, // The underlying cause of this error
|
|
/* ... Other adapter-specific properties which may be present */
|
|
};
|
|
|
|
|
|
|
|
// Reference: Gulutzan & Pelzer, "SQL 99 Complete Really", chapter 47
|
|
|
|
var Sqlstates = {
|
|
/* Standard-defined classes, SQL-99 */
|
|
"02000" : "No Data",
|
|
|
|
// connection errors
|
|
"08000" : "Connection error",
|
|
"08001" : "Unable to connect to server",
|
|
"08004" : "Connection refused",
|
|
|
|
// data errors
|
|
"22000" : "Data error",
|
|
"22001" : "String too long",
|
|
"22003" : "Numeric value out of range",
|
|
"22007" : "Invalid datetime",
|
|
|
|
// Constraint violations
|
|
// 23000 includes both duplicate primary key and duplicate unique key
|
|
"23000" : "Integrity Constraint Violation",
|
|
|
|
// 0Fxxx "Locator Exception" SQLStates relate to BLOB values
|
|
// (which must represented in JavaScript as Node Buffers)
|
|
"0F001" : "Invalid BLOB value",
|
|
|
|
// misc. errors
|
|
"25000" : "Invalid Transaction State",
|
|
"2C000" : "Invalid character set name",
|
|
"42S02" : "Table not found",
|
|
"IM001" : "Driver does not support this function",
|
|
|
|
/* Implementation-defined classes (NDB) */
|
|
"NDB00" : "Refer to ndb_error for details",
|
|
"WCTOR" : "Object clobbered by Domain Object Constructor"
|
|
};
|
|
|