| 844 | } |
| 845 | |
| 846 | MergeTreeDataPartType 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 | |
| 868 | MergeTreeDataPartType MergeTreeMetaBase::choosePartTypeOnDisk(size_t bytes_uncompressed, size_t rows_count) const |
| 869 | { |
no test coverage detected