Skip to content

Commit

Permalink
GDV-72: [Java] Support null literals
Browse files Browse the repository at this point in the history
add java bindings for null literals
  • Loading branch information
pravindra authored Jun 27, 2018
1 parent 899f880 commit 45ad498
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions cpp/src/gandiva/src/jni/native_builder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,16 @@ NodePtr ProtoTypeToOrNode(const types::OrNode& node) {
return TreeExprBuilder::MakeOr(children);
}

NodePtr ProtoTypeToNullNode(const types::NullNode& node) {
DataTypePtr data_type = ProtoTypeToDataType(node.type());
if (data_type == nullptr) {
std::cerr << "Unknown type " << data_type->ToString() << " for null node\n";
return nullptr;
}

return TreeExprBuilder::MakeNull(data_type);
}

NodePtr ProtoTypeToNode(const types::TreeNode& node) {
if (node.has_fieldnode()) {
return ProtoTypeToFieldNode(node.fieldnode());
Expand All @@ -278,6 +288,10 @@ NodePtr ProtoTypeToNode(const types::TreeNode& node) {
return ProtoTypeToOrNode(node.ornode());
}

if (node.has_nullnode()) {
return ProtoTypeToNullNode(node.nullnode());
}

if (node.has_intnode()) {
return TreeExprBuilder::MakeLiteral(node.intnode().value());
}
Expand Down

0 comments on commit 45ad498

Please sign in to comment.