XFLAIM modifications to use FTK.
git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@383 0109f412-320b-0410-ab79-c3e0c5ffbbe6
This commit is contained in:
@@ -25,6 +25,372 @@
|
||||
|
||||
#include "flaimsys.h"
|
||||
|
||||
/****************************************************************************
|
||||
Desc: Error code to string mapping tables
|
||||
****************************************************************************/
|
||||
typedef struct
|
||||
{
|
||||
RCODE rc;
|
||||
const char * pszErrorStr;
|
||||
} F_ERROR_CODE_MAP;
|
||||
|
||||
#define flmErrorCodeEntry(c) { c, #c }
|
||||
|
||||
/****************************************************************************
|
||||
Desc:
|
||||
****************************************************************************/
|
||||
F_ERROR_CODE_MAP gv_FlmGeneralErrors[
|
||||
NE_XFLM_LAST_GENERAL_ERROR - NE_XFLM_FIRST_GENERAL_ERROR - 1] =
|
||||
{
|
||||
flmErrorCodeEntry( NE_XFLM_BAD_PREFIX),
|
||||
flmErrorCodeEntry( NE_XFLM_ATTRIBUTE_PURGED),
|
||||
flmErrorCodeEntry( NE_XFLM_BAD_COLLECTION),
|
||||
flmErrorCodeEntry( NE_XFLM_DATABASE_LOCK_REQ_TIMEOUT),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_DATA_COMPONENT),
|
||||
flmErrorCodeEntry( NE_XFLM_MUST_INDEX_ON_PRESENCE),
|
||||
flmErrorCodeEntry( NE_XFLM_BAD_IX),
|
||||
flmErrorCodeEntry( NE_XFLM_BACKUP_ACTIVE),
|
||||
flmErrorCodeEntry( NE_XFLM_SERIAL_NUM_MISMATCH),
|
||||
flmErrorCodeEntry( NE_XFLM_BAD_RFL_DB_SERIAL_NUM),
|
||||
flmErrorCodeEntry( NE_XFLM_BAD_RFL_FILE_NUMBER),
|
||||
flmErrorCodeEntry( NE_XFLM_CANNOT_DEL_ELEMENT),
|
||||
flmErrorCodeEntry( NE_XFLM_CANNOT_MOD_DATA_TYPE),
|
||||
flmErrorCodeEntry( NE_XFLM_CANNOT_INDEX_DATA_TYPE),
|
||||
flmErrorCodeEntry( NE_XFLM_BAD_ELEMENT_NUM),
|
||||
flmErrorCodeEntry( NE_XFLM_BAD_ATTRIBUTE_NUM),
|
||||
flmErrorCodeEntry( NE_XFLM_BAD_ENCDEF_NUM),
|
||||
flmErrorCodeEntry( NE_XFLM_INVALID_FILE_SEQUENCE),
|
||||
flmErrorCodeEntry( NE_XFLM_DUPLICATE_ELEMENT_NUM),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_TRANS_TYPE),
|
||||
flmErrorCodeEntry( NE_XFLM_UNSUPPORTED_VERSION),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_TRANS_OP),
|
||||
flmErrorCodeEntry( NE_XFLM_INCOMPLETE_LOG),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_INDEX_DEF),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_INDEX_ON),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_STATE_CHANGE),
|
||||
flmErrorCodeEntry( NE_XFLM_BAD_RFL_SERIAL_NUM),
|
||||
flmErrorCodeEntry( NE_XFLM_NEWER_FLAIM),
|
||||
flmErrorCodeEntry( NE_XFLM_CANNOT_MOD_ELEMENT_STATE),
|
||||
flmErrorCodeEntry( NE_XFLM_CANNOT_MOD_ATTRIBUTE_STATE),
|
||||
flmErrorCodeEntry( NE_XFLM_NO_MORE_ELEMENT_NUMS),
|
||||
flmErrorCodeEntry( NE_XFLM_NO_TRANS_ACTIVE),
|
||||
flmErrorCodeEntry( NE_XFLM_NOT_FLAIM),
|
||||
flmErrorCodeEntry( NE_XFLM_OLD_VIEW),
|
||||
flmErrorCodeEntry( NE_XFLM_SHARED_LOCK),
|
||||
flmErrorCodeEntry( NE_XFLM_TRANS_ACTIVE),
|
||||
flmErrorCodeEntry( NE_XFLM_RFL_TRANS_GAP),
|
||||
flmErrorCodeEntry( NE_XFLM_BAD_COLLATED_KEY),
|
||||
flmErrorCodeEntry( NE_XFLM_MUST_DELETE_INDEXES),
|
||||
flmErrorCodeEntry( NE_XFLM_RFL_INCOMPLETE),
|
||||
flmErrorCodeEntry( NE_XFLM_CANNOT_RESTORE_RFL_FILES),
|
||||
flmErrorCodeEntry( NE_XFLM_INCONSISTENT_BACKUP),
|
||||
flmErrorCodeEntry( NE_XFLM_BLOCK_CRC),
|
||||
flmErrorCodeEntry( NE_XFLM_ABORT_TRANS),
|
||||
flmErrorCodeEntry( NE_XFLM_NOT_RFL),
|
||||
flmErrorCodeEntry( NE_XFLM_BAD_RFL_PACKET),
|
||||
flmErrorCodeEntry( NE_XFLM_DATA_PATH_MISMATCH),
|
||||
flmErrorCodeEntry( NE_XFLM_MUST_CLOSE_DATABASE),
|
||||
flmErrorCodeEntry( NE_XFLM_INVALID_ENCKEY_CRC),
|
||||
flmErrorCodeEntry( NE_XFLM_HDR_CRC),
|
||||
flmErrorCodeEntry( NE_XFLM_NO_NAME_TABLE),
|
||||
flmErrorCodeEntry( NE_XFLM_UNALLOWED_UPGRADE),
|
||||
flmErrorCodeEntry( NE_XFLM_DUPLICATE_ATTRIBUTE_NUM),
|
||||
flmErrorCodeEntry( NE_XFLM_DUPLICATE_INDEX_NUM),
|
||||
flmErrorCodeEntry( NE_XFLM_DUPLICATE_COLLECTION_NUM),
|
||||
flmErrorCodeEntry( NE_XFLM_DUPLICATE_ELEMENT_NAME),
|
||||
flmErrorCodeEntry( NE_XFLM_DUPLICATE_ATTRIBUTE_NAME),
|
||||
flmErrorCodeEntry( NE_XFLM_DUPLICATE_INDEX_NAME),
|
||||
flmErrorCodeEntry( NE_XFLM_DUPLICATE_COLLECTION_NAME),
|
||||
flmErrorCodeEntry( NE_XFLM_ELEMENT_PURGED),
|
||||
flmErrorCodeEntry( NE_XFLM_TOO_MANY_OPEN_DATABASES),
|
||||
flmErrorCodeEntry( NE_XFLM_DATABASE_OPEN),
|
||||
flmErrorCodeEntry( NE_XFLM_CACHE_ERROR),
|
||||
flmErrorCodeEntry( NE_XFLM_DB_FULL),
|
||||
flmErrorCodeEntry( NE_XFLM_QUERY_SYNTAX),
|
||||
flmErrorCodeEntry( NE_XFLM_INDEX_OFFLINE),
|
||||
flmErrorCodeEntry( NE_XFLM_RFL_DISK_FULL),
|
||||
flmErrorCodeEntry( NE_XFLM_MUST_WAIT_CHECKPOINT),
|
||||
flmErrorCodeEntry( NE_XFLM_MISSING_ENC_ALGORITHM),
|
||||
flmErrorCodeEntry( NE_XFLM_INVALID_ENC_ALGORITHM),
|
||||
flmErrorCodeEntry( NE_XFLM_INVALID_ENC_KEY_SIZE),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_DATA_TYPE),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_STATE),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_ELEMENT_NAME),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_ATTRIBUTE_NAME),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_COLLECTION_NAME),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_INDEX_NAME),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_ELEMENT_NUMBER),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_ATTRIBUTE_NUMBER),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_COLLECTION_NUMBER),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_INDEX_NUMBER),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_ENCDEF_NUMBER),
|
||||
flmErrorCodeEntry( NE_XFLM_COLLECTION_NAME_MISMATCH),
|
||||
flmErrorCodeEntry( NE_XFLM_ELEMENT_NAME_MISMATCH),
|
||||
flmErrorCodeEntry( NE_XFLM_ATTRIBUTE_NAME_MISMATCH),
|
||||
flmErrorCodeEntry( NE_XFLM_INVALID_COMPARE_RULE),
|
||||
flmErrorCodeEntry( NE_XFLM_DUPLICATE_KEY_COMPONENT),
|
||||
flmErrorCodeEntry( NE_XFLM_DUPLICATE_DATA_COMPONENT),
|
||||
flmErrorCodeEntry( NE_XFLM_MISSING_KEY_COMPONENT),
|
||||
flmErrorCodeEntry( NE_XFLM_MISSING_DATA_COMPONENT),
|
||||
flmErrorCodeEntry( NE_XFLM_INVALID_INDEX_OPTION),
|
||||
flmErrorCodeEntry( NE_XFLM_NO_MORE_ATTRIBUTE_NUMS),
|
||||
flmErrorCodeEntry( NE_XFLM_MISSING_ELEMENT_NAME),
|
||||
flmErrorCodeEntry( NE_XFLM_MISSING_ATTRIBUTE_NAME),
|
||||
flmErrorCodeEntry( NE_XFLM_MISSING_ELEMENT_NUMBER),
|
||||
flmErrorCodeEntry( NE_XFLM_MISSING_ATTRIBUTE_NUMBER),
|
||||
flmErrorCodeEntry( NE_XFLM_MISSING_INDEX_NAME),
|
||||
flmErrorCodeEntry( NE_XFLM_MISSING_INDEX_NUMBER),
|
||||
flmErrorCodeEntry( NE_XFLM_MISSING_COLLECTION_NAME),
|
||||
flmErrorCodeEntry( NE_XFLM_MISSING_COLLECTION_NUMBER),
|
||||
flmErrorCodeEntry( NE_XFLM_MISSING_ENCDEF_NAME),
|
||||
flmErrorCodeEntry( NE_XFLM_MISSING_ENCDEF_NUMBER),
|
||||
flmErrorCodeEntry( NE_XFLM_NO_MORE_INDEX_NUMS),
|
||||
flmErrorCodeEntry( NE_XFLM_NO_MORE_COLLECTION_NUMS),
|
||||
flmErrorCodeEntry( NE_XFLM_CANNOT_DEL_ATTRIBUTE),
|
||||
flmErrorCodeEntry( NE_XFLM_TOO_MANY_PENDING_NODES),
|
||||
flmErrorCodeEntry( NE_XFLM_BAD_USE_OF_ELM_ROOT_TAG),
|
||||
flmErrorCodeEntry( NE_XFLM_DUP_SIBLING_IX_COMPONENTS),
|
||||
flmErrorCodeEntry( NE_XFLM_RFL_FILE_NOT_FOUND),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_KEY_COMPONENT_NUM),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_DATA_COMPONENT_NUM),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_PREFIX_NUMBER),
|
||||
flmErrorCodeEntry( NE_XFLM_MISSING_PREFIX_NAME),
|
||||
flmErrorCodeEntry( NE_XFLM_MISSING_PREFIX_NUMBER),
|
||||
flmErrorCodeEntry( NE_XFLM_UNDEFINED_ELEMENT_NAME),
|
||||
flmErrorCodeEntry( NE_XFLM_UNDEFINED_ATTRIBUTE_NAME),
|
||||
flmErrorCodeEntry( NE_XFLM_DUPLICATE_PREFIX_NAME),
|
||||
flmErrorCodeEntry( NE_XFLM_NAMESPACE_NOT_ALLOWED),
|
||||
flmErrorCodeEntry( NE_XFLM_INVALID_NAMESPACE_DECL),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_NAMESPACE_DECL_DATATYPE),
|
||||
flmErrorCodeEntry( NE_XFLM_NO_MORE_PREFIX_NUMS),
|
||||
flmErrorCodeEntry( NE_XFLM_NO_MORE_ENCDEF_NUMS),
|
||||
flmErrorCodeEntry( NE_XFLM_COLLECTION_OFFLINE),
|
||||
flmErrorCodeEntry( NE_XFLM_DELETE_NOT_ALLOWED),
|
||||
flmErrorCodeEntry( NE_XFLM_RESET_NEEDED),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_REQUIRED_VALUE),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_INDEX_COMPONENT),
|
||||
flmErrorCodeEntry( NE_XFLM_ILLEGAL_UNIQUE_SUB_ELEMENT_VALUE),
|
||||
flmErrorCodeEntry( NE_XFLM_DATA_TYPE_MUST_BE_NO_DATA),
|
||||
flmErrorCodeEntry( NE_XFLM_CANNOT_SET_REQUIRED),
|
||||
flmErrorCodeEntry( NE_XFLM_CANNOT_SET_LIMIT),
|
||||
flmErrorCodeEntry( NE_XFLM_CANNOT_SET_INDEX_ON),
|
||||
flmErrorCodeEntry( NE_XFLM_CANNOT_SET_COMPARE_RULES),
|
||||
flmErrorCodeEntry( NE_XFLM_INPUT_PENDING),
|
||||
flmErrorCodeEntry( NE_XFLM_INVALID_NODE_TYPE),
|
||||
flmErrorCodeEntry( NE_XFLM_INVALID_CHILD_ELM_NODE_ID),
|
||||
flmErrorCodeEntry( NE_XFLM_RFL_END)
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
Desc:
|
||||
****************************************************************************/
|
||||
F_ERROR_CODE_MAP gv_FlmDomErrors[
|
||||
NE_XFLM_LAST_DOM_ERROR - NE_XFLM_FIRST_DOM_ERROR - 1] =
|
||||
{
|
||||
flmErrorCodeEntry( NE_XFLM_DOM_HIERARCHY_REQUEST_ERR),
|
||||
flmErrorCodeEntry( NE_XFLM_DOM_WRONG_DOCUMENT_ERR),
|
||||
flmErrorCodeEntry( NE_XFLM_DOM_DATA_ERROR),
|
||||
flmErrorCodeEntry( NE_XFLM_DOM_NODE_NOT_FOUND),
|
||||
flmErrorCodeEntry( NE_XFLM_DOM_INVALID_CHILD_TYPE),
|
||||
flmErrorCodeEntry( NE_XFLM_DOM_NODE_DELETED),
|
||||
flmErrorCodeEntry( NE_XFLM_DOM_DUPLICATE_ELEMENT)
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
Desc:
|
||||
****************************************************************************/
|
||||
F_ERROR_CODE_MAP gv_FlmQueryErrors[
|
||||
NE_XFLM_LAST_QUERY_ERROR - NE_XFLM_FIRST_QUERY_ERROR - 1] =
|
||||
{
|
||||
flmErrorCodeEntry( NE_XFLM_Q_UNMATCHED_RPAREN),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_UNEXPECTED_LPAREN),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_UNEXPECTED_RPAREN),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_EXPECTING_OPERAND),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_EXPECTING_OPERATOR),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_UNEXPECTED_COMMA),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_EXPECTING_LPAREN),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_UNEXPECTED_VALUE),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_INVALID_NUM_FUNC_ARGS),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_UNEXPECTED_XPATH_COMPONENT),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_ILLEGAL_LBRACKET),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_ILLEGAL_RBRACKET),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_ILLEGAL_OPERAND),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_ALREADY_OPTIMIZED),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_MISMATCHED_DB),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_ILLEGAL_OPERATOR),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_ILLEGAL_COMPARE_RULES),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_INCOMPLETE_QUERY_EXPR),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_NOT_POSITIONED),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_INVALID_NODE_ID_VALUE),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_INVALID_META_DATA_TYPE),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_NEW_EXPR_NOT_ALLOWED),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_INVALID_CONTEXT_POS),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_INVALID_FUNC_ARG),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_EXPECTING_RPAREN),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_TOO_LATE_TO_ADD_SORT_KEYS),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_INVALID_SORT_KEY_COMPONENT),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_DUPLICATE_SORT_KEY_COMPONENT),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_MISSING_SORT_KEY_COMPONENT),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_NO_SORT_KEY_COMPONENTS_SPECIFIED),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_SORT_KEY_CONTEXT_MUST_BE_ELEMENT),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_INVALID_ELEMENT_NUM_IN_SORT_KEYS),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_INVALID_ATTR_NUM_IN_SORT_KEYS),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_NON_POSITIONABLE_QUERY),
|
||||
flmErrorCodeEntry( NE_XFLM_Q_INVALID_POSITION)
|
||||
};
|
||||
|
||||
F_ERROR_CODE_MAP gv_FlmNiciErrors[
|
||||
NE_XFLM_LAST_NICI_ERROR - NE_XFLM_FIRST_NICI_ERROR - 1] =
|
||||
{
|
||||
flmErrorCodeEntry( NE_XFLM_NICI_CONTEXT),
|
||||
flmErrorCodeEntry( NE_XFLM_NICI_ATTRIBUTE_VALUE),
|
||||
flmErrorCodeEntry( NE_XFLM_NICI_BAD_ATTRIBUTE),
|
||||
flmErrorCodeEntry( NE_XFLM_NICI_WRAPKEY_FAILED),
|
||||
flmErrorCodeEntry( NE_XFLM_NICI_UNWRAPKEY_FAILED),
|
||||
flmErrorCodeEntry( NE_XFLM_NICI_INVALID_ALGORITHM),
|
||||
flmErrorCodeEntry( NE_XFLM_NICI_GENKEY_FAILED),
|
||||
flmErrorCodeEntry( NE_XFLM_NICI_BAD_RANDOM),
|
||||
flmErrorCodeEntry( NE_XFLM_PBE_ENCRYPT_FAILED),
|
||||
flmErrorCodeEntry( NE_XFLM_PBE_DECRYPT_FAILED),
|
||||
flmErrorCodeEntry( NE_XFLM_DIGEST_INIT_FAILED),
|
||||
flmErrorCodeEntry( NE_XFLM_DIGEST_FAILED),
|
||||
flmErrorCodeEntry( NE_XFLM_INJECT_KEY_FAILED),
|
||||
flmErrorCodeEntry( NE_XFLM_NICI_FIND_INIT),
|
||||
flmErrorCodeEntry( NE_XFLM_NICI_FIND_OBJECT),
|
||||
flmErrorCodeEntry( NE_XFLM_NICI_KEY_NOT_FOUND),
|
||||
flmErrorCodeEntry( NE_XFLM_NICI_ENC_INIT_FAILED),
|
||||
flmErrorCodeEntry( NE_XFLM_NICI_ENCRYPT_FAILED),
|
||||
flmErrorCodeEntry( NE_XFLM_NICI_DECRYPT_INIT_FAILED),
|
||||
flmErrorCodeEntry( NE_XFLM_NICI_DECRYPT_FAILED),
|
||||
flmErrorCodeEntry( NE_XFLM_NICI_WRAPKEY_NOT_FOUND),
|
||||
flmErrorCodeEntry( NE_XFLM_NOT_EXPECTING_PASSWORD),
|
||||
flmErrorCodeEntry( NE_XFLM_EXPECTING_PASSWORD),
|
||||
flmErrorCodeEntry( NE_XFLM_EXTRACT_KEY_FAILED),
|
||||
flmErrorCodeEntry( NE_XFLM_NICI_INIT_FAILED),
|
||||
flmErrorCodeEntry( NE_XFLM_BAD_ENCKEY_SIZE),
|
||||
flmErrorCodeEntry( NE_XFLM_ENCRYPTION_UNAVAILABLE)
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
Desc:
|
||||
****************************************************************************/
|
||||
char * FlmCorruptStrings[ FLM_NUM_CORRUPT_ERRORS] =
|
||||
{
|
||||
"BAD_CHAR", /*1*/
|
||||
"BAD_ASIAN_CHAR", /*2*/
|
||||
"BAD_CHAR_SET", /*3*/
|
||||
"BAD_TEXT_FIELD", /*4*/
|
||||
"BAD_NUMBER_FIELD", /*5*/
|
||||
"BAD_FIELD_TYPE", /*6*/
|
||||
"BAD_IX_DEF", /*7*/
|
||||
"MISSING_REQ_KEY_FIELD", /*8*/
|
||||
"BAD_TEXT_KEY_COLL_CHAR", /*9*/
|
||||
"BAD_TEXT_KEY_CASE_MARKER", /*10*/
|
||||
"BAD_NUMBER_KEY", /*11*/
|
||||
"BAD_BINARY_KEY", /*12*/
|
||||
"BAD_CONTEXT_KEY", /*13*/
|
||||
"BAD_KEY_FIELD_TYPE", /*14*/
|
||||
"Not_Used_15", /*15*/
|
||||
"Not_Used_16", /*16*/
|
||||
"Not_Used_17", /*17*/
|
||||
"BAD_KEY_LEN", /*18*/
|
||||
"BAD_LFH_LIST_PTR", /*19*/
|
||||
"BAD_LFH_LIST_END", /*20*/
|
||||
"INCOMPLETE_NODE", /*21*/
|
||||
"BAD_BLK_END", /*22*/
|
||||
"KEY_COUNT_MISMATCH", /*23*/
|
||||
"REF_COUNT_MISMATCH", /*24*/
|
||||
"BAD_CONTAINER_IN_KEY", /*25*/
|
||||
"BAD_BLK_HDR_ADDR", /*26*/
|
||||
"BAD_BLK_HDR_LEVEL", /*27*/
|
||||
"BAD_BLK_HDR_PREV", /*28*/
|
||||
|
||||
// WARNING: ANY CHANGES MADE TO THE FlmCorruptStrings TABLE MUST BE
|
||||
// REFLECTED IN THE CHECK CODE DEFINES FOUND IN flaimsys.h
|
||||
|
||||
"BAD_BLK_HDR_NEXT", /*29*/
|
||||
"BAD_BLK_HDR_TYPE", /*30*/
|
||||
"BAD_BLK_HDR_ROOT_BIT", /*31*/
|
||||
"BAD_BLK_HDR_BLK_END", /*32*/
|
||||
"BAD_BLK_HDR_LF_NUM", /*33*/
|
||||
"BAD_AVAIL_LIST_END", /*34*/
|
||||
"BAD_PREV_BLK_NEXT", /*35*/
|
||||
"BAD_FIRST_LAST_ELM_FLAG", /*36*/
|
||||
"nu", /*37*/
|
||||
"BAD_LEM", /*38*/
|
||||
"BAD_ELM_LEN", /*39*/
|
||||
"BAD_ELM_KEY_SIZE", /*40*/
|
||||
"BAD_ELM_KEY", /*41*/
|
||||
"BAD_ELM_KEY_ORDER", /*42*/
|
||||
"nu", /*43*/
|
||||
"BAD_CONT_ELM_KEY", /*44*/
|
||||
"NON_UNIQUE_FIRST_ELM_KEY", /*45*/
|
||||
"BAD_ELM_OFFSET", /*46*/
|
||||
"BAD_ELM_INVALID_LEVEL", /*47*/
|
||||
"BAD_ELM_FLD_NUM", /*48*/
|
||||
"BAD_ELM_FLD_LEN", /*49*/
|
||||
"BAD_ELM_FLD_TYPE", /*50*/
|
||||
"BAD_ELM_END", /*51*/
|
||||
"BAD_PARENT_KEY", /*52*/
|
||||
"BAD_ELM_DOMAIN_SEN", /*53*/
|
||||
"BAD_ELM_BASE_SEN", /*54*/
|
||||
"BAD_ELM_IX_REF", /*55*/
|
||||
"BAD_ELM_ONE_RUN_SEN", /*56*/
|
||||
"BAD_ELM_DELTA_SEN", /*57*/
|
||||
"BAD_ELM_DOMAIN", /*58*/
|
||||
|
||||
// WARNING: ANY CHANGES MADE TO THE FlmCorruptStrings TABLE MUST BE
|
||||
// REFLECTED IN THE CHECK CODE DEFINES FOUND IN flaimsys.h
|
||||
|
||||
"BAD_LAST_BLK_NEXT", /*59*/
|
||||
"BAD_FIELD_PTR", /*60*/
|
||||
"REBUILD_REC_EXISTS", /*61*/
|
||||
"REBUILD_KEY_NOT_UNIQUE", /*62*/
|
||||
"NON_UNIQUE_ELM_KEY_REF", /*63*/
|
||||
"OLD_VIEW", /*64*/
|
||||
"COULD_NOT_SYNC_BLK", /*65*/
|
||||
"IX_REF_REC_NOT_FOUND", /*66*/
|
||||
"IX_KEY_NOT_FOUND_IN_REC", /*67*/
|
||||
"KEY_NOT_IN_KEY_REFSET", /*68*/
|
||||
"BAD_BLK_CHECKSUM", /*69*/
|
||||
"BAD_LAST_DRN", /*70*/
|
||||
"BAD_FILE_SIZE", /*71*/
|
||||
"nu", /*72*/
|
||||
"BAD_DATE_FIELD", /*73*/
|
||||
"BAD_TIME_FIELD", /*74*/
|
||||
"BAD_TMSTAMP_FIELD", /*75*/
|
||||
"BAD_DATE_KEY", /*76*/
|
||||
"BAD_TIME_KEY", /*77*/
|
||||
"BAD_TMSTAMP_KEY", /*78*/
|
||||
"BAD_BLOB_FIELD", /*79*/
|
||||
|
||||
// WARNING: ANY CHANGES MADE TO THE FlmCorruptStrings TABLE MUST BE
|
||||
// REFLECTED IN THE CHECK CODE DEFINES FOUND IN flaimsys.h
|
||||
|
||||
"BAD_PCODE_IXD_TBL", /*80*/
|
||||
"NODE_QUARANTINED", /*81*/
|
||||
"BAD_BLK_TYPE", /*82*/
|
||||
"BAD_ELEMENT_CHAIN", /*83*/
|
||||
"BAD_ELM_EXTR_DATA", /*84*/
|
||||
"BAD_BLOCK_STRUCTURE", /*85*/
|
||||
"BAD_ROOT_PARENT", /*86*/
|
||||
"BAD_ROOT_LINK", /*87*/
|
||||
"BAD_PARENT_LINK", /*88*/
|
||||
"BAD_INVALID_ROOT", /*89*/
|
||||
"BAD_FIRST_CHILD_LINK", /*90*/
|
||||
"BAD_LAST_CHILD_LINK", /*91*/
|
||||
"BAD_PREV_SIBLING_LINK", /*92*/
|
||||
"BAD_NEXT_SIBLING_LINK", /*93*/
|
||||
"BAD_ANNOTATION_LINK", /*95*/
|
||||
"UNSUPPORTED_NODE_TYPE", /*96*/
|
||||
"BAD_INVALID_NAME_ID", /*97*/
|
||||
"BAD_INVALID_PREFIX_ID", /*98*/
|
||||
"BAD_DATA_BLOCK_COUNT", /*99*/
|
||||
"FLM_BAD_AVAIL_SIZE", /*100*/
|
||||
"BAD_NODE_TYPE", /*101*/
|
||||
"BAD_CHILD_ELM_COUNT", /*102*/
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
Desc: The primary purpose of this function is to provide a way to easily
|
||||
trap errors when they occur. Just put a breakpoint in this function
|
||||
@@ -53,7 +419,7 @@ RCODE flmMakeErr(
|
||||
break;
|
||||
case NE_XFLM_EOF_HIT:
|
||||
break;
|
||||
case NE_XFLM_END:
|
||||
case NE_XFLM_RFL_END:
|
||||
break;
|
||||
case NE_XFLM_EXISTS:
|
||||
break;
|
||||
@@ -66,7 +432,7 @@ RCODE flmMakeErr(
|
||||
|
||||
switch(rc)
|
||||
{
|
||||
case NE_XFLM_IO_BAD_FILE_HANDLE:
|
||||
case NE_FLM_IO_BAD_FILE_HANDLE:
|
||||
break;
|
||||
case NE_XFLM_DATA_ERROR:
|
||||
flmLogError( rc, "", pszFile, iLine);
|
||||
@@ -124,3 +490,134 @@ Exit:
|
||||
return( 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
Desc: Returns a pointer to the string representation of a corruption
|
||||
error code.
|
||||
****************************************************************************/
|
||||
const char * FLMAPI F_DbSystem::checkErrorToStr(
|
||||
FLMINT iCheckErrorCode)
|
||||
{
|
||||
if( (iCheckErrorCode >= 1) && (iCheckErrorCode <= FLM_NUM_CORRUPT_ERRORS))
|
||||
{
|
||||
return( FlmCorruptStrings [iCheckErrorCode - 1]);
|
||||
}
|
||||
else if( iCheckErrorCode == 0)
|
||||
{
|
||||
return( "OK");
|
||||
}
|
||||
else
|
||||
{
|
||||
return( "Unknown Error");
|
||||
}
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
Desc: Returns a pointer to the ASCII string representation
|
||||
of a return code.
|
||||
****************************************************************************/
|
||||
const char * F_DbSystem::errorString(
|
||||
RCODE rc)
|
||||
{
|
||||
const char * pszErrorStr;
|
||||
|
||||
if( rc == NE_XFLM_OK)
|
||||
{
|
||||
pszErrorStr = "NE_XFLM_OK";
|
||||
}
|
||||
else if( f_isToolkitError( rc))
|
||||
{
|
||||
pszErrorStr = f_errorString( rc);
|
||||
}
|
||||
else if( rc > NE_XFLM_FIRST_GENERAL_ERROR &&
|
||||
rc < NE_XFLM_LAST_GENERAL_ERROR)
|
||||
{
|
||||
pszErrorStr = gv_FlmGeneralErrors[
|
||||
rc - NE_XFLM_FIRST_GENERAL_ERROR - 1].pszErrorStr;
|
||||
}
|
||||
else if( rc > NE_XFLM_FIRST_DOM_ERROR &&
|
||||
rc < NE_XFLM_LAST_DOM_ERROR)
|
||||
{
|
||||
pszErrorStr = gv_FlmDomErrors[
|
||||
rc - NE_XFLM_FIRST_DOM_ERROR - 1].pszErrorStr;
|
||||
}
|
||||
else if( rc > NE_XFLM_FIRST_QUERY_ERROR &&
|
||||
rc < NE_XFLM_LAST_QUERY_ERROR)
|
||||
{
|
||||
pszErrorStr = gv_FlmQueryErrors[
|
||||
rc - NE_XFLM_FIRST_QUERY_ERROR - 1].pszErrorStr;
|
||||
}
|
||||
else if( rc > NE_XFLM_FIRST_NICI_ERROR &&
|
||||
rc < NE_XFLM_LAST_NICI_ERROR)
|
||||
{
|
||||
pszErrorStr = gv_FlmNiciErrors[
|
||||
rc - NE_XFLM_FIRST_NICI_ERROR - 1].pszErrorStr;
|
||||
}
|
||||
else
|
||||
{
|
||||
pszErrorStr = "Unknown error";
|
||||
}
|
||||
|
||||
return( pszErrorStr);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
Desc: Checks the error code mapping tables on startup
|
||||
****************************************************************************/
|
||||
RCODE F_DbSystem::checkErrorCodeTables( void)
|
||||
{
|
||||
RCODE rc = NE_XFLM_OK;
|
||||
FLMUINT uiLoop;
|
||||
|
||||
for( uiLoop = 0;
|
||||
uiLoop < (NE_XFLM_LAST_GENERAL_ERROR - NE_XFLM_FIRST_GENERAL_ERROR - 1);
|
||||
uiLoop++)
|
||||
{
|
||||
if( gv_FlmGeneralErrors[ uiLoop].rc !=
|
||||
(RCODE)(uiLoop + NE_XFLM_FIRST_GENERAL_ERROR + 1))
|
||||
{
|
||||
rc = RC_SET_AND_ASSERT( NE_XFLM_BAD_RCODE_TABLE);
|
||||
goto Exit;
|
||||
}
|
||||
}
|
||||
|
||||
for( uiLoop = 0;
|
||||
uiLoop < (NE_XFLM_LAST_DOM_ERROR - NE_XFLM_FIRST_DOM_ERROR - 1);
|
||||
uiLoop++)
|
||||
{
|
||||
if( gv_FlmDomErrors[ uiLoop].rc !=
|
||||
(RCODE)(uiLoop + NE_XFLM_FIRST_DOM_ERROR + 1))
|
||||
{
|
||||
rc = RC_SET_AND_ASSERT( NE_XFLM_BAD_RCODE_TABLE);
|
||||
goto Exit;
|
||||
}
|
||||
}
|
||||
|
||||
for( uiLoop = 0;
|
||||
uiLoop < (NE_XFLM_LAST_QUERY_ERROR - NE_XFLM_FIRST_QUERY_ERROR - 1);
|
||||
uiLoop++)
|
||||
{
|
||||
if( gv_FlmQueryErrors[ uiLoop].rc !=
|
||||
(RCODE)(uiLoop + NE_XFLM_FIRST_QUERY_ERROR + 1))
|
||||
{
|
||||
rc = RC_SET_AND_ASSERT( NE_XFLM_BAD_RCODE_TABLE);
|
||||
goto Exit;
|
||||
}
|
||||
}
|
||||
|
||||
for( uiLoop = 0;
|
||||
uiLoop < (NE_XFLM_LAST_NICI_ERROR - NE_XFLM_FIRST_NICI_ERROR - 1);
|
||||
uiLoop++)
|
||||
{
|
||||
if( gv_FlmNiciErrors[ uiLoop].rc !=
|
||||
(RCODE)(uiLoop + NE_XFLM_FIRST_NICI_ERROR + 1))
|
||||
{
|
||||
rc = RC_SET_AND_ASSERT( NE_XFLM_BAD_RCODE_TABLE);
|
||||
goto Exit;
|
||||
}
|
||||
}
|
||||
|
||||
Exit:
|
||||
|
||||
return( rc);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user