File tree Expand file tree Collapse file tree 2 files changed +24
-0
lines changed
src/gandiva/src/cpp/src/codegen Expand file tree Collapse file tree 2 files changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -523,6 +523,22 @@ void LLVMGenerator::Visitor::Visit(const LiteralDex &dex) {
523523 break ;
524524 }
525525
526+ case arrow::Type::DATE64:
527+ value = types->i64_constant (boost::get<int64_t >(dex.holder ()));
528+ break ;
529+
530+ case arrow::Type::TIME32:
531+ value = types->i32_constant (boost::get<int32_t >(dex.holder ()));
532+ break ;
533+
534+ case arrow::Type::TIME64:
535+ value = types->i64_constant (boost::get<int64_t >(dex.holder ()));
536+ break ;
537+
538+ case arrow::Type::TIMESTAMP:
539+ value = types->i64_constant (boost::get<int64_t >(dex.holder ()));
540+ break ;
541+
526542 default :
527543 DCHECK (0 );
528544 }
Original file line number Diff line number Diff line change @@ -78,6 +78,14 @@ NodePtr TreeExprBuilder::MakeNull(DataTypePtr data_type) {
7878 case arrow::Type::STRING:
7979 case arrow::Type::BINARY:
8080 return std::make_shared<LiteralNode>(data_type, LiteralHolder (empty), true );
81+ case arrow::Type::DATE64:
82+ return std::make_shared<LiteralNode>(data_type, LiteralHolder ((int64_t )0 ), true );
83+ case arrow::Type::TIME32:
84+ return std::make_shared<LiteralNode>(data_type, LiteralHolder ((int32_t )0 ), true );
85+ case arrow::Type::TIME64:
86+ return std::make_shared<LiteralNode>(data_type, LiteralHolder ((int64_t )0 ), true );
87+ case arrow::Type::TIMESTAMP:
88+ return std::make_shared<LiteralNode>(data_type, LiteralHolder ((int64_t )0 ), true );
8189 default :
8290 return nullptr ;
8391 }
You can’t perform that action at this time.
0 commit comments