This is an automated email from the ASF dual-hosted git repository.

zanmato pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/main by this push:
     new 075884576f GH-45215:[C++][Acero]Export SequencingQueue and 
SerialSequencingQueue (#45221)
075884576f is described below

commit 075884576fd838f1dd8717467f98b74e0ee08f4d
Author: mroz45 <[email protected]>
AuthorDate: Tue Jan 14 02:52:51 2025 +0100

    GH-45215:[C++][Acero]Export SequencingQueue and SerialSequencingQueue 
(#45221)
    
    
    
    ### Rationale for this change
    SequencingQueue and SerialSequencingQueue are useful in creating custom 
ExecNodes. This patch allows linking to factory functions.
    
    ### What changes are included in this PR?
    
    ARROW_ACERO_EXPORT classes
    
    ### Are there any user-facing changes?
    Users can now directly instantiate and use the SequencingQueue and 
SerialSequencingQueue classes, enabling easier creation of custom ExecNode.
    
    * GitHub Issue: #45215
    
    Authored-by: kamilt <[email protected]>
    Signed-off-by: Rossi Sun <[email protected]>
---
 cpp/src/arrow/acero/accumulation_queue.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/cpp/src/arrow/acero/accumulation_queue.h 
b/cpp/src/arrow/acero/accumulation_queue.h
index a173f98403..92d62d5d99 100644
--- a/cpp/src/arrow/acero/accumulation_queue.h
+++ b/cpp/src/arrow/acero/accumulation_queue.h
@@ -22,6 +22,7 @@
 #include <optional>
 #include <vector>
 
+#include "arrow/acero/visibility.h"
 #include "arrow/compute/exec.h"
 #include "arrow/result.h"
 
@@ -70,7 +71,7 @@ class AccumulationQueue {
 /// For example, in a top-n node, the process callback should determine how 
many
 /// rows need to be delivered for the given batch, and then return a task to 
actually
 /// deliver those rows.
-class SequencingQueue {
+class ARROW_ACERO_EXPORT SequencingQueue {
  public:
   using Task = std::function<Status()>;
 
@@ -123,7 +124,7 @@ class SequencingQueue {
 ///
 /// It can be helpful to think of this as if a dedicated thread is running 
Process as
 /// batches arrive
-class SerialSequencingQueue {
+class ARROW_ACERO_EXPORT SerialSequencingQueue {
  public:
   /// Strategy that describes how to handle items
   class Processor {

Reply via email to