Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
|
#include <udf.h>
Public Member Functions | |
DecimalVal () | |
DecimalVal (int32_t v) | |
DecimalVal (int64_t v) | |
DecimalVal (__int128_t v) | |
DecimalVal & | operator= (const DecimalVal &other) |
DecimalVal (const DecimalVal &other) | |
Static Public Member Functions | |
static DecimalVal | null () |
Public Attributes | |
union { | |
int32_t val4 | |
int64_t val8 | |
__int128_t val16 | |
}; | |
bool | is_null |
|
inline |
|
inlinestatic |
Definition at line 580 of file udf.h.
References impala_udf::AnyVal::is_null.
Referenced by impala::NullLiteral::GetDecimalVal(), and VarSum().
|
inline |
union { ... } |
Decimal data is stored as an unscaled integer value. For example, the decimal 1.00 (precison 3, scale 2) is stored as 100. The byte size necessary to store the decimal depends on the precision, which determines which field of the union should be used to store and manipulate the unscaled value. precision between 0-9: val4 (4 bytes) precision between 10-18: val8 (8 bytes) precision between 19-38: val16 (16 bytes) While it is always safe to use a larger field than necessary, it may result in worse performance. For example, a UDF that only uses val16 can handle any precision but may be slower than one that uses val4 or val8.
|
inherited |
Definition at line 359 of file udf.h.
Referenced by impala::UdfBuiltins::Abs(), impala::DecimalFunctions::Abs(), AddUdf(), impala::AggregateFunctions::AppxMedianFinalize(), impala::StringFunctions::Ascii(), impala::AggregateFunctions::AvgInit(), AvgUpdate(), impala::MathFunctions::Bin(), impala::DecimalOperators::CastToBooleanVal(), impala::CastFunctions::CastToChar(), impala::DecimalOperators::CastToDecimalVal(), impala::DecimalOperators::CastToStringVal(), impala::CastFunctions::CastToStringVal(), impala::DecimalOperators::CastToTimestampVal(), impala::CastFunctions::CastToTimestampVal(), impala::StringFunctions::CharLength(), impala::StringFunctions::ConcatWs(), impala::LikePredicate::ConstantEndsWithFn(), impala::LikePredicate::ConstantEqualsFn(), impala::LikePredicate::ConstantRegexFn(), impala::LikePredicate::ConstantRegexFnPartial(), impala::LikePredicate::ConstantStartsWithFn(), impala::LikePredicate::ConstantSubstringFn(), impala::MathFunctions::ConvInt(), impala::MathFunctions::ConvString(), Count2Update(), Count3Update(), Count4Update(), CountInit(), impala::AggregateFunctions::CountMerge(), impala::AggregateFunctions::CountRemove(), impala::AggregateFunctions::CountStarRemove(), impala::AggregateFunctions::CountStarUpdate(), CountUpdate(), impala::AggregateFunctions::CountUpdate(), impala::TimestampFunctions::DateAddSub(), impala::TimestampFunctions::DateDiff(), impala::TimestampFunctions::DayName(), impala::TimestampFunctions::DayOfMonth(), impala::TimestampFunctions::DayOfWeek(), impala::TimestampFunctions::DayOfYear(), impala_udf::DebugString(), impala::AggregateFunctions::DecimalAvgAddOrRemove(), impala::AggregateFunctions::DecimalAvgInit(), impala::UdfBuiltins::DecodeVector(), impala::MathFunctions::Degrees(), impala::AggregateFunctions::DenseRankGetValue(), impala::DistinceEstimateFinalize(), impala::UdfBuiltins::EncodeVector(), impala::AnyValUtil::Equals(), impala::ExecNode::EvalConjuncts(), impala::HiveUdfCall::Evaluate(), impala::UdfBuiltins::Extract(), impala::StringFunctions::FindInSet(), impala::AggregateFunctions::FirstValUpdate(), impala::MathFunctions::FmodDouble(), impala::MathFunctions::FmodFloat(), impala::UtilityFunctions::FnvHashDecimal(), impala::UtilityFunctions::FnvHashString(), impala::UtilityFunctions::FnvHashTimestamp(), impala::TimestampValue::FromTimestampVal(), impala::TimestampFunctions::FromUnix(), impala::TimestampFunctions::FromUtc(), FuzzyCompare(), impala::AndPredicate::GetBooleanVal(), impala::OrPredicate::GetBooleanVal(), impala::GetVal(), impala::ExprContext::GetValue(), impala::MathFunctions::HexInt(), impala::MathFunctions::HexString(), impala::AggregateFunctions::HistogramFinalize(), HllFinalize(), impala::AggregateFunctions::HllFinalize(), HllInit(), impala::AggregateFunctions::HllInit(), HllMerge(), impala::AggregateFunctions::HllMerge(), HllSerialize(), HllUpdate(), impala::AggregateFunctions::HllUpdate(), impala::TimestampFunctions::Hour(), IncrementNdvFinalize(), impala::AggFnEvaluator::Init(), impala::StringFunctions::InitCap(), impala::AggregateFunctions::InitNull(), impala::AggregateFunctions::InitNullString(), impala::AggregateFunctions::InitZero(), impala::StringFunctions::Instr(), impala::ConditionalFunctions::IsFalse(), impala::UdfBuiltins::IsInf(), impala::UdfBuiltins::IsNan(), impala::ConditionalFunctions::IsNotFalse(), impala::IsNullPredicate::IsNotNull(), impala::ConditionalFunctions::IsNotTrue(), impala::IsNullPredicate::IsNull(), impala::ConditionalFunctions::IsTrue(), impala::AggregateFunctions::KnuthStddevFinalize(), impala::AggregateFunctions::KnuthStddevPopFinalize(), impala::AggregateFunctions::KnuthVarInit(), impala::AggregateFunctions::KnuthVarMerge(), impala::AggregateFunctions::KnuthVarPopFinalize(), impala::AggregateFunctions::KnuthVarUpdate(), impala::AggregateFunctions::LastValRemove(), impala::AggregateFunctions::LastValUpdate(), impala::StringFunctions::Length(), impala::LikePredicate::LikePrepare(), impala::StringFunctions::LocatePos(), impala::MathFunctions::Log(), impala::MathFunctions::Log2(), LogUdf(), impala::UdfBuiltins::Lower(), impala::StringFunctions::Lower(), impala::StringFunctions::Lpad(), impala::StringFunctions::Ltrim(), impala::AggregateFunctions::Max(), MemTestFinalize(), MemTestMerge(), MemTestSerialize(), MemTestUpdate(), impala::AggregateFunctions::Min(), Min3(), MinUpdate(), impala::TimestampFunctions::Minute(), impala::TimestampFunctions::Month(), impala::MathFunctions::Negative(), impala::CompoundPredicate::Not(), impala_udf::BooleanVal::null(), impala_udf::TinyIntVal::null(), impala_udf::SmallIntVal::null(), impala_udf::IntVal::null(), impala_udf::BigIntVal::null(), impala_udf::FloatVal::null(), impala_udf::DoubleVal::null(), impala_udf::TimestampVal::null(), impala_udf::StringVal::null(), null(), impala::ConditionalFunctions::NullIfZero(), impala_udf::BooleanVal::operator==(), impala_udf::TinyIntVal::operator==(), impala_udf::SmallIntVal::operator==(), impala_udf::IntVal::operator==(), impala_udf::BigIntVal::operator==(), impala_udf::FloatVal::operator==(), impala_udf::DoubleVal::operator==(), impala_udf::TimestampVal::operator==(), impala_udf::StringVal::operator==(), impala::StringFunctions::ParseUrl(), impala::StringFunctions::ParseUrlKey(), impala::AggregateFunctions::PcFinalize(), impala::AggregateFunctions::PcInit(), impala::AggregateFunctions::PcMerge(), impala::AggregateFunctions::PcsaFinalize(), impala::MathFunctions::PmodBigInt(), impala::MathFunctions::PmodDouble(), impala::MathFunctions::Pow(), impala::AnalyticEvalNode::PrevRowCompare(), impala::MathFunctions::QuotientDouble(), impala::MathFunctions::Radians(), impala::MathFunctions::RandSeed(), impala::AggregateFunctions::RankFinalize(), impala::AggregateFunctions::RankGetValue(), impala::AggregateFunctions::RankInit(), impala::AggregateFunctions::RankUpdate(), impala::LikePredicate::RegexMatch(), impala::StringFunctions::RegexpExtract(), impala::LikePredicate::RegexPrepare(), impala::StringFunctions::RegexpReplace(), impala::StringFunctions::Repeat(), impala::TimestampFunctions::ReportBadFormat(), impala::AggregateFunctions::ReservoirSampleFinalize(), impala::AggregateFunctions::ReservoirSampleInit(), impala::AggregateFunctions::ReservoirSampleMerge(), impala::AggregateFunctions::ReservoirSampleSerialize(), impala::AggregateFunctions::ReservoirSampleUpdate(), impala::StringFunctions::Reverse(), impala::MathFunctions::Round(), impala::DecimalOperators::RoundDecimal(), impala::DecimalOperators::RoundDecimalNegativeScale(), impala::DecimalFunctions::RoundTo(), impala::MathFunctions::RoundUpTo(), impala::StringFunctions::Rpad(), impala::StringFunctions::Rtrim(), impala::TimestampFunctions::Second(), impala::AnyValUtil::SetAnyVal(), impala::AggFnEvaluator::SetDstSlot(), impala::MathFunctions::Sign(), impala::UtilityFunctions::Sleep(), impala::StringFunctions::Space(), impala::AggregateFunctions::StringConcatFinalize(), StringConcatInit(), StringConcatMerge(), impala::AggregateFunctions::StringConcatMerge(), StringConcatUpdate(), impala::AggregateFunctions::StringConcatUpdate(), impala::AggregateFunctions::StringValGetValue(), impala::AggregateFunctions::StringValSerializeOrFinalize(), impala::StringFunctions::Substring(), impala::AggregateFunctions::SumDecimalAddOrSubtract(), impala::AggregateFunctions::SumDecimalMerge(), SumSmallDecimalInit(), SumSmallDecimalMerge(), SumSmallDecimalUpdate(), impala::InPredicate::TemplatedIn(), TEST(), impala::TimestampFunctions::TimeAddSub(), impala::AggregateFunctions::TimestampAvgRemove(), impala::AggregateFunctions::TimestampAvgUpdate(), impala::TimestampFunctions::ToDate(), impala::TimestampValue::ToTimestampVal(), impala::TimestampFunctions::ToUtc(), impala::StringFunctions::Translate(), impala::StringFunctions::Trim(), impala::UdfBuiltins::Trunc(), impala::DecimalFunctions::TruncateTo(), impala::MathFunctions::Unhex(), impala::TimestampFunctions::Unix(), impala::TimestampFunctions::UnixAndFromUnixPrepare(), impala::TimestampFunctions::UnixFromString(), impala::StringFunctions::Upper(), UpperUdf(), VarSumMultiply(), impala::UdfBuiltins::VectorGet(), impala::TimestampFunctions::WeekOfYear(), XorInit(), and impala::TimestampFunctions::Year().
__int128_t impala_udf::DecimalVal::val16 |
Definition at line 572 of file udf.h.
Referenced by impala::DecimalFunctions::Abs(), impala::DecimalOperators::CastToBooleanVal(), impala::DecimalOperators::CastToStringVal(), impala::DecimalOperators::CastToTimestampVal(), impala::AggregateFunctions::DecimalAvgAddOrRemove(), impala::AggregateFunctions::DecimalAvgGetValue(), impala::AggregateFunctions::DecimalAvgMerge(), impala::AnyValUtil::Equals(), impala::UtilityFunctions::FnvHashDecimal(), impala::GetDecimal16Value(), impala::GetDecimal4Value(), impala::GetDecimal8Value(), impala::GetVal(), impala::ExprContext::GetValue(), impala::AnyValUtil::Hash(), impala::AnyValUtil::Hash64(), impala::AggregateFunctions::InitZero(), impala::MathFunctions::LeastGreatest(), impala::AggregateFunctions::Max(), impala::AggregateFunctions::Min(), impala::MathFunctions::Negative(), impala::ConditionalFunctions::NullIfZero(), impala::PrintSample(), impala::DecimalOperators::RoundDecimal(), impala::DecimalOperators::RoundDecimalNegativeScale(), impala::SampleValLess(), impala::AggregateFunctions::SumDecimalAddOrSubtract(), impala::AggregateFunctions::SumDecimalMerge(), and TEST().
int32_t impala_udf::DecimalVal::val4 |
Definition at line 570 of file udf.h.
Referenced by impala::DecimalFunctions::Abs(), AllTypes(), impala::DecimalOperators::CastToBooleanVal(), impala::DecimalOperators::CastToStringVal(), impala::DecimalOperators::CastToTimestampVal(), impala::AggregateFunctions::DecimalAvgAddOrRemove(), impala::AnyValUtil::Equals(), impala::GetDecimal16Value(), impala::GetDecimal4Value(), impala::GetDecimal8Value(), impala::GetVal(), impala::ExprContext::GetValue(), impala::AnyValUtil::Hash(), impala::AnyValUtil::Hash64(), impala::MathFunctions::LeastGreatest(), impala::AggregateFunctions::Max(), impala::AggregateFunctions::Min(), impala::MathFunctions::Negative(), impala::ConditionalFunctions::NullIfZero(), impala::DecimalOperators::RoundDecimal(), impala::DecimalOperators::RoundDecimalNegativeScale(), impala::AggregateFunctions::SumDecimalAddOrSubtract(), SumSmallDecimalInit(), SumSmallDecimalMerge(), SumSmallDecimalUpdate(), and VarSum().
int64_t impala_udf::DecimalVal::val8 |
Definition at line 571 of file udf.h.
Referenced by impala::DecimalFunctions::Abs(), impala::DecimalOperators::CastToBooleanVal(), impala::DecimalOperators::CastToStringVal(), impala::DecimalOperators::CastToTimestampVal(), impala::AggregateFunctions::DecimalAvgAddOrRemove(), impala::AnyValUtil::Equals(), impala::GetDecimal16Value(), impala::GetDecimal4Value(), impala::GetDecimal8Value(), impala::GetVal(), impala::ExprContext::GetValue(), impala::AnyValUtil::Hash(), impala::AnyValUtil::Hash64(), impala::MathFunctions::LeastGreatest(), impala::AggregateFunctions::Max(), impala::AggregateFunctions::Min(), impala::MathFunctions::Negative(), impala::ConditionalFunctions::NullIfZero(), impala::DecimalOperators::RoundDecimal(), impala::DecimalOperators::RoundDecimalNegativeScale(), and impala::AggregateFunctions::SumDecimalAddOrSubtract().