summaryrefslogtreecommitdiffstats
path: root/yql/essentials/public/udf/arrow/block_array_tree.h
blob: 60b2c730e0cfaba6093f42acd092ad4143c322c7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#pragma once

#include <arrow/array/data.h>

#include <util/generic/maybe.h>
#include <util/generic/vector.h>
#include <util/generic/deque.h>

#include <memory>

namespace NYql::NUdf {

struct TBlockArrayTree {
    using Ptr = std::shared_ptr<TBlockArrayTree>;
    std::deque<std::shared_ptr<arrow::ArrayData>> Payload;
    std::vector<TBlockArrayTree::Ptr> Children;
};

arrow::Datum ToChunkedArray(TBlockArrayTree& tree, arrow::MemoryPool* pool);

} // namespace NYql::NUdf