{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\"\"\"\n", "This dictionary contains all error codes and descriptions of errors for Secondo server.\n", "\"\"\"\n", "secondo_errors = {\n", "\n", "0: \"ERR_NO_ERROR\",\n", "1: \"ERR_CMD_NOT_RECOGNIZED\",\n", "2: \"ERR_IN_QUERY_EXPR\",\n", "3: \"ERR_EXPR_NOT_EVALUABLE\",\n", "4: \"ERR_NO_OBJ_CREATED\",\n", "5: \"ERR_NO_TYPE_DEFINED\",\n", "6: \"ERR_NO_DATABASE_OPEN\",\n", "7: \"ERR_DATABASE_OPEN\",\n", "701: \"ERR_CREATE_DATABASE\",\n", "702: \"ERR_DELETE_DATABASE\",\n", "8: \"ERR_UNDEF_OBJ_VALUE\",\n", "9: \"ERR_SYNTAX_ERROR\",\n", "\n", "10: \"ERR_IDENT_USED\",\n", "11: \"ERR_IDENT_UNKNOWN_TYPE\",\n", "12: \"ERR_IDENT_UNKNOWN_OBJ\",\n", "13: \"ERR_EXPR_TYPE_NEQ_OBJ_TYPE\",\n", "14: \"ERR_TYPE_NAME_USED_BY_OBJ\",\n", "15: \"ERR_IDENT_RESERVED\",\n", "16: \"ERR_UPDATE_FOR_DERIVED_OBJ_UNSUPPORTED\",\n", "\n", "20: \"ERR_TRANSACTION_ACTIVE\",\n", "21: \"ERR_NO_TRANSACTION_ACTIVE\",\n", "22: \"ERR_BEGIN_TRANSACTION_FAILED\",\n", "23: \"ERR_COMMIT_OR_ABORT_FAILED\",\n", "24: \"ERR_IN_DEFINITIONS_FILE\",\n", "25: \"ERR_IDENT_UNKNOWN_DB_NAME\",\n", "26: \"ERR_PROBLEM_IN_WRITING_TO_FILE\",\n", "27: \"ERR_DB_NAME_NEQ_IDENT\",\n", "28: \"ERR_PROBLEM_IN_READING_FILE\",\n", "29: \"ERR_IN_LIST_STRUCTURE_IN_FILE\",\n", "\n", "30: \"ERR_CMD_NOT_YET_IMPL\",\n", "31: \"ERR_CMD_LEVEL_NOT_YET_IMPL\",\n", "32: \"ERR_CMD_NOT_IMPL_AT_THIS_LEVEL\",\n", "\n", "\n", "\n", "40: \"ERR_IN_TYPE_DEFINITION\",\n", "41: \"ERR_NAME_DOUBLY_DEFINED\",\n", "42: \"ERR_IN_TYPE_EXPRESSION\",\n", " \n", "50: \"ERR_IN_OBJ_DEFINITION\",\n", "51: \"ERR_OBJ_NAME_DOUBLY_DEFINED\",\n", "52: \"ERR_WRONG_TYPE_EXPR_FOR_OBJ\",\n", "53: \"ERR_WRONG_LIST_REP_FOR_OBJ\",\n", "\n", "60: \"ERR_KIND_DOES_NOT_MATCH_TYPE_EXPR\",\n", "61: \"ERR_SPECIFIC_KIND_CHECKING_ERROR\",\n", "\n", "70: \"ERR_IN_VALUELIST_TC_V\",\n", "71: \"ERR_SPECIFIC_FOR_TYPE_CONSTRUCTOR\",\n", "72: \"ERR_IN_VALUELIST_TC\",\n", "73: \"ERR_AT_POS_IN_VALUELIST\",\n", "\n", "80: \"ERR_IN_SECONDO_PROTOCOL\",\n", "81: \"ERR_CONNECTION_TO_SERVER_LOST\",\n", "82: \"ERR_IDENT_UNKNOWN_DB_OBJECT\",\n", "83: \"ERR_OBJ_NAME_IN_FILE_NEQ_IDENT\",\n", "84: \"ERR_IDENT_ALREADY_KNOWN_IN_DB\",\n", "85: \"ERR_ALGEBRA_UNKNOWN\",\n", "86: \"ERR_IN_FILETRANSFER\",\n", "87: \"ERR_INVALID_FILE_NAME\",\n", "88: \"ERR_FILE_EXISTS\",\n", "89: \"ERR_FILE_NOT_EXISTS\",\n", "\n", "100: \"ERR_SYSTEM_ERROR\",\n", "101: \"ERR_SYSTEM_DIED\",\n", "\n", "-1: \"ERR_UNKNOWN_RETURN_CODE\",\n", "\n", "\n", "-999: \"E_SMI_BDB\",\n", "\n", "-1001: \"E_SMI_STARTUP\",\n", "-1002: \"E_SMI_SHUTDOWN\",\n", "-1003: \"E_SMI_DB_CREATE\",\n", "-1004: \"E_SMI_DB_OPEN\",\n", "-1005: \"E_SMI_DB_CLOSE\",\n", "-1006: \"E_SMI_DB_ERASE\",\n", "-1007: \"E_SMI_DB_NOTOPEN\",\n", "-1008: \"E_SMI_DB_NOTCLOSED\",\n", "-1009: \"E_SMI_DB_INVALIDNAME\",\n", "-10010: \"E_SMI_DB_EXISTING\",\n", "-10011: \"E_SMI_DB_NOTEXISTING\",\n", "-10012: \"E_SMI_DB_LOOKUP\",\n", "-10013: \"E_SMI_DB_INSERT_CATALOG\",\n", "-10014: \"E_SMI_DB_DELETE_CATALOG\",\n", "-10015: \"E_SMI_DB_UPDATE_CATALOG\",\n", "-10016: \"E_SMI_DB_NOTFOUND\",\n", "-10017: \"E_SMI_DB_NOTLOCKED\",\n", "-10018: \"E_SMI_DB_REGISTER\",\n", "-10019: \"E_SMI_DB_UNREGISTER\",\n", "-10020: \"E_SMI_DB_LOCK\",\n", "-10021: \"E_SMI_DB_UNLOCK\",\n", "-10022: \"E_SMI_DB_LOCK_DEADLOCK\",\n", "\n", "-1051: \"E_SMI_TXN_BEGIN\",\n", "-1052: \"E_SMI_TXN_COMMIT\",\n", "-1053: \"E_SMI_TXN_ABORT\",\n", "-1054: \"E_SMI_TXN_RUNNING\",\n", "-1055: \"E_SMI_TXN_NOTRUNNING\",\n", "\n", "-1101: \"E_SMI_CATALOG_LOOKUP\",\n", "-1102: \"E_SMI_CATALOG_INSERT\",\n", "-1103: \"E_SMI_CATALOG_DELETE\",\n", "-1104: \"E_SMI_CATALOG_KEYEXIST\",\n", "-1105: \"E_SMI_CATALOG_NOTFOUND\",\n", "-1106: \"E_SMI_CATALOG_RENAME\",\n", "\n", "-1201: \"E_SMI_FILE_INVALIDNAME\",\n", "-1202: \"E_SMI_FILE_NOFILEID\",\n", "-1203: \"E_SMI_FILE_BADCONTEXT\",\n", "-1204: \"E_SMI_FILE_CREATE\",\n", "-1205: \"E_SMI_FILE_OPEN\",\n", "-1206: \"E_SMI_FILE_CLOSE\",\n", "-1207: \"E_SMI_FILE_KEYEXIST\",\n", "-1208: \"E_SMI_FILE_ISTEMP\",\n", "\n", "-1251: \"E_SMI_RECORD_NOTINIT\",\n", "-1252: \"E_SMI_RECORD_READ\",\n", "-1253: \"E_SMI_RECORD_WRITE\",\n", "-1254: \"E_SMI_RECORD_SELECT\",\n", "-1255: \"E_SMI_RECORD_APPEND\",\n", "-1256: \"E_SMI_RECORD_DELETE\",\n", "-1257: \"E_SMI_RECORD_SELECTALL\",\n", "-1258: \"E_SMI_RECORD_INSERT\",\n", "-1259: \"E_SMI_RECORD_TRUNCATE\",\n", "-1260: \"E_SMI_RECORD_READONLY\",\n", "-1261: \"E_SMI_RECORD_FINISH\",\n", "\n", "-1271: \"E_SMI_CURSOR_NOTOPEN\",\n", "-1272: \"E_SMI_CURSOR_NEXT\",\n", "-1273: \"E_SMI_CURSOR_ENDOFSCAN\",\n", "-1274: \"E_SMI_CURSOR_DELETE\",\n", "-1275: \"E_SMI_CURSOR_FINISH\",\n", "\n", "-1290: \"E_SMI_PREFETCH_RANGE\"\n", "}\n", "\n", "\n", "\n", "class GeneralError(Exception):\n", " \"\"\"\n", " This exception class is the base class of all other error exceptions,\n", " used to catch all errors with one single except statement.\n", " \"\"\"\n", " def __init__(self, error, *args):\n", " self.error = error\n", " super(GeneralError, self).__init__(error, *args)\n", "\n", "\n", "class SecondoAPI_Error(GeneralError):\n", " \"\"\"\n", " The class that is responsible for raising Exception for errors that are related\n", " to the PySecondo interface rather than the database itself.\n", " \"\"\"\n", " def __init__(self, error, *args):\n", " self.error = error\n", " super(SecondoAPI_Error, self).__init__(error, *args)\n", "\n", "\n", "class SecondoError(GeneralError):\n", " \"\"\"\n", " The class that is responsible for raising Exception for errors that are related to the database.\n", " \"\"\"\n", " def __init__(self, error, *args):\n", " self.error = error\n", " super(SecondoError, self).__init__(error, *args)\n", "\n", "\n", "class UnexpectedSystemError(SecondoError):\n", " \"\"\"\n", " The class that is responsible for raising Exception for errors that are related to the database's operation\n", " e.g. an unexpected disconnect, the data source name not found,\n", " a transaction could not be processed, a memory allocation error, etc.\n", " \"\"\"\n", " def __init__(self, error, *args):\n", " self.error = error\n", " super(UnexpectedSystemError, self).__init__(error, *args)\n", "\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.4" } }, "nbformat": 4, "nbformat_minor": 2 }