@@ -36,25 +36,13 @@ static auto CumSum(struct ArrowArrayStream *array_stream,
3636 bool seen_na = false ;
3737 std::stringstream ss{};
3838
39- // TODO: we can simplify this further if we just iterate on the array
40- // and not the array view, but there is an upstream bug in nanoarrow
41- // that prevents that
42- // https://github.com/apache/arrow-nanoarrow/issues/701
43- nanoarrow::UniqueArrayView array_view{};
4439 nanoarrow::UniqueSchema schema{};
4540 NANOARROW_THROW_NOT_OK (
4641 ArrowArrayStreamGetSchema (array_stream, schema.get (), nullptr ));
4742
4843 nanoarrow::ViewArrayStream array_stream_view (array_stream);
4944 for (const auto &array : array_stream_view) {
50- array_view.reset ();
51- NANOARROW_THROW_NOT_OK (
52- ArrowArrayViewInitFromSchema (array_view.get (), schema.get (), nullptr ));
53- NANOARROW_THROW_NOT_OK (
54- ArrowArrayViewSetArray (array_view.get (), &array, nullptr ));
55-
56- for (const auto &sv :
57- nanoarrow::ViewArrayAsBytes<OffsetSize>(array_view.get ())) {
45+ for (const auto &sv : nanoarrow::ViewArrayAsBytes<OffsetSize>(&array)) {
5846 if ((!sv || seen_na) && !skipna) {
5947 seen_na = true ;
6048 ArrowArrayAppendNull (out, 1 );
@@ -84,25 +72,13 @@ static auto CumMinOrMax(struct ArrowArrayStream *array_stream,
8472 bool seen_na = false ;
8573 std::optional<std::string> current_str{};
8674
87- // TODO: we can simplify this further if we just iterate on the array
88- // and not the array view, but there is an upstream bug in nanoarrow
89- // that prevents that
90- // https://github.com/apache/arrow-nanoarrow/issues/701
91- nanoarrow::UniqueArrayView array_view{};
9275 nanoarrow::UniqueSchema schema{};
9376 NANOARROW_THROW_NOT_OK (
9477 ArrowArrayStreamGetSchema (array_stream, schema.get (), nullptr ));
9578
9679 nanoarrow::ViewArrayStream array_stream_view (array_stream);
9780 for (const auto &array : array_stream_view) {
98- array_view.reset ();
99- NANOARROW_THROW_NOT_OK (
100- ArrowArrayViewInitFromSchema (array_view.get (), schema.get (), nullptr ));
101- NANOARROW_THROW_NOT_OK (
102- ArrowArrayViewSetArray (array_view.get (), &array, nullptr ));
103-
104- for (const auto &sv :
105- nanoarrow::ViewArrayAsBytes<OffsetSize>(array_view.get ())) {
81+ for (const auto &sv : nanoarrow::ViewArrayAsBytes<OffsetSize>(&array)) {
10682 if ((!sv || seen_na) && !skipna) {
10783 seen_na = true ;
10884 ArrowArrayAppendNull (out, 1 );
0 commit comments