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

Method flattenVector

bolt/vector/BaseVector.cpp:855–890  ·  view source on GitHub ↗

static

Source from the content-addressed store, hash-verified

853 encoding == VectorEncoding::Simple::ROW;
854}
855} // namespace
856
857// static
858void BaseVector::flattenVector(VectorPtr& vector) {
859 if (!vector) {
860 return;
861 }
862 switch (vector->encoding()) {
863 case VectorEncoding::Simple::FLAT:
864 return;
865 case VectorEncoding::Simple::ROW: {
866 auto* rowVector = vector->asUnchecked<RowVector>();
867 for (auto& child : rowVector->children()) {
868 BaseVector::flattenVector(child);
869 }
870 return;
871 }
872 case VectorEncoding::Simple::ARRAY: {
873 auto* arrayVector = vector->asUnchecked<ArrayVector>();
874 BaseVector::flattenVector(arrayVector->elements());
875 return;
876 }
877 case VectorEncoding::Simple::MAP: {
878 auto* mapVector = vector->asUnchecked<MapVector>();
879 BaseVector::flattenVector(mapVector->mapKeys());
880 BaseVector::flattenVector(mapVector->mapValues());
881 return;
882 }
883 case VectorEncoding::Simple::LAZY: {
884 vector = vector->asUnchecked<LazyVector>()->loadedVectorShared();
885 BaseVector::flattenVector(vector);
886 return;
887 }
888 default:
889 BaseVector::ensureWritable(
890 SelectivityVector::empty(), vector->type(), vector->pool(), vector);
891 }
892}
893

Callers

nothing calls this directly

Calls 7

ensureWritableFunction · 0.85
encodingMethod · 0.45
childrenMethod · 0.45
mapKeysMethod · 0.45
mapValuesMethod · 0.45
typeMethod · 0.45
poolMethod · 0.45

Tested by

no test coverage detected