paleolimbot commented on code in PR #13397:
URL: https://github.com/apache/arrow/pull/13397#discussion_r915188979
##########
r/src/compute-exec.cpp:
##########
@@ -109,9 +109,50 @@ std::shared_ptr<arrow::RecordBatchReader> ExecPlan_run(
auto kv = strings_to_kvm(metadata);
out_schema = out_schema->WithMetadata(kv);
}
- return compute::MakeGeneratorReader(
+
+ std::pair<std::shared_ptr<compute::ExecPlan>,
std::shared_ptr<arrow::RecordBatchReader>>
+ out;
+ out.first = plan;
+ out.second = compute::MakeGeneratorReader(
out_schema, [stop_producing, plan, sink_gen] { return sink_gen(); },
gc_memory_pool());
+ return out;
+}
+
+// [[arrow::export]]
+std::shared_ptr<arrow::RecordBatchReader> ExecPlan_run(
+ const std::shared_ptr<compute::ExecPlan>& plan,
+ const std::shared_ptr<compute::ExecNode>& final_node, cpp11::list
sort_options,
+ cpp11::strings metadata, int64_t head = -1) {
+ auto prepared_plan = ExecPlan_prepare(plan, final_node, sort_options,
metadata, head);
+ StopIfNotOk(prepared_plan.first->StartProducing());
+ return prepared_plan.second;
+}
+
+// [[arrow::export]]
+std::shared_ptr<arrow::Table> ExecPlan_read_table(
+ const std::shared_ptr<compute::ExecPlan>& plan,
+ const std::shared_ptr<compute::ExecNode>& final_node, cpp11::list
sort_options,
+ cpp11::strings metadata, int64_t head = -1, bool on_old_windows = false) {
Review Comment:
It is but I shouldn't be passing it as an argument...the thread executor
thing segfaults when `on_old_windows()` is true but passing it as an argument
shouldn't be necessary (the rigamarole around RunWithCapturedR should be
simplified to make it more clear why this is all happening).
--
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]