greenplumn CScalarSubqueryAny 源码

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

greenplumn CScalarSubqueryAny 代码

文件路径:/src/backend/gporca/libgpopt/include/gpopt/operators/CScalarSubqueryAny.h

//---------------------------------------------------------------------------
//	Greenplum Database
//	Copyright (C) 2011 EMC Corp.
//
//	@filename:
//		CScalarSubqueryAny.h
//
//	@doc:
//		Class for scalar subquery ANY operators
//---------------------------------------------------------------------------
#ifndef GPOPT_CScalarSubqueryAny_H
#define GPOPT_CScalarSubqueryAny_H

#include "gpos/base.h"

#include "gpopt/operators/CScalarSubqueryQuantified.h"

namespace gpopt
{
using namespace gpos;

//---------------------------------------------------------------------------
//	@class:
//		CScalarSubqueryAny
//
//	@doc:
//		Scalar subquery ANY.
//		A scalar subquery ANY expression has two children: relational and scalar.
//
//---------------------------------------------------------------------------
class CScalarSubqueryAny : public CScalarSubqueryQuantified
{
private:
public:
	CScalarSubqueryAny(const CScalarSubqueryAny &) = delete;

	// ctor
	CScalarSubqueryAny(CMemoryPool *mp, IMDId *scalar_op_mdid,
					   const CWStringConst *pstrScalarOp,
					   const CColRef *colref);

	// dtor
	~CScalarSubqueryAny() override = default;

	// ident accessors
	EOperatorId
	Eopid() const override
	{
		return EopScalarSubqueryAny;
	}

	// return a string for scalar subquery
	const CHAR *
	SzId() const override
	{
		return "CScalarSubqueryAny";
	}

	// return a copy of the operator with remapped columns
	COperator *PopCopyWithRemappedColumns(CMemoryPool *mp,
										  UlongToColRefMap *colref_mapping,
										  BOOL must_exist) override;

	// conversion function
	static CScalarSubqueryAny *
	PopConvert(COperator *pop)
	{
		GPOS_ASSERT(nullptr != pop);
		GPOS_ASSERT(EopScalarSubqueryAny == pop->Eopid());

		return dynamic_cast<CScalarSubqueryAny *>(pop);
	}

};	// class CScalarSubqueryAny
}  // namespace gpopt

#endif	// !GPOPT_CScalarSubqueryAny_H

// EOF

相关信息

greenplumn 源码目录

相关文章

greenplumn CExpression 源码

greenplumn CExpressionFactorizer 源码

greenplumn CExpressionHandle 源码

greenplumn CExpressionPreprocessor 源码

greenplumn CExpressionUtils 源码

greenplumn CHashedDistributions 源码

greenplumn CLogical 源码

greenplumn CLogicalApply 源码

greenplumn CLogicalAssert 源码

greenplumn CLogicalBitmapTableGet 源码

0  赞