greenplumn CDXLStatsDerivedRelation 源码
greenplumn CDXLStatsDerivedRelation 代码
文件路径:/src/backend/gporca/libnaucrates/include/naucrates/md/CDXLStatsDerivedRelation.h
//---------------------------------------------------------------------------
//	Greenplum Database
//	Copyright (C) 2012 EMC Corp.
//
//	@filename:
//		CDXLStatsDerivedRelation.h
//
//	@doc:
//		Class representing DXL derived relation statistics
//---------------------------------------------------------------------------
#ifndef GPMD_CDXLStatsDerivedRelation_H
#define GPMD_CDXLStatsDerivedRelation_H
#include "gpos/base.h"
#include "gpos/common/CDouble.h"
#include "naucrates/md/CDXLStatsDerivedColumn.h"
namespace gpdxl
{
class CXMLSerializer;
}
namespace gpmd
{
using namespace gpos;
using namespace gpdxl;
using namespace gpmd;
//---------------------------------------------------------------------------
//	@class:
//		CDXLStatsDerivedRelation
//
//	@doc:
//		Class representing DXL derived relation statistics
//
//---------------------------------------------------------------------------
class CDXLStatsDerivedRelation : public CRefCount
{
private:
	// number of rows
	CDouble m_rows;
	// flag to indicate if input relation is empty
	BOOL m_empty;
	// array of derived column statistics
	CDXLStatsDerivedColumnArray *m_dxl_stats_derived_col_array;
public:
	CDXLStatsDerivedRelation(const CDXLStatsDerivedRelation &) = delete;
	// ctor
	CDXLStatsDerivedRelation(
		CDouble rows, BOOL is_empty,
		CDXLStatsDerivedColumnArray *dxl_stats_derived_col_array);
	// dtor
	~CDXLStatsDerivedRelation() override;
	// number of rows
	CDouble
	Rows() const
	{
		return m_rows;
	}
	// is statistics on an empty input
	virtual BOOL
	IsEmpty() const
	{
		return m_empty;
	}
	// derived column statistics
	const CDXLStatsDerivedColumnArray *GetDXLStatsDerivedColArray() const;
	// serialize bucket in DXL format
	void Serialize(gpdxl::CXMLSerializer *) const;
#ifdef GPOS_DEBUG
	// debug print of the bucket
	void DebugPrint(IOstream &os) const;
#endif
};
// array of dxl buckets
using CDXLStatsDerivedRelationArray =
	CDynamicPtrArray<CDXLStatsDerivedRelation, CleanupRelease>;
}  // namespace gpmd
#endif	// !GPMD_CDXLStatsDerivedRelation_H
// EOF
相关信息
相关文章
greenplumn CDXLStatsDerivedColumn 源码
greenplumn CMDAggregateGPDB 源码
greenplumn CMDArrayCoerceCastGPDB 源码
                        
                            0
                        
                        
                             赞
                        
                    
                    
                热门推荐
- 
                        2、 - 优质文章
 - 
                        3、 gate.io
 - 
                        7、 openharmony
 - 
                        9、 golang