version 11
The SQL engine of 4D returns specific errors which are listed below. These errors can be intercepted using an error-handling method installed by the ON ERR CALL command and analyzed using the GET LAST ERROR STACK command.
Generic errors
1001 | INVALID ARGUMENT |
1002 | INVALID INTERNAL STATE |
1003 | NOT RUNNING |
Semantic errors
1101 | TABLE DOES NOT EXIST |
1102 | COLUMN DOES NOT EXIST |
1103 | TABLE NOT DECLARED IN FROM CLAUSE |
1104 | AMBIGUOUS COLUMN NAME |
1105 | TABLE ALIAS SAME AS TABLE NAME |
1106 | DUPLICATE TABLE ALIAS |
1107 | DUPLICATE TABLE IN FROM CLAUSE |
1108 | INCOMPATIBLE TYPES |
1109 | INVALID ORDER BY INDEX |
1110 | WRONG AMOUNT OF PARAMETERS |
1111 | INCOMPATIBLE PARAMETER TYPE |
1112 | UNKNOWN FUNCTION |
1113 | DIVISION BY ZERO |
1114 | ORDER BY INDEX NOT ALLOWED |
1115 | DISTINCT NOT ALLOWED |
1116 | NESTED COLUMN FUNCTIONS NOT ALLOWED |
1117 | COLUMN FUNCTIONS NOT ALLOWED |
1118 | CAN NOT MIX COLUMN AND SCALAR OPERATIONS |
1119 | INVALID GROUP BY INDEX |
1120 | GROUP BY INDEX NOT ALLOWED |
1121 | GROUP BY NOT ALLOWED WITH SELECT ALL |
1122 | NOT A COLUMN EXPRESSION |
1123 | NOT A GROUPING COLUMN IN AGGREGATE ORDER BY |
1124 | MIXED LITERAL TYPES IN PREDICATE |
1125 | LIKE ESCAPE IS NOT ONE CHAR |
1126 | BAD LIKE ESCAPE CHAR |
1127 | UNKNOWN ESCAPE SEQUENCE IN LIKE |
1128 | COLUMNS FROM MORE THAN ONE QUERY IN COLUMN FUNCTION |
1129 | SCALAR EXPRESSION WITH GROUP BY |
1130 | SUBQUERY HAS MORE THAN ONE COLUMN |
1131 | SUBQUERY MUST HAVE ONE ROW |
1132 | INSERT VALUE COUNT DOES NOT MATCH COLUMN COUNT |
1133 | DUPLICATE COLUMN IN INSERT |
1134 | COLUMN DOES NOT ALLOW NULLS |
1135 | DUPLICATE COLUMN IN UPDATE |
1136 | TABLE ALREADY EXISTS |
1137 | DUPLICATE COLUMN IN CREATE TABLE |
1138 | DUPLICATE COLUMN IN COLUMN LIST |
1139 | MORE THAN ONE PRIMARY KEY NOT ALLOWED |
1140 | AMBIGUOUS FOREIGN KEY NAME |
1141 | COLUMN COUNT MISMATCH IN FOREIGN KEY |
1142 | COLUMN TYPE MISMATCH IN FOREIGN KEY |
1143 | FAILED TO FIND MATCHING PRIMARY COLUMN |
1144 | UPDATE AND DELETE CONSTRAINTS MUST BE THE SAME |
1145 | FOREIGN KEY DOES NOT EXIST |
1146 | INVALID LIMIT VALUE IN SELECT |
1147 | INVALID OFFSET VALUE IN SELECT |
1148 | PRIMARY KEY DOES NOT EXIST |
1149 | FAILED TO CREATE FOREIGN KEY |
1150 | FIELD IS NOT IN PRIMARY KEY |
1151 | FIELD IS NOT UPDATEABLE |
Implementation errors
1203 | FUNCTIONALITY IS NOT IMPLEMENTED |
1204 | FAILED TO CREATE NEW RECORD |
1205 | FAILED TO UPDATE FIELD |
1206 | FAILED TO DELETE RECORD |
1207 | NO MORE JOIN SEEDS POSSIBLE |
1208 | FAILED TO CREATE TABLE |
1209 | FAILED TO DROP TABLE |
1210 | CANT BUILD BTREE FOR ZERO RECORDS |
1211 | COMMAND COUNT GREATER THAN ALLOWED |
1212 | FAILED TO CREATE DATABASE |
1213 | FAILED TO DROP COLUMN |
1214 | VALUE IS OUT OF BOUNDS |
1215 | FAILED TO STOP SQL_SERVER |
1216 | FAILED TO LOCALIZE |
Parsing error
1301 PARSING FAILED
Runtime language access errors
1401 | COMMAND NOT SPECIFIED |
1402 | ALREADY LOGGED IN |
1403 | SESSION DOES NOT EXIST |
1404 | UNKNOWN BIND ENTITY |
1405 | INCOMPATIBLE BIND ENTITIES |
1406 | REQUEST RESULT NOT AVAILABLE |
1407 | BINDING LOAD FAILED |
1408 | COULD NOT RECOVER FROM PREVIOUS ERRORS |
1409 | NO OPEN STATEMENT |
1410 | RESULT EOF |
1411 | BOUND VALUE IS NULL |
1412 | STATEMENT ALREADY OPENED |
1413 | FAILED TO GET PARAMETER VALUE |
1414 | INCOMPATIBLE PARAMETER ENTITIES |
1415 | PARAMETER VALUE NOT SPECIFIED |
1416 | COLUMN See Also PARAMETERS FROM DIFFERENT TABLES |
1417 | EMPTY STATEMENT |
1418 | FAILED TO UPDATE VARIABLE |
1419 | FAILED TO GET TABLE See Also |
1420 | FAILED TO GET TABLE CONTEXT |
1421 | COLUMNS NOT ALLOWED |
1422 | INVALID COMMAND COUNT |
1423 | INTO CLAUSE NOT ALLOWED |
1424 | EXECUTE IMMEDIATE NOT ALLOWED |
1425 | ARRAY NOT ALLOWED IN EXECUTE IMMEDIATE |
1426 | COLUMN NOT ALLOWED IN EXECUTE IMMEDIATE |
1427 | NESTED BEGIN END SQL NOT ALLOWED |
1428 | RESULT IS NOT A SELECTION |
Date parsing errors
1501 | SEPARATOR_EXPECTED |
1502 | FAILED TO PARSE DAY OF MONTH |
1503 | FAILED TO PARSE MONTH |
1504 | FAILED TO PARSE YEAR |
1505 | FAILED TO PARSE HOUR |
1506 | FAILED TO PARSE MINUTE |
1507 | FAILED TO PARSE SECOND |
1508 | FAILED TO PARSE MILLISECOND |
1509 | INVALID AM PM USAGE |
1510 | FAILED TO PARSE TIME ZONE |
1511 | UNEXPECTED CHARACTER |
1512 | FAILED TO PARSE TIMESTAMP |
1513 | FAILED TO PARSE DURATION |
Date formatting error
1551 FAILED
Lexer errors
1601 | NULL INPUT STRING |
1602 | NON TERMINATED STRING |
1603 | NON TERMINATED COMMENT |
1604 | INVALID NUMBER |
1605 | UNKNOWN START OF TOKEN |
1606 | NON TERMINATED NAME |
1607 | NO VALID TOKENS |
Cacheable errors
2000 | CACHEABLE NOT INITIALIZED |
2001 | VALUE ALREADY CACHED |
2002 | CACHED VALUE NOT FOUND |
Protocol errors
3000 | HEADER NOT FOUND |
3001 | UNKNOWN COMMAND |
3002 | ALREADY LOGGED IN |
3003 | NOT LOGGED IN |
3004 | UNKNOWN OUTPUT MODE |
3005 | INVALID STATEMENT ID |
3006 | UNKNOWN DATA TYPE |
3007 | STILL LOGGED IN |
3008 | SOCKET READ ERROR |
3009 | SOCKET WRITE ERROR |