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

Function createAllNullsVector

bolt/vector/tests/VectorTest.cpp:1283–1317  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1281}
1282
1283VectorPtr createAllNullsVector(
1284 const TypePtr& type,
1285 vector_size_t size,
1286 memory::MemoryPool* pool) {
1287 auto kind = type->kind();
1288 switch (kind) {
1289 case TypeKind::ROW: {
1290 std::vector<VectorPtr> children(type->size(), nullptr);
1291 return std::make_shared<RowVector>(
1292 pool, type, allocateNulls(size, pool, bits::kNull), size, children);
1293 }
1294 case TypeKind::ARRAY:
1295 return std::make_shared<ArrayVector>(
1296 pool,
1297 type,
1298 allocateNulls(size, pool, bits::kNull),
1299 size,
1300 allocateSizes(size, pool),
1301 allocateSizes(size, pool),
1302 nullptr);
1303 case TypeKind::MAP:
1304 return std::make_shared<MapVector>(
1305 pool,
1306 type,
1307 allocateNulls(size, pool, bits::kNull),
1308 size,
1309 allocateSizes(size, pool),
1310 allocateSizes(size, pool),
1311 nullptr,
1312 nullptr);
1313 default:
1314 return BOLT_DYNAMIC_SCALAR_TYPE_DISPATCH(
1315 createAllNullsFlatVector, kind, size, pool, type);
1316 }
1317}
1318
1319TEST_F(VectorTest, copyFromAllNulls) {
1320 vector_size_t size = 1'000;

Callers 1

TEST_FFunction · 0.85

Calls 4

allocateNullsFunction · 0.85
allocateSizesFunction · 0.85
kindMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected