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

Reply via email to