If they are defined, they can override table-level settings.
{
    if (!delayed_chunk)
        return;
    last_block_is_duplicate = false;
    for (auto & partition : delayed_chunk->partitions)
    {
        partition.temp_part.finalize();
        auto & part = partition.temp_part.part;
        try
        {
            commitPart(zookeeper, part, partition.block_id);
            last_block_is_duplicate = last_block_is_duplicate || part->is_duplicate;
            
            int error = (deduplicate && part->is_duplicate) ? ErrorCodes::INSERT_WAS_DEDUPLICATED : 0;
            PartLog::addNewPart(storage.getContext(), part, partition.elapsed_ns, ExecutionStatus(error));
        }
        catch (...)
        {
            PartLog::addNewPart(storage.getContext(), part, partition.elapsed_ns, ExecutionStatus::fromCurrentException(__PRETTY_FUNCTION__));
            throw;
        }
    }
    delayed_chunk.reset();
}
void ReplicatedMergeTreeSink::writeExistingPart(MergeTreeData::MutableDataPartPtr & part)