greenplumn CSystemId 源码

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

greenplumn CSystemId 代码

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

//---------------------------------------------------------------------------
//	Greenplum Database
//	Copyright (C) 2012 EMC Corp.
//
//	@filename:
//		CSystemId.h
//
//	@doc:
//		Class for representing the system id of a metadata provider
//---------------------------------------------------------------------------



#ifndef GPMD_CSystemId_H
#define GPMD_CSystemId_H

#include "gpos/base.h"

#include "naucrates/md/IMDId.h"

#define GPDXL_SYSID_LENGTH 10

namespace gpmd
{
using namespace gpos;


//---------------------------------------------------------------------------
//	@class:
//		CSystemId
//
//	@doc:
//		Class for representing the system id of a metadata provider
//
//---------------------------------------------------------------------------
class CSystemId
{
private:
	// system id type
	IMDId::EMDIdType m_mdid_type;

	// system id
	WCHAR m_sysid_char[GPDXL_SYSID_LENGTH + 1];

public:
	// ctor
	CSystemId(IMDId::EMDIdType mdid_type, const WCHAR *sysid_char,
			  ULONG length = GPDXL_SYSID_LENGTH);

	// copy ctor
	CSystemId(const CSystemId &);

	// type of system id
	IMDId::EMDIdType
	MdidType() const
	{
		return m_mdid_type;
	}

	// system id string
	const WCHAR *
	GetBuffer() const
	{
		return m_sysid_char;
	}

	// equality
	BOOL Equals(const CSystemId &sysid) const;

	// hash function
	ULONG HashValue() const;
};

// dynamic arrays over md system id elements
using CSystemIdArray = CDynamicPtrArray<CSystemId, CleanupDelete>;
}  // namespace gpmd



#endif	// !GPMD_CSystemId_H

// EOF

相关信息

greenplumn 源码目录

相关文章

greenplumn CDXLBucket 源码

greenplumn CDXLColStats 源码

greenplumn CDXLRelStats 源码

greenplumn CDXLStatsDerivedColumn 源码

greenplumn CDXLStatsDerivedRelation 源码

greenplumn CGPDBTypeHelper 源码

greenplumn CMDAggregateGPDB 源码

greenplumn CMDArrayCoerceCastGPDB 源码

greenplumn CMDCastGPDB 源码

greenplumn CMDCheckConstraintGPDB 源码

0  赞