MCPcopy Create free account
hub / github.com/ByConity/ByConity / choosePartType

Method choosePartType

src/MergeTreeCommon/MergeTreeMetaBase.cpp:846–866  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

844}
845
846MergeTreeDataPartType MergeTreeMetaBase::choosePartType(size_t bytes_uncompressed, size_t rows_count) const
847{
848 // FIXME (UNIQUE KEY): for altering unique table, we only expect the part to be wide
849 if (getInMemoryMetadataPtr()->hasUniqueKey())
850 return MergeTreeDataPartType::WIDE;
851
852 const auto settings = getSettings();
853 if (settings->enable_ingest_wide_part)
854 return MergeTreeDataPartType::WIDE;
855
856 if (!canUsePolymorphicParts(*settings))
857 return MergeTreeDataPartType::WIDE;
858
859 if (bytes_uncompressed < settings->min_bytes_for_compact_part || rows_count < settings->min_rows_for_compact_part)
860 return MergeTreeDataPartType::IN_MEMORY;
861
862 if (bytes_uncompressed < settings->min_bytes_for_wide_part || rows_count < settings->min_rows_for_wide_part)
863 return MergeTreeDataPartType::COMPACT;
864
865 return MergeTreeDataPartType::WIDE;
866}
867
868MergeTreeDataPartType MergeTreeMetaBase::choosePartTypeOnDisk(size_t bytes_uncompressed, size_t rows_count) const
869{

Callers 3

writeTempPartMethod · 0.80
writeProjectionPartMethod · 0.80

Calls 2

hasUniqueKeyMethod · 0.80
getSettingsFunction · 0.50

Tested by

no test coverage detected