greenplumn CDrvdPropCtxtRelational 源码

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

greenplumn CDrvdPropCtxtRelational 代码

文件路径:/src/backend/gporca/libgpopt/include/gpopt/base/CDrvdPropCtxtRelational.h

//---------------------------------------------------------------------------
//	Greenplum Database
//	Copyright (C) 2013 EMC CORP.
//
//	@filename:
//		CDrvdPropCtxtRelational.h
//
//	@doc:
//		Container of information passed among expression nodes during
//		derivation of relational properties
//
//---------------------------------------------------------------------------
#ifndef GPOPT_CDrvdPropCtxtRelational_H
#define GPOPT_CDrvdPropCtxtRelational_H

#include "gpos/base.h"

#include "gpopt/base/CDrvdPropCtxt.h"


namespace gpopt
{
using namespace gpos;

//---------------------------------------------------------------------------
//	@class:
//		CDrvdPropCtxtRelational
//
//	@doc:
//		Container of information passed among expression nodes during
//		derivation of relational properties
//
//---------------------------------------------------------------------------
class CDrvdPropCtxtRelational : public CDrvdPropCtxt
{
private:
protected:
	// copy function
	CDrvdPropCtxt *
	PdpctxtCopy(CMemoryPool *mp) const override
	{
		return GPOS_NEW(mp) CDrvdPropCtxtRelational(mp);
	}

	// add props to context
	void
	AddProps(CDrvdProp *  // pdp
			 ) override
	{
		// derived relational context is currently empty
	}

public:
	CDrvdPropCtxtRelational(const CDrvdPropCtxtRelational &) = delete;

	// ctor
	CDrvdPropCtxtRelational(CMemoryPool *mp) : CDrvdPropCtxt(mp)
	{
	}

	// dtor
	~CDrvdPropCtxtRelational() override = default;


#ifdef GPOS_DEBUG

	// is it a relational property context?
	BOOL
	FRelational() const override
	{
		return true;
	}

#endif	// GPOS_DEBUG

	// conversion function
	static CDrvdPropCtxtRelational *
	PdpctxtrelConvert(CDrvdPropCtxt *pdpctxt)
	{
		GPOS_ASSERT(nullptr != pdpctxt);

		return dynamic_cast<CDrvdPropCtxtRelational *>(pdpctxt);
	}

};	// class CDrvdPropCtxtRelational

}  // namespace gpopt


#endif	// !GPOPT_CDrvdPropCtxtRelational_H

// EOF

相关信息

greenplumn 源码目录

相关文章

greenplumn CAutoOptCtxt 源码

greenplumn CCTEInfo 源码

greenplumn CCTEMap 源码

greenplumn CCTEReq 源码

greenplumn CCastUtils 源码

greenplumn CColConstraintsArrayMapper 源码

greenplumn CColConstraintsHashMapper 源码

greenplumn CColRef 源码

greenplumn CColRefComputed 源码

greenplumn CColRefSet 源码

0  赞