greenplumn CSerializableMDAccessor 源码

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

greenplumn CSerializableMDAccessor 代码

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

//---------------------------------------------------------------------------
//	Greenplum Database
//	Copyright (C) 2011 EMC Corp.
//
//	@filename:
//		CSerializableMDAccessor.h
//
//	@doc:
//		Wrapper for serializing MD accessor objects
//---------------------------------------------------------------------------
#ifndef GPOS_CSerializableMDAccessor_H
#define GPOS_CSerializableMDAccessor_H

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

#include "gpopt/operators/CExpression.h"

using namespace gpos;
using namespace gpdxl;

namespace gpopt
{
// fwd decl
class CMDAccessor;

//---------------------------------------------------------------------------
//	@class:
//		CSerializableMDAccessor
//
//	@doc:
//		Wrapper for serializing MD objects in a minidump
//
//---------------------------------------------------------------------------
class CSerializableMDAccessor : public CSerializable
{
private:
	// MD accessor
	CMDAccessor *m_pmda;

	// serialize header
	void SerializeHeader(COstream &oos);

	// serialize footer
	static void SerializeFooter(COstream &oos);

public:
	CSerializableMDAccessor(const CSerializableMDAccessor &) = delete;

	// ctor
	explicit CSerializableMDAccessor(CMDAccessor *md_accessor);

	// dtor
	~CSerializableMDAccessor() override = default;

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

};	// class CSerializableMDAccessor
}  // namespace gpopt

#endif	// !GPOS_CSerializableMDAccessor_H

// EOF

相关信息

greenplumn 源码目录

相关文章

greenplumn CDXLMinidump 源码

greenplumn CMetadataAccessorFactory 源码

greenplumn CMiniDumperDXL 源码

greenplumn CMinidumperUtils 源码

greenplumn CSerializableOptimizerConfig 源码

greenplumn CSerializablePlan 源码

greenplumn CSerializableQuery 源码

greenplumn CSerializableStackTrace 源码

0  赞