Daniel Becker has posted comments on this change. ( http://gerrit.cloudera.org:8080/16314 )
Change subject: IMPALA-7658: Proper codegen for HiveUdfCall ...................................................................... Patch Set 13: (5 comments) http://gerrit.cloudera.org:8080/#/c/16314/10/be/src/exprs/hive-udf-call.cc File be/src/exprs/hive-udf-call.cc: http://gerrit.cloudera.org:8080/#/c/16314/10/be/src/exprs/hive-udf-call.cc@266 PS10, Line 266: > I understand that you didn't add any new code to test, I'm saying you need I accept your point. I have added tests in testdata/workloads/functional-query/queries/QueryTest/java-udf.test with comments explaining them. Do you think they are ok? http://gerrit.cloudera.org:8080/#/c/16314/12/be/src/exprs/hive-udf-call.cc File be/src/exprs/hive-udf-call.cc: http://gerrit.cloudera.org:8080/#/c/16314/12/be/src/exprs/hive-udf-call.cc@295 PS12, Line 295: llvm::Value* const child_is_null = child_wrapped.GetIsNull("child_is_null"); : llvm::Value* const child_is_null_i8 = builder->CreateZExtOrTrunc( : child_is_null, codegen->i8_type(), "child_is_null_i8"); : builder->CreateCall(set_input_null_buff_elem_fn, : {jni_ctx, codegen->GetI32Constant(i), child_is_null_i8}); : builder->CreateCondBr(child_is_null, next_eval_child_block, child_not_null_block); : : // Child is not null. : builder->SetInsertPoint(child_not_null_block); : llvm::Value* const input_ptr = builder->CreateCall(get_input_val_buff_ > optional: couldn't it be faster if the value of child_wrapped.GetIsNull("ch Done http://gerrit.cloudera.org:8080/#/c/16314/12/be/src/exprs/hive-udf-call.cc@311 PS12, Line 311: > nit: extra ; Done http://gerrit.cloudera.org:8080/#/c/16314/12/be/src/exprs/hive-udf-call.cc@490 PS12, Line 490: > Do we need to do this here, can't CallJavaAndStoreResult handle it, as jni_ Done http://gerrit.cloudera.org:8080/#/c/16314/12/be/src/exprs/hive-udf-call.cc@508 PS12, Line 508: : BooleanVal HiveUdfCall::GetBooleanValInterpreted( : ScalarExprEvaluator* eval, const TupleRow* row) const { : DCHECK_EQ(type_.type, TYPE_BOOLEAN); > Can't we move these as members to JniContext instead of passing them during Done -- To view, visit http://gerrit.cloudera.org:8080/16314 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I2f994dac550f297ed3c88491816403f237d4d747 Gerrit-Change-Number: 16314 Gerrit-PatchSet: 13 Gerrit-Owner: Daniel Becker <daniel.bec...@cloudera.com> Gerrit-Reviewer: Csaba Ringhofer <csringho...@cloudera.com> Gerrit-Reviewer: Daniel Becker <daniel.bec...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com> Gerrit-Comment-Date: Wed, 02 Sep 2020 10:06:50 +0000 Gerrit-HasComments: Yes