greenplumn CMappingColIdVar 源码

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

greenplumn CMappingColIdVar 代码

文件路径:/src/include/gpopt/translate/CMappingColIdVar.h

//---------------------------------------------------------------------------
//	Greenplum Database
//	Copyright (C) 2011 Greenplum, Inc.
//
//	@filename:
//		CMappingColIdVar.h
//
//	@doc:
//		Abstract base class of ColId to VAR mapping when translating CDXLScalars
//		If we need a CDXLScalar translator during DXL->PlStmt or DXL->Query translation
//		we implement a colid->Var mapping for PlStmt or Query respectively that
//		is derived from this interface.
//
//	@test:
//
//
//---------------------------------------------------------------------------

#ifndef GPDXL_CMappingColIdVar_H
#define GPDXL_CMappingColIdVar_H

#include "gpos/base.h"

//fwd decl
struct Var;
struct Param;
struct PlannedStmt;
struct Query;

namespace gpdxl
{
using namespace gpos;

// fwd decl
class CDXLScalarIdent;

//---------------------------------------------------------------------------
//	@class:
//		CMappingColIdVar
//
//	@doc:
//		Class providing the interface for ColId in CDXLScalarIdent to Var
//		mapping when translating CDXLScalar nodes
//
//---------------------------------------------------------------------------
class CMappingColIdVar
{
protected:
	// memory pool
	CMemoryPool *m_mp;

public:
	// ctor/dtor
	explicit CMappingColIdVar(CMemoryPool *);

	virtual ~CMappingColIdVar() = default;

	// translate DXL ScalarIdent node into GPDB Var node
	virtual Var *VarFromDXLNodeScId(const CDXLScalarIdent *) = 0;
};
}  // namespace gpdxl

#endif	//GPDXL_CMappingColIdVar_H

// EOF

相关信息

greenplumn 源码目录

相关文章

greenplumn CCTEListEntry 源码

greenplumn CContextDXLToPlStmt 源码

greenplumn CContextQueryToDXL 源码

greenplumn CDXLTranslateContext 源码

greenplumn CDXLTranslateContextBaseTable 源码

greenplumn CGPDBAttInfo 源码

greenplumn CGPDBAttOptCol 源码

greenplumn CIndexQualInfo 源码

greenplumn CMappingColIdVarPlStmt 源码

greenplumn CMappingElementColIdParamId 源码

0  赞