CGPDBAttOptCol.h 1.6 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
//---------------------------------------------------------------------------
//	Greenplum Database
//	Copyright (C) 2012 EMC Greenplum
//
//	@filename:
//		CGPDBAttOptCol.h
//
//	@doc:
//		Class to represent pair of GPDB var info to optimizer col info
//
//	@test:
//
//
//---------------------------------------------------------------------------

#ifndef GPDXL_CGPDBAttOptCol_H
#define GPDXL_CGPDBAttOptCol_H

#include "gpos/common/CRefCount.h"
#include "gpopt/translate/CGPDBAttInfo.h"
#include "gpopt/translate/COptColInfo.h"

namespace gpdxl
{
J
Jesse Zhang 已提交
25
using namespace gpos;
26

J
Jesse Zhang 已提交
27 28 29 30 31 32 33 34 35 36 37 38 39
//---------------------------------------------------------------------------
//	@class:
//		CGPDBAttOptCol
//
//	@doc:
//		Class to represent pair of GPDB var info to optimizer col info
//
//---------------------------------------------------------------------------
class CGPDBAttOptCol : public CRefCount
{
private:
	// gpdb att info
	CGPDBAttInfo *m_gpdb_att_info;
40

J
Jesse Zhang 已提交
41 42
	// optimizer col info
	COptColInfo *m_opt_col_info;
43

J
Jesse Zhang 已提交
44 45
	// copy c'tor
	CGPDBAttOptCol(const CGPDBAttOptCol &);
46

J
Jesse Zhang 已提交
47 48 49 50 51 52 53 54
public:
	// ctor
	CGPDBAttOptCol(CGPDBAttInfo *gpdb_att_info, COptColInfo *opt_col_info)
		: m_gpdb_att_info(gpdb_att_info), m_opt_col_info(opt_col_info)
	{
		GPOS_ASSERT(NULL != m_gpdb_att_info);
		GPOS_ASSERT(NULL != m_opt_col_info);
	}
55

J
Jesse Zhang 已提交
56 57 58 59 60 61
	// d'tor
	virtual ~CGPDBAttOptCol()
	{
		m_gpdb_att_info->Release();
		m_opt_col_info->Release();
	}
62

J
Jesse Zhang 已提交
63 64 65 66 67 68
	// accessor
	const CGPDBAttInfo *
	GetGPDBAttInfo() const
	{
		return m_gpdb_att_info;
	}
69

J
Jesse Zhang 已提交
70 71 72 73 74 75 76
	// accessor
	const COptColInfo *
	GetOptColInfo() const
	{
		return m_opt_col_info;
	}
};
77

J
Jesse Zhang 已提交
78
}  // namespace gpdxl
79

J
Jesse Zhang 已提交
80
#endif	// !GPDXL_CGPDBAttOptCol_H
81 82

// EOF