MCPcopy Create free account
hub / github.com/apache/arrow / VerifyStringAndNumber_Varlen

Function VerifyStringAndNumber_Varlen

cpp/src/arrow/acero/tpch_node_test.cc:147–166  ·  view source on GitHub ↗

Same as above but for variable length columns

Source from the content-addressed store, hash-verified

145
146// Same as above but for variable length columns
147void VerifyStringAndNumber_Varlen(const Datum& strings, const Datum& numbers,
148 std::string_view prefix, bool verify_padding = true) {
149 int64_t length = strings.length();
150 const int32_t* offsets =
151 reinterpret_cast<const int32_t*>(strings.array()->buffers[1]->data());
152 const char* str = reinterpret_cast<const char*>(strings.array()->buffers[2]->data());
153
154 const int32_t* nums = nullptr;
155 if (numbers.kind() != Datum::NONE) {
156 ASSERT_EQ(length, numbers.length());
157 nums = reinterpret_cast<const int32_t*>(numbers.array()->buffers[1]->data());
158 }
159
160 for (int64_t i = 0; i < length; i++) {
161 int32_t start = offsets[i];
162 int32_t str_len = offsets[i + 1] - offsets[i];
163 std::string_view view(str + start, str_len);
164 VerifyStringAndNumber_Single(view, prefix, i, nums, verify_padding);
165 }
166}
167
168// Verifies that each row is a V-string, which is defined in the spec to be
169// a string of random length between min_length and max_length, that is composed

Callers 1

VerifyCustomerFunction · 0.85

Calls 5

lengthMethod · 0.45
dataMethod · 0.45
arrayMethod · 0.45
kindMethod · 0.45

Tested by

no test coverage detected