greenplumn CSerializablePlan 源码

2022-08-18 浏览 (582)

greenplumn CSerializablePlan 代码

文件路径:/src/backend/gporca/libgpopt/include/gpopt/minidump/CSerializablePlan.h

/---------------------------------------------------------------------------
/	Greenplum Database
/	Copyright (C) 2012 EMC Corp.
/
/	@filename:
/		CSerializablePlan.h
/
/	@doc:
/		Serializable plan object used to dump the query plan
/---------------------------------------------------------------------------
#ifndef GPOPT_CSerializablePlan_H
#define GPOPT_CSerializablePlan_H

#include "gpos/base.h"
#include "gpos/error/CSerializable.h"
#include "gpos/string/CWStringDynamic.h"

#include "naucrates/dxl/operators/CDXLNode.h"

using namespace gpos;
using namespace gpdxl;

namespace gpopt
{
/---------------------------------------------------------------------------
/	@class:
/		CSerializablePlan
/
/	@doc:
/		Serializable plan object
/
/---------------------------------------------------------------------------
class CSerializablePlan : public CSerializable
{
private:
	CMemoryPool *m_mp;

	/ plan DXL node
	const CDXLNode *m_plan_dxl_root;

	/ serialized plan
	CWStringDynamic *m_pstrPlan;

	/ plan Id
	ULLONG m_plan_id;

	/ plan space size
	ULLONG m_plan_space_size;


public:
	CSerializablePlan(const CSerializablePlan &) = delete;

	/ ctor
	CSerializablePlan(CMemoryPool *mp, const CDXLNode *pdxlnPlan,
					  ULLONG plan_id, ULLONG plan_space_size);

	/ dtor
	~CSerializablePlan() override;

	/ serialize object to passed buffer
	void Serialize(COstream &oos) override;

};	/ class CSerializablePlan
}  / namespace gpopt

#endif	/ !GPOPT_CSerializablePlan_H

/ EOF

相关信息

greenplumn 源码目录

相关文章

greenplumn CDXLMinidump 源码

greenplumn CMetadataAccessorFactory 源码

greenplumn CMiniDumperDXL 源码

greenplumn CMinidumperUtils 源码

greenplumn CSerializableMDAccessor 源码

greenplumn CSerializableOptimizerConfig 源码

greenplumn CSerializableQuery 源码

greenplumn CSerializableStackTrace 源码

^