#include <RelAlgDagBuilder.h>
|
| RexLiteral (const int64_t val, const SQLTypes type, const SQLTypes target_type, const unsigned scale, const unsigned precision, const unsigned type_scale, const unsigned type_precision) |
|
| RexLiteral (const double val, const SQLTypes type, const SQLTypes target_type, const unsigned scale, const unsigned precision, const unsigned type_scale, const unsigned type_precision) |
|
| RexLiteral (const std::string &val, const SQLTypes type, const SQLTypes target_type, const unsigned scale, const unsigned precision, const unsigned type_scale, const unsigned type_precision) |
|
| RexLiteral (const bool val, const SQLTypes type, const SQLTypes target_type, const unsigned scale, const unsigned precision, const unsigned type_scale, const unsigned type_precision) |
|
| RexLiteral (const SQLTypes target_type) |
|
template<class T > |
T | getVal () const |
|
SQLTypes | getType () const |
|
SQLTypes | getTargetType () const |
|
unsigned | getScale () const |
|
unsigned | getPrecision () const |
|
unsigned | getTypeScale () const |
|
unsigned | getTypePrecision () const |
|
std::string | toString () const override |
|
std::unique_ptr< RexLiteral > | deepCopy () const |
|
virtual | ~Rex () |
|
Definition at line 68 of file RelAlgDagBuilder.h.
◆ RexLiteral() [1/5]
RexLiteral::RexLiteral |
( |
const int64_t |
val, |
|
|
const SQLTypes |
type, |
|
|
const SQLTypes |
target_type, |
|
|
const unsigned |
scale, |
|
|
const unsigned |
precision, |
|
|
const unsigned |
type_scale, |
|
|
const unsigned |
type_precision |
|
) |
| |
|
inline |
Definition at line 70 of file RelAlgDagBuilder.h.
References CHECK, is_datetime(), kBIGINT, kDECIMAL, kINT, kINTERVAL_DAY_TIME, and kINTERVAL_YEAR_MONTH.
const unsigned type_scale_
const boost::variant< int64_t, double, std::string, bool, void * > literal_
const unsigned precision_
const unsigned type_precision_
const SQLTypes target_type_
constexpr auto is_datetime(SQLTypes type)
◆ RexLiteral() [2/5]
RexLiteral::RexLiteral |
( |
const double |
val, |
|
|
const SQLTypes |
type, |
|
|
const SQLTypes |
target_type, |
|
|
const unsigned |
scale, |
|
|
const unsigned |
precision, |
|
|
const unsigned |
type_scale, |
|
|
const unsigned |
type_precision |
|
) |
| |
|
inline |
Definition at line 89 of file RelAlgDagBuilder.h.
References CHECK_EQ, and kDOUBLE.
const unsigned type_scale_
const boost::variant< int64_t, double, std::string, bool, void * > literal_
const unsigned precision_
const unsigned type_precision_
const SQLTypes target_type_
◆ RexLiteral() [3/5]
RexLiteral::RexLiteral |
( |
const std::string & |
val, |
|
|
const SQLTypes |
type, |
|
|
const SQLTypes |
target_type, |
|
|
const unsigned |
scale, |
|
|
const unsigned |
precision, |
|
|
const unsigned |
type_scale, |
|
|
const unsigned |
type_precision |
|
) |
| |
|
inline |
Definition at line 106 of file RelAlgDagBuilder.h.
References CHECK_EQ, and kTEXT.
const unsigned type_scale_
const boost::variant< int64_t, double, std::string, bool, void * > literal_
const unsigned precision_
const unsigned type_precision_
const SQLTypes target_type_
◆ RexLiteral() [4/5]
RexLiteral::RexLiteral |
( |
const bool |
val, |
|
|
const SQLTypes |
type, |
|
|
const SQLTypes |
target_type, |
|
|
const unsigned |
scale, |
|
|
const unsigned |
precision, |
|
|
const unsigned |
type_scale, |
|
|
const unsigned |
type_precision |
|
) |
| |
|
inline |
Definition at line 123 of file RelAlgDagBuilder.h.
References CHECK_EQ, and kBOOLEAN.
const unsigned type_scale_
const boost::variant< int64_t, double, std::string, bool, void * > literal_
const unsigned precision_
const unsigned type_precision_
const SQLTypes target_type_
◆ RexLiteral() [5/5]
RexLiteral::RexLiteral |
( |
const SQLTypes |
target_type | ) |
|
|
inline |
Definition at line 140 of file RelAlgDagBuilder.h.
const unsigned type_scale_
const boost::variant< int64_t, double, std::string, bool, void * > literal_
const unsigned precision_
const unsigned type_precision_
const SQLTypes target_type_
◆ deepCopy()
std::unique_ptr<RexLiteral> RexLiteral::deepCopy |
( |
| ) |
const |
|
inline |
Definition at line 179 of file RelAlgDagBuilder.h.
References CHECK.
182 int64_t val = getVal<int64_t>();
183 return std::make_unique<RexLiteral>(
187 double val = getVal<double>();
188 return std::make_unique<RexLiteral>(
192 auto val = getVal<std::string>();
193 return std::make_unique<RexLiteral>(
197 bool val = getVal<bool>();
198 return std::make_unique<RexLiteral>(
const unsigned type_scale_
const boost::variant< int64_t, double, std::string, bool, void * > literal_
const unsigned precision_
const unsigned type_precision_
const SQLTypes target_type_
◆ getPrecision()
unsigned RexLiteral::getPrecision |
( |
| ) |
const |
|
inline |
◆ getScale()
unsigned RexLiteral::getScale |
( |
| ) |
const |
|
inline |
◆ getTargetType()
SQLTypes RexLiteral::getTargetType |
( |
| ) |
const |
|
inline |
◆ getType()
◆ getTypePrecision()
unsigned RexLiteral::getTypePrecision |
( |
| ) |
const |
|
inline |
◆ getTypeScale()
unsigned RexLiteral::getTypeScale |
( |
| ) |
const |
|
inline |
◆ getVal()
template<class T >
T RexLiteral::getVal |
( |
| ) |
const |
|
inline |
Definition at line 150 of file RelAlgDagBuilder.h.
References CHECK.
151 const auto ptr = boost::get<T>(&
literal_);
const boost::variant< int64_t, double, std::string, bool, void * > literal_
◆ toString()
std::string RexLiteral::toString |
( |
| ) |
const |
|
inlineoverridevirtual |
Implements Rex.
Definition at line 168 of file RelAlgDagBuilder.h.
References cat(), kNULLT, and Rex::toString().
169 return cat(::typeName(
this),
171 boost::lexical_cast<std::string>(
literal_),
std::string toString() const override
const boost::variant< int64_t, double, std::string, bool, void * > literal_
const SQLTypes target_type_
◆ literal_
const boost::variant<int64_t, double, std::string, bool, void*> RexLiteral::literal_ |
|
private |
◆ precision_
const unsigned RexLiteral::precision_ |
|
private |
◆ scale_
const unsigned RexLiteral::scale_ |
|
private |
◆ target_type_
◆ type_
◆ type_precision_
const unsigned RexLiteral::type_precision_ |
|
private |
◆ type_scale_
const unsigned RexLiteral::type_scale_ |
|
private |
The documentation for this class was generated from the following file: