greenplumn IDatumInt8 源码
greenplumn IDatumInt8 代码
文件路径:/src/backend/gporca/libnaucrates/include/naucrates/base/IDatumInt8.h
//---------------------------------------------------------------------------
// Greenplum Database
// Copyright (C) 2012 EMC Corp.
//
// @filename:
// IDatumInt8.h
//
// @doc:
// Base abstract class for int8 representation
//---------------------------------------------------------------------------
#ifndef GPNAUCRATES_IDatumInt8_H
#define GPNAUCRATES_IDatumInt8_H
#include "gpos/base.h"
#include "naucrates/base/IDatum.h"
namespace gpnaucrates
{
//---------------------------------------------------------------------------
// @class:
// IDatumInt8
//
// @doc:
// Base abstract class for int8 representation
//
//---------------------------------------------------------------------------
class IDatumInt8 : public IDatum
{
private:
public:
IDatumInt8(const IDatumInt8 &) = delete;
// ctor
IDatumInt8() = default;
// dtor
~IDatumInt8() override = default;
// accessor for datum type
IMDType::ETypeInfo
GetDatumType() override
{
return IMDType::EtiInt8;
}
// accessor of integer value
virtual LINT Value() const = 0;
// can datum be mapped to a double
BOOL
IsDatumMappableToDouble() const override
{
return true;
}
// map to double for stats computation
CDouble
GetDoubleMapping() const override
{
return CDouble(Value());
}
// can datum be mapped to LINT
BOOL
IsDatumMappableToLINT() const override
{
return true;
}
// map to LINT for statistics computation
LINT
GetLINTMapping() const override
{
return Value();
}
// byte array representation of datum
const BYTE *
GetByteArrayValue() const override
{
GPOS_ASSERT(!"Invalid invocation of MakeCopyOfValue");
return nullptr;
}
// does the datum need to be padded before statistical derivation
BOOL
NeedsPadding() const override
{
return false;
}
// return the padded datum
IDatum *
MakePaddedDatum(CMemoryPool *, // mp,
ULONG // col_len
) const override
{
GPOS_ASSERT(!"Invalid invocation of MakePaddedDatum");
return nullptr;
}
// does datum support like predicate
BOOL
SupportsLikePredicate() const override
{
return false;
}
// return the default scale factor of like predicate
CDouble
GetLikePredicateScaleFactor() const override
{
GPOS_ASSERT(!"Invalid invocation of DLikeSelectivity");
return false;
}
}; // class IDatumInt8
} // namespace gpnaucrates
#endif // !GPNAUCRATES_IDatumInt8_H
// EOF
相关信息
相关文章
greenplumn CDatumGenericGPDB 源码
0
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦