greenplumn CContextQueryToDXL 源码

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

greenplumn CContextQueryToDXL 代码

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

//---------------------------------------------------------------------------
//	Greenplum Database
//	Copyright (C) 2011 Greenplum, Inc.
//
//	@filename:
//		CContextQueryToDXL.h
//
//	@doc:
//		Class to hold information about a whole top-level query, while
//		recursively translating a Query tree to DXL tree.
//
//---------------------------------------------------------------------------

#ifndef GPDXL_CContextQueryToDXL_H
#define GPDXL_CContextQueryToDXL_H

#include "gpos/base.h"

#include "gpopt/translate/CTranslatorUtils.h"
#include "naucrates/dxl/CIdGenerator.h"
#include "naucrates/dxl/operators/CDXLNode.h"

#define GPDXL_CTE_ID_START 1
#define GPDXL_COL_ID_START 1

namespace gpdxl
{
// fwd declarations
class CTranslatorQueryToDXL;
class CTranslatorScalarToDXL;

//---------------------------------------------------------------------------
//	@class:
//		CContextQueryToDXL
//
//	@doc:
//		Class to hold information about a whole top-level query, while
//		recursively translating a Query tree to DXL tree.
//
//---------------------------------------------------------------------------
class CContextQueryToDXL
{
	friend class CTranslatorQueryToDXL;
	friend class CTranslatorScalarToDXL;

private:
	// memory pool
	CMemoryPool *m_mp;

	// counter for generating unique column ids
	CIdGenerator *m_colid_counter;

	// counter for generating unique CTE ids
	CIdGenerator *m_cte_id_counter;

	// does the query have any distributed tables?
	BOOL m_has_distributed_tables;

	// What operator classes are used in the distribution keys?
	DistributionHashOpsKind m_distribution_hashops;

public:
	// ctor
	CContextQueryToDXL(CMemoryPool *mp);

	// dtor
	~CContextQueryToDXL();
};
}  // namespace gpdxl
#endif	// GPDXL_CContextQueryToDXL_H

//EOF

相关信息

greenplumn 源码目录

相关文章

greenplumn CCTEListEntry 源码

greenplumn CContextDXLToPlStmt 源码

greenplumn CDXLTranslateContext 源码

greenplumn CDXLTranslateContextBaseTable 源码

greenplumn CGPDBAttInfo 源码

greenplumn CGPDBAttOptCol 源码

greenplumn CIndexQualInfo 源码

greenplumn CMappingColIdVar 源码

greenplumn CMappingColIdVarPlStmt 源码

greenplumn CMappingElementColIdParamId 源码

0  赞