CDXLScalar类作为Base class for representing scalar DXL operators,该类只是定义一些接口,其中实现了GetDXLOperatorType函数,其返回EdxloptypeScalar,代表scalar DXL operators。
class CDXLScalar : public CDXLOperator{
private:
CDXLScalar(CDXLScalar &); // private copy ctor
public:
explicit CDXLScalar(CMemoryPool *mp); // ctor/dtor
virtual ~CDXLScalar(){};
Edxloptype GetDXLOperatorType() const;
// does the operator return a boolean result
virtual BOOL HasBoolResult(CMDAccessor *md_accessor) const = 0;
};
//---------------------------------------------------------------------------
// @function:
// CDXLScalar::CDXLScalar
// @doc:
// Constructor
//---------------------------------------------------------------------------
CDXLScalar::CDXLScalar(CMemoryPool *mp) : CDXLOperator(mp){}
//---------------------------------------------------------------------------
// @function:
// CDXLScalar::GetDXLOperatorType
// @doc:
// Operator Type
//---------------------------------------------------------------------------
Edxloptype CDXLScalar::GetDXLOperatorType() const {
return EdxloptypeScalar;
}