greenplumn exception 源码

2022-08-18 浏览 (345)

greenplumn exception 代码

文件路径:/src/backend/gporca/libnaucrates/include/naucrates/exception.h

/---------------------------------------------------------------------------
/	Greenplum Database
/	Copyright (C) 2011 EMC Corp.
/
/	@filename:
/		exception.h
/
/	@doc:
/		Definition of DXL-specific exception types
/---------------------------------------------------------------------------
#ifndef DXL_exception_H
#define DXL_exception_H

#include "gpos/memory/CMemoryPool.h"
#include "gpos/types.h"

namespace gpdxl
{
/ major exception types - reserve range 200-1000
enum ExMajor
{
	ExmaDXL = 200,
	ExmaMD = 300,
	ExmaComm = 400,
	ExmaGPDB = 500,
	ExmaConstExprEval = 600,

	ExmaSentinel
};

/ minor exception types
enum ExMinor
{
	/ DXL-parsing related errors
	ExmiDXLUnexpectedTag,
	ExmiDXLMissingAttribute,
	ExmiDXLInvalidAttributeValue,
	ExmiDXLUnrecognizedOperator,
	ExmiDXLUnrecognizedType,
	ExmiDXLUnrecognizedCompOperator,
	ExmiDXLValidationError,
	ExmiDXLXercesParseError,
	ExmiDXLIncorrectNumberOfChildren,
	ExmiPlStmt2DXLConversion,
	ExmiDXL2PlStmtConversion,
	ExmiDXL2PlStmtExternalScanError,
	ExmiDXL2PlStmtMissingPlanForSubPlanTranslation,
	ExmiQuery2DXLAttributeNotFound,
	ExmiQuery2DXLUnsupportedFeature,
	ExmiQuery2DXLDuplicateRTE,
	ExmiQuery2DXLMissingValue,
	ExmiQuery2DXLNotNullViolation,
	ExmiQuery2DXLError,
	ExmiExpr2DXLUnsupportedFeature,
	ExmiExpr2DXLAttributeNotFound,
	ExmiDXL2PlStmtAttributeNotFound,
	ExmiDXL2ExprAttributeNotFound,

	/ MD related errors
	ExmiMDCacheEntryDuplicate,
	ExmiMDCacheEntryNotFound,
	ExmiMDObjUnsupported,

	/ communication related errors
	ExmiCommPropagateError,
	ExmiCommUnexpectedMessage,

	/ GPDB-related exceptions
	ExmiGPDBError,

	/ exceptions related to constant expression evaluation
	ExmiConstExprEvalNonConst,

	/ ORCA Exceptions that need to be reported as ERROR to GPDB
	ExmiOptimizerError,
	ExmiNoAvailableMemory,
	ExmiInvalidComparisonTypeCode,

	ExmiDXLSentinel
};

/ message initialization for GPOS exceptions
gpos::GPOS_RESULT EresExceptionInit(gpos::CMemoryPool *mp);

}  / namespace gpdxl

#endif	/ !DXL_exception_H


/ EOF

相关信息

greenplumn 源码目录

相关文章

greenplumn init 源码

^