greenplumn CDatumBoolGPDB 源码

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

greenplumn CDatumBoolGPDB 代码

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

//---------------------------------------------------------------------------
//	Greenplum Database
//	Copyright (C) 2011 EMC Corp.
//
//	@filename:
//		CDatumBoolGPDB.h
//
//	@doc:
//		GPDB-specific bool representation
//---------------------------------------------------------------------------
#ifndef GPNAUCRATES_CDatumBoolGPDB_H
#define GPNAUCRATES_CDatumBoolGPDB_H

#include "gpos/base.h"

#include "naucrates/base/IDatumBool.h"
#include "naucrates/md/CMDTypeBoolGPDB.h"

namespace gpnaucrates
{
//---------------------------------------------------------------------------
//	@class:
//		CDatumBoolGPDB
//
//	@doc:
//		GPDB-specific bool representation
//
//---------------------------------------------------------------------------
class CDatumBoolGPDB : public IDatumBool
{
private:
	// type information
	IMDId *m_mdid;

	// boolean value
	BOOL m_value;

	// is null
	BOOL m_is_null;

public:
	CDatumBoolGPDB(const CDatumBoolGPDB &) = delete;

	// ctors
	CDatumBoolGPDB(CSystemId sysid, BOOL value, BOOL is_null = false);
	CDatumBoolGPDB(IMDId *mdid, BOOL value, BOOL is_null = false);

	// dtor
	~CDatumBoolGPDB() override;

	// accessor of metadata type mdid
	IMDId *MDId() const override;

	// accessor of boolean value
	BOOL GetValue() const override;

	// accessor of size
	ULONG Size() const override;

	// accessor of is null
	BOOL IsNull() const override;

	// return string representation
	const CWStringConst *GetStrRepr(CMemoryPool *mp) const override;

	// hash function
	ULONG HashValue() const override;

	// match function for datums
	BOOL Matches(const IDatum *) const override;

	// copy datum
	IDatum *MakeCopy(CMemoryPool *mp) const override;

	// print function
	IOstream &OsPrint(IOstream &os) const override;

};	// class CDatumBoolGPDB
}  // namespace gpnaucrates

#endif	// !GPNAUCRATES_CDatumBoolGPDB_H

// EOF

相关信息

greenplumn 源码目录

相关文章

greenplumn CDatumGenericGPDB 源码

greenplumn CDatumInt2GPDB 源码

greenplumn CDatumInt4GPDB 源码

greenplumn CDatumInt8GPDB 源码

greenplumn CDatumOidGPDB 源码

greenplumn CQueryToDXLResult 源码

greenplumn IDatum 源码

greenplumn IDatumBool 源码

greenplumn IDatumGeneric 源码

greenplumn IDatumInt2 源码

0  赞