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
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦