If they are defined, they can override table-level settings.
{
    
    auto zookeeper = storage.getZooKeeper();
    assertSessionIsNotExpired(zookeeper);
    if (quorum)
        checkQuorumPrecondition(zookeeper);
    Stopwatch watch;
    try
    {
        part->version.setCreationTID(Tx::PrehistoricTID, nullptr);
        commitPart(zookeeper, part, "");
        PartLog::addNewPart(storage.getContext(), part, watch.elapsed());
    }
    catch (...)
    {
        PartLog::addNewPart(storage.getContext(), part, watch.elapsed(), ExecutionStatus::fromCurrentException(__PRETTY_FUNCTION__));
        throw;
    }
}
void ReplicatedMergeTreeSink::commitPart(