greenplumn CConstExprEvaluatorForDates 源码

2022-08-18 浏览 (279)

greenplumn CConstExprEvaluatorForDates 代码

文件路径:/src/backend/gporca/server/include/unittest/gpopt/CConstExprEvaluatorForDates.h

/---------------------------------------------------------------------------
/	Greenplum Database
/	Copyright (C) 2014 VMware, Inc. or its affiliates.
/
/	@filename:
/		CConstExprEvaluatorForDates.h
/
/	@doc:
/		Implementation of a constant expression evaluator for dates data
/
/	@owner:
/
/
/	@test:
/
/---------------------------------------------------------------------------

#ifndef GPOPT_CConstExprEvaluatorForDates_H
#define GPOPT_CConstExprEvaluatorForDates_H

#include "gpos/base.h"

#include "gpopt/eval/IConstExprEvaluator.h"

namespace gpopt
{
/ fwd declarations
class CExpression;

/---------------------------------------------------------------------------
/	@class:
/		CConstExprEvaluatorForDates
/
/	@doc:
/		Implementation of a constant expression evaluator for dates data.
/		It is meant to be used in Optimizer tests that have no access to
/		backend evaluator.
/
/---------------------------------------------------------------------------
class CConstExprEvaluatorForDates : public IConstExprEvaluator
{
private:
	/ memory pool, not owned
	CMemoryPool *m_mp;

public:
	CConstExprEvaluatorForDates(const CConstExprEvaluatorForDates &) = delete;

	/ ctor
	explicit CConstExprEvaluatorForDates(CMemoryPool *mp) : m_mp(mp)
	{
	}

	/ dtor
	~CConstExprEvaluatorForDates() override = default;

	/ evaluate the given expression and return the result as a new expression
	/ caller takes ownership of returned expression
	CExpression *PexprEval(CExpression *pexpr) override;

	/ returns true iff the evaluator can evaluate constant expressions
	BOOL
	FCanEvalExpressions() override
	{
		return true;
	}
};	/ class CConstExprEvaluatorForDates
}  / namespace gpopt

#endif	/ !GPOPT_CConstExprEvaluatorForDates_H

/ EOF

相关信息

greenplumn 源码目录

相关文章

greenplumn CSubqueryTestUtils 源码

greenplumn CTestUtils 源码

^