From ed89b63b72e1433fc579a5f64fc31218f7222a73 Mon Sep 17 00:00:00 2001 From: Rui Mo Date: Wed, 22 Mar 2023 06:50:33 +0000 Subject: [PATCH] support null literal for decimal (#15) --- velox/substrait/SubstraitToVeloxExpr.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/velox/substrait/SubstraitToVeloxExpr.cpp b/velox/substrait/SubstraitToVeloxExpr.cpp index 33342fe05e68..6021fae38322 100644 --- a/velox/substrait/SubstraitToVeloxExpr.cpp +++ b/velox/substrait/SubstraitToVeloxExpr.cpp @@ -370,8 +370,16 @@ SubstraitVeloxExprConverter::toVeloxExpr( case ::substrait::Expression_Literal::LiteralTypeCase::kNull: { auto veloxType = toVeloxType(subParser_->parseType(substraitLit.null())->type); - return std::make_shared( + if (veloxType->isShortDecimal()) { + return std::make_shared( + veloxType, variant::shortDecimal(std::nullopt, veloxType)); + } else if (veloxType->isLongDecimal()) { + return std::make_shared( + veloxType, variant::longDecimal(std::nullopt, veloxType)); + } else { + return std::make_shared( veloxType, variant::null(veloxType->kind())); + } } case ::substrait::Expression_Literal::LiteralTypeCase::kDate: return std::make_shared(