```sql

create table A ( A date) Engine=MergeTree order by A TTL A+interval 1 year;

alter table A reset SETTING TTL;

show create table A;

CREATE TABLE default.A
(
    `A` Date
)
ENGINE = MergeTree
ORDER BY A
TTL A + toIntervalYear(1)
SETTINGS index_granularity = 8192
```
auto part_it = data_parts_indexes.insert(part).first;
    if (out_transaction)
    {
        out_transaction->precommitted_parts.insert(part);
    }
    else
    {
        size_t reduce_bytes = 0;
        size_t reduce_rows = 0;
        size_t reduce_parts = 0;
        auto current_time = time(nullptr);
        for (const DataPartPtr & covered_part : covered_parts)
        {
            covered_part->remove_time.store(current_time, std::memory_order_relaxed);
            modifyPartState(covered_part, DataPartState::Outdated);
            removePartContributionToColumnAndSecondaryIndexSizes(covered_part);
            reduce_bytes += covered_part->getBytesOnDisk();
            reduce_rows += covered_part->rows_count;
            ++reduce_parts;
        }
        modifyPartState(part_it, DataPartState::Active);
        addPartContributionToColumnAndSecondaryIndexSizes(part);
        if (covered_parts.empty())
            updateObjectColumns(*part_it, lock);
        else
            resetObjectColumnsFromActiveParts(lock);
        ssize_t diff_bytes = part->getBytesOnDisk() - reduce_bytes;
        ssize_t diff_rows = part->rows_count - reduce_rows;
        ssize_t diff_parts = 1 - reduce_parts;
        increaseDataVolume(diff_bytes, diff_rows, diff_parts);