greenplumn IMDScalarOp 源码
greenplumn IMDScalarOp 代码
文件路径:/src/backend/gporca/libnaucrates/include/naucrates/md/IMDScalarOp.h
//---------------------------------------------------------------------------
// Greenplum Database
// Copyright (C) 2011 EMC Corp.
//
// @filename:
// IMDScalarOp.h
//
// @doc:
// Interface for scalar operators in the metadata cache
//---------------------------------------------------------------------------
#ifndef GPMD_IMDScalarOp_H
#define GPMD_IMDScalarOp_H
#include "gpos/base.h"
#include "naucrates/md/IMDCacheObject.h"
#include "naucrates/md/IMDType.h"
namespace gpmd
{
using namespace gpos;
//---------------------------------------------------------------------------
// @class:
// IMDScalarOp
//
// @doc:
// Interface for scalar operators in the metadata cache
//
//---------------------------------------------------------------------------
class IMDScalarOp : public IMDCacheObject
{
public:
// object type
Emdtype
MDType() const override
{
return EmdtOp;
}
// type of left operand
virtual IMDId *GetLeftMdid() const = 0;
// type of right operand
virtual IMDId *GetRightMdid() const = 0;
// type of result operand
virtual IMDId *GetResultTypeMdid() const = 0;
// id of function which implements the operator
virtual IMDId *FuncMdId() const = 0;
// id of commute operator
virtual IMDId *GetCommuteOpMdid() const = 0;
// id of inverse operator
virtual IMDId *GetInverseOpMdid() const = 0;
// is this an equality operator
virtual BOOL IsEqualityOp() const = 0;
// does operator return NULL when all inputs are NULL?
virtual BOOL ReturnsNullOnNullInput() const = 0;
// preserves NDVs of its inputs?
virtual BOOL IsNDVPreserving() const = 0;
virtual IMDType::ECmpType ParseCmpType() const = 0;
// operator name
CMDName Mdname() const override = 0;
// number of classes this operator belongs to
virtual ULONG OpfamiliesCount() const = 0;
// operator class at given position
virtual IMDId *OpfamilyMdidAt(ULONG pos) const = 0;
// compatible hash opfamily
virtual IMDId *HashOpfamilyMdid() const = 0;
};
} // namespace gpmd
#endif // !GPMD_IMDScalarOp_H
// EOF
相关信息
相关文章
greenplumn CDXLStatsDerivedColumn 源码
greenplumn CDXLStatsDerivedRelation 源码
greenplumn CMDAggregateGPDB 源码
0
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
7、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦