MOT Error Messages
MOT Error Messages
Errors may be caused by a variety of scenarios. All errors are logged in the database server log file. In addition, user-related errors are returned to the user as part of the response to the query, transaction or stored procedure execution or to database administration action.
Errors reported in the Server log include – Function, Entity, Context, Error message, Error description and Severity.
Errors reported to users are translated into standard PostgreSQL error codes and may consist of an MOT-specific message and description.
The following lists the error messages, error descriptions and error codes. The error code is actually an internal code and not logged or returned to users.
Errors Written the Log File
All errors are logged in the database server log file. The following lists the errors that are written to the database server log file and are not returned to the user. The log is located in the data folder and named postgresql-DATE-TIME.log.
Table 1 Errors Written Only to the Log File
| Message in the Log | Error Internal Code |
| Error code denoting success | MOT_NO_ERROR 0 |
| Out of memory | MOT_ERROR_OOM 1 |
| Invalid configuration | MOT_ERROR_INVALID_CFG 2 |
| Invalid argument passed to function | MOT_ERROR_INVALID_ARG 3 |
| System call failed | MOT_ERROR_SYSTEM_FAILURE 4 |
| Resource limit reached | MOT_ERROR_RESOURCE_LIMIT 5 |
| Internal logic error | MOT_ERROR_INTERNAL 6 |
| Resource unavailable | MOT_ERROR_RESOURCE_UNAVAILABLE 7 |
| Unique violation | MOT_ERROR_UNIQUE_VIOLATION 8 |
| Invalid memory allocation size | MOT_ERROR_INVALID_MEMORY_SIZE 9 |
| Index out of range | MOT_ERROR_INDEX_OUT_OF_RANGE 10 |
| Error code unknown | MOT_ERROR_INVALID_STATE 11 |
Errors Returned to the User
The following lists the errors that are written to the database server log file and are returned to the user.
MOT returns PG standard error codes to the envelope using a Return Code (RC). Some RCs cause the generation of an error message to the user who is interacting with the database.
The PG code (described below) is returned internally by MOT to the database envelope, which reacts to it according to standard PG behavior.
NOTE: %s, %u and %lu in the message are replaced by relevant error information, such as query, table name or another information.
%s – String
%u – Number
%lu – Number
Table 2 Errors Returned to the User and Logged to the Log File
| Short and Long Description Returned to the User | PG Code | Internal Error Code |
| Success. | ERRCODE_SUCCESSFUL_COMPLETIONCOMPLETION | RC_OK = 0 |
| Failure | ERRCODE_FDW_ERROR | RC_ERROR = 1 |
| Unknown error has occurred. | ERRCODE_FDW_ERROR | RC_ABORT |
| Column definition of %s is not supported. | ERRCODE_INVALID_COLUMN_DEFINITION | RC_UNSUPPORTED_COL_TYPE |
| Column definition of %s is not supported. | ERRCODE_INVALID_COLUMN_DEFINITION | RC_UNSUPPORTED_COL_TYPE_ARR |
| Column size %d exceeds max tuple size %u. | ERRCODE_FEATURE_NOT_SUPPORTED | RC_EXCEEDS_MAX_ROW_SIZE |
| Column name %s exceeds max name size %u. | ERRCODE_INVALID_COLUMN_DEFINITION | RC_COL_NAME_EXCEEDS_MAX_SIZE |
| Column size %d exceeds max size %u. | ERRCODE_INVALID_COLUMN_DEFINITION | RC_COL_SIZE_INVLALID |
| Cannot create table. | ERRCODE_FEATURE_NOT_SUPPORTED | RC_TABLE_EXCEEDS_MAX_DECLARED_COLS |
| Cannot create index. | ERRCODE_FDW_KEY_SIZE_EXCEEDS_MAX_ALLOWED | RC_INDEX_EXCEEDS_MAX_SIZE |
| Cannot create index. | ERRCODE_FDW_TOO_MANY_INDEXES | RC_TABLE_EXCEEDS_MAX_INDEXES |
| Cannot execute statement. | ERRCODE_FDW_TOO_MANY_DDL_CHANGES_IN_TRANSACTION_NOT_ALLOWED | RC_TXN_EXCEEDS_MAX_DDLS |
| Unique constraint violation | ERRCODE_UNIQUE_VIOLATION | RC_UNIQUE_VIOLATION |
| Table \"%s\" does not exist. | ERRCODE_UNDEFINED_TABLE | RC_TABLE_NOT_FOUND |
| Index \"%s\" does not exist. | ERRCODE_UNDEFINED_TABLE | RC_INDEX_NOT_FOUND |
| Unknown error has occurred. | ERRCODE_FDW_ERROR | RC_LOCAL_ROW_FOUND |
| Unknown error has occurred. | ERRCODE_FDW_ERROR | RC_LOCAL_ROW_NOT_FOUND |
| Unknown error has occurred. | ERRCODE_FDW_ERROR | RC_LOCAL_ROW_DELETED |
| Unknown error has occurred. | ERRCODE_FDW_ERROR | RC_INSERT_ON_EXIST |
| Unknown error has occurred. | ERRCODE_FDW_ERROR | RC_INDEX_RETRY_INSERT |
| Unknown error has occurred. | ERRCODE_FDW_ERROR | RC_INDEX_DELETE |
| Unknown error has occurred. | ERRCODE_FDW_ERROR | RC_LOCAL_ROW_NOT_VISIBLE |
| Memory is temporarily unavailable. | ERRCODE_OUT_OF_LOGICAL_MEMORY | RC_MEMORY_ALLOCATION_ERROR |
| Unknown error has occurred. | ERRCODE_FDW_ERROR | RC_ILLEGAL_ROW_STATE |
| Null constraint violated. | ERRCODE_FDW_ERROR | RC_NULL_VIOLATION |
| Critical error. | ERRCODE_FDW_ERROR | RC_PANIC |
| A checkpoint is in progress – cannot truncate table. | ERRCODE_FDW_OPERATION_NOT_SUPPORTED | RC_NA |
| Unknown error has occurred. | ERRCODE_FDW_ERROR | RC_MAX_VALUE |
| <recovery message> | - | ERRCODE_CONFIG_FILE_ERROR |
| <recovery message> | - | ERRCODE_INVALID_TABLE_DEFINITION |
| Memory engine – Failed to perform commit prepared. | - | ERRCODE_INVALID_TRANSACTION_STATE |
| Invalid option <option name> | - | ERRCODE_FDW_INVALID_OPTION_NAME |
| Invalid memory allocation request size. | - | ERRCODE_INVALID_PARAMETER_VALUE |
| Memory is temporarily unavailable. | - | ERRCODE_OUT_OF_LOGICAL_MEMORY |
| Could not serialize access due to concurrent update. | - | ERRCODE_T_R_SERIALIZATION_FAILURE |
| Alter table operation is not supported for memory table. | - | ERRCODE_FDW_OPERATION_NOT_SUPPORTED |
| Allocation of table metadata failed. | - | ERRCODE_OUT_OF_MEMORY |
| Database with OID %u does not exist. | - | ERRCODE_UNDEFINED_DATABASE |
| Value exceeds maximum precision: %d. | - | ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE |
| You have reached a maximum logical capacity %lu of allowed %lu. | - | ERRCODE_OUT_OF_LOGICAL_MEMORY |