greenplumn IMDProvider 源码

  • 2022-08-18
  • 浏览 (349)

greenplumn IMDProvider 代码

文件路径:/src/backend/gporca/libnaucrates/src/md/IMDProvider.cpp

//---------------------------------------------------------------------------
//	Greenplum Database
//	Copyright (C) 2012 EMC Corp.
//
//	@filename:
//		IMDProvider.cpp
//
//	@doc:
//		Abstract class for retrieving metadata from an external location
//---------------------------------------------------------------------------

#include "naucrates/md/IMDProvider.h"

#include "naucrates/md/CMDIdGPDB.h"

using namespace gpmd;

//---------------------------------------------------------------------------
//	@function:
//		IMDProvider::GetGPDBTypeMdid
//
//	@doc:
//		Return the mdid for the requested type
//
//---------------------------------------------------------------------------
IMDId *
IMDProvider::GetGPDBTypeMdid(CMemoryPool *mp,
							 CSystemId
#ifdef GPOS_DEBUG
								 sysid
#endif	// GPOS_DEBUG
							 ,
							 IMDType::ETypeInfo type_info)
{
	GPOS_ASSERT(IMDId::EmdidGPDB == sysid.MdidType());
	GPOS_ASSERT(IMDType::EtiGeneric > type_info);

	switch (type_info)
	{
		case IMDType::EtiInt2:
			return GPOS_NEW(mp) CMDIdGPDB(GPDB_INT2);

		case IMDType::EtiInt4:
			return GPOS_NEW(mp) CMDIdGPDB(GPDB_INT4);

		case IMDType::EtiInt8:
			return GPOS_NEW(mp) CMDIdGPDB(GPDB_INT8);

		case IMDType::EtiBool:
			return GPOS_NEW(mp) CMDIdGPDB(GPDB_BOOL);

		case IMDType::EtiOid:
			return GPOS_NEW(mp) CMDIdGPDB(GPDB_OID);

		default:
			return nullptr;
	}
}

// EOF

相关信息

greenplumn 源码目录

相关文章

greenplumn CDXLBucket 源码

greenplumn CDXLColStats 源码

greenplumn CDXLRelStats 源码

greenplumn CDXLStatsDerivedColumn 源码

greenplumn CDXLStatsDerivedRelation 源码

greenplumn CMDAggregateGPDB 源码

greenplumn CMDArrayCoerceCastGPDB 源码

greenplumn CMDCastGPDB 源码

greenplumn CMDCheckConstraintGPDB 源码

greenplumn CMDColumn 源码

0  赞