If they are defined, they can override table-level settings.
zkutil::ZooKeeperPtr & zookeeper, MergeTreeData::MutableDataPartPtr & part, const String & block_id)
{
    metadata_snapshot->check(part->getColumns());
    assertSessionIsNotExpired(zookeeper);
    String temporary_part_relative_path = part->relative_path;
    
    
    size_t loop_counter = 0;
    constexpr size_t max_iterations = 10;
    bool is_already_existing_part = false;
    while (true)
    {