save-buffer commented on code in PR #13332:
URL: https://github.com/apache/arrow/pull/13332#discussion_r892765212


##########
cpp/src/arrow/compute/exec/hash_join_node.cc:
##########
@@ -454,6 +456,172 @@ Status 
HashJoinSchema::CollectFilterColumns(std::vector<FieldRef>& left_filter,
   return Status::OK();
 }
 
+class HashJoinNode;
+
+struct BloomFilterPushdownContext {
+  using BuildFinishedCallback = std::function<Status(size_t, 
AccumulationQueue)>;
+  using FiltersReceivedCallback = std::function<Status()>;
+  using FilterFinishedCallback = std::function<Status(size_t, 
AccumulationQueue)>;
+  void Init(HashJoinNode* owner, size_t num_threads, TaskScheduler* scheduler,
+            FiltersReceivedCallback on_bloom_filters_received, bool 
disable_bloom_filter,
+            bool use_sync_execution);
+
+  Status StartProducing();
+
+  void ExpectBloomFilter() { eval_.num_expected_bloom_filters_ += 1; }
+
+  Status BuildBloomFilter(size_t thread_index, AccumulationQueue batches,
+                          BuildFinishedCallback on_finished);
+
+  Status PushBloomFilter();

Review Comment:
   The things that need to access `HashJoinNode` need to be defined below 
`HashJoinNode`'s definition.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to