MCPcopy Create free account
hub / github.com/LadybugDB/ladybug / makeCSRArrowArray

Function makeCSRArrowArray

src/main/query_result/arrow_query_result.cpp:42–73  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

40}
41
42static ArrowQueryResult::CSRArrowArray makeCSRArrowArray(
43 std::shared_ptr<const std::vector<int64_t>> values) {
44 ArrowQueryResult::CSRArrowArray result;
45
46 auto holder = std::make_unique<CSRArrowArrayHolder>();
47 holder->values = std::move(values);
48 holder->buffers[0] = nullptr;
49 holder->buffers[1] = holder->values->data();
50
51 result.array.length = static_cast<int64_t>(holder->values->size());
52 result.array.null_count = 0;
53 result.array.offset = 0;
54 result.array.n_buffers = 2;
55 result.array.n_children = 0;
56 result.array.buffers = holder->buffers.data();
57 result.array.children = nullptr;
58 result.array.dictionary = nullptr;
59 result.array.private_data = holder.release();
60 result.array.release = releaseCSRArrowArray;
61
62 result.schema.format = "l";
63 result.schema.name = nullptr;
64 result.schema.metadata = nullptr;
65 result.schema.flags = 0;
66 result.schema.n_children = 0;
67 result.schema.children = nullptr;
68 result.schema.dictionary = nullptr;
69 result.schema.private_data = nullptr;
70 result.schema.release = releaseCSRArrowSchema;
71
72 return result;
73}
74
75// Build a dense global indptr of size numSourceRows+1 from sparse
76// (srcRows, counts) runs. indptr[src+1] is set to counts[i] for the

Callers 1

getCSRArrowArraysMethod · 0.85

Calls 3

releaseMethod · 0.80
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected