greenplumn CDXLMinidump 源码
greenplumn CDXLMinidump 代码
文件路径:/src/backend/gporca/libgpopt/include/gpopt/minidump/CDXLMinidump.h
//---------------------------------------------------------------------------
// Greenplum Database
// Copyright (C) 2012 EMC Corp.
//
// @filename:
// CDXLMinidump.h
//
// @doc:
// DXL-based minidump structure
//---------------------------------------------------------------------------
#ifndef GPOPT_CDXLMinidump_H
#define GPOPT_CDXLMinidump_H
#include "gpos/base.h"
#include "naucrates/dxl/CDXLUtils.h"
// fwd decl
namespace gpos
{
class CBitSet;
}
namespace gpdxl
{
class CDXLNode;
}
using namespace gpos;
using namespace gpdxl;
namespace gpopt
{
//---------------------------------------------------------------------------
// @class:
// CDXLMinidump
//
// @doc:
// DXL-based minidump
//
//---------------------------------------------------------------------------
class CDXLMinidump
{
private:
// traceflags
CBitSet *m_pbs;
// optimizer configuration
COptimizerConfig *m_optimizer_config;
// DXL query tree
CDXLNode *m_query_dxl_root;
// Array of DXL nodes that represent the query output
CDXLNodeArray *m_query_output;
// Array of DXL nodes that represent the CTE producers
CDXLNodeArray *m_cte_producers;
// DXL plan
CDXLNode *m_plan_dxl_root;
// metadata objects
IMDCacheObjectArray *m_mdid_cached_obj_array;
// source system ids
CSystemIdArray *m_system_id_array;
// plan Id
ULLONG m_plan_id;
// plan space size
ULLONG m_plan_space_size;
public:
CDXLMinidump(const CDXLMinidump &) = delete;
// ctor
CDXLMinidump(CBitSet *pbs, COptimizerConfig *optimizer_config,
CDXLNode *query, CDXLNodeArray *query_output_dxlnode_array,
CDXLNodeArray *cte_producers, CDXLNode *pdxlnPlan,
IMDCacheObjectArray *mdcache_obj_array,
CSystemIdArray *pdrgpsysid, ULLONG plan_id,
ULLONG plan_space_size);
// dtor
~CDXLMinidump();
// traceflags
const CBitSet *Pbs() const;
// optimizer configuration
COptimizerConfig *
GetOptimizerConfig() const
{
return m_optimizer_config;
}
// query object
const CDXLNode *GetQueryDXLRoot() const;
// query output columns
const CDXLNodeArray *PdrgpdxlnQueryOutput() const;
// CTE list
const CDXLNodeArray *GetCTEProducerDXLArray() const;
// plan
const CDXLNode *PdxlnPlan() const;
// metadata objects
const IMDCacheObjectArray *GetMdIdCachedObjArray() const;
// source system ids
const CSystemIdArray *GetSysidPtrArray() const;
// return plan id
ULLONG GetPlanId() const;
// return plan space size
ULLONG GetPlanSpaceSize() const;
}; // class CDXLMinidump
} // namespace gpopt
#endif // !GPOPT_CDXLMinidump_H
// EOF
相关信息
相关文章
greenplumn CMetadataAccessorFactory 源码
greenplumn CMinidumperUtils 源码
greenplumn CSerializableMDAccessor 源码
greenplumn CSerializableOptimizerConfig 源码
greenplumn CSerializablePlan 源码
0
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦