MCPcopy Create free account
hub / github.com/bytedance/bolt / writeFlatVector

Function writeFlatVector

bolt/vector/VectorSaver.cpp:252–282  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

250}
251
252void writeFlatVector(const BaseVector& vector, std::ostream& out) {
253 // Nulls buffer.
254 writeOptionalBuffer(vector.nulls(), out);
255
256 // Values buffer.
257 if (isVarcharOrVarbinary(vector)) {
258 const auto& values = vector.values();
259 if (values) {
260 write<bool>(true, out);
261
262 const auto& stringBuffers =
263 vector.asFlatVector<StringView>()->stringBuffers();
264 writeStringViews(vector.size(), values, stringBuffers, out);
265 } else {
266 write<bool>(false, out);
267 }
268 } else {
269 writeOptionalBuffer(vector.values(), out);
270 }
271
272 // String buffers.
273 if (isVarcharOrVarbinary(vector)) {
274 const auto& stringBuffers =
275 vector.asFlatVector<StringView>()->stringBuffers();
276 write<int32_t>(stringBuffers.size(), out);
277
278 for (const auto& buffer : stringBuffers) {
279 writeBuffer(buffer, out);
280 }
281 }
282}
283
284VectorPtr readFlatVector(
285 const TypePtr& type,

Callers 1

saveVectorFunction · 0.85

Calls 7

writeOptionalBufferFunction · 0.85
isVarcharOrVarbinaryFunction · 0.85
writeStringViewsFunction · 0.85
writeBufferFunction · 0.85
nullsMethod · 0.45
valuesMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected