@@ -602,7 +602,7 @@ std::unique_ptr<cudf::table> CudfHashJoinProbe::filteredOutput(
602602 cudf::column_view rightIndicesCol,
603603 std::function<std::vector<std::unique_ptr<cudf::column>>(
604604 std::vector<std::unique_ptr<cudf::column>>&&,
605- cudf::mutable_column_view )> func,
605+ cudf::column_view )> func,
606606 rmm::cuda_stream_view stream) {
607607 auto leftResult =
608608 cudf::gather (leftTableView, leftIndicesCol, oobPolicy, stream);
@@ -623,11 +623,11 @@ std::unique_ptr<cudf::table> CudfHashJoinProbe::filteredOutput(
623623 std::vector<velox::RowTypePtr> rowTypes{probeType, buildType};
624624 exec::ExprSet exprs ({joinNode_->filter ()}, operatorCtx_->execCtx ());
625625 VELOX_CHECK_EQ (exprs.exprs ().size (), 1 );
626- auto filterEvaluator = ExpressionEvaluator (
627- { exprs.exprs ()[0 ]} , facebook::velox::type::concatRowTypes (rowTypes));
628- auto filterColumns = filterEvaluator. compute (
626+ auto filterEvaluator = createCudfExpression (
627+ exprs.exprs ()[0 ], facebook::velox::type::concatRowTypes (rowTypes));
628+ auto filterColumns = filterEvaluator-> eval (
629629 joinedCols, stream, cudf::get_current_device_resource_ref ());
630- auto filterColumn = filterColumns[ 0 ]-> mutable_view ( );
630+ auto filterColumn = asView (filterColumns );
631631
632632 joinedCols = func (std::move (joinedCols), filterColumn);
633633
@@ -689,7 +689,7 @@ std::vector<std::unique_ptr<cudf::table>> CudfHashJoinProbe::innerJoin(
689689 auto filterFunc =
690690 [stream](
691691 std::vector<std::unique_ptr<cudf::column>>&& joinedCols,
692- cudf::mutable_column_view filterColumn) {
692+ cudf::column_view filterColumn) {
693693 auto filterTable =
694694 std::make_unique<cudf::table>(std::move (joinedCols));
695695 auto filteredTable =
@@ -757,7 +757,7 @@ std::vector<std::unique_ptr<cudf::table>> CudfHashJoinProbe::leftJoin(
757757 stream](
758758 std::vector<std::unique_ptr<cudf::column>>&&
759759 joinedCols,
760- cudf::mutable_column_view filterColumn) {
760+ cudf::column_view filterColumn) {
761761 auto leftColsSize = leftTableView.num_columns ();
762762 auto rightColsSize = rightTableView.num_columns ();
763763
@@ -922,7 +922,7 @@ std::vector<std::unique_ptr<cudf::table>> CudfHashJoinProbe::rightJoin(
922922 auto filterFunc =
923923 [&rightMatchedFlags, rightIndicesSpan, stream](
924924 std::vector<std::unique_ptr<cudf::column>>&& joinedCols,
925- cudf::mutable_column_view filterColumn) {
925+ cudf::column_view filterColumn) {
926926 // apply the filter
927927 auto filterTable =
928928 std::make_unique<cudf::table>(std::move (joinedCols));
0 commit comments