As discussed with @kitaisreal 
{
    return !table_ttl.group_by_ttl.empty();
}
ColumnDependencies StorageInMemoryMetadata::getColumnDependencies(const NameSet & updated_columns) const
{
    if (updated_columns.empty())
        return {};
    ColumnDependencies res;
    NameSet indices_columns;
    NameSet projections_columns;
    NameSet required_ttl_columns;
    NameSet updated_ttl_columns;
    auto add_dependent_columns = [&updated_columns](const auto & expression, auto & to_set)
    {
        auto required_columns = expression->getRequiredColumns();
        for (const auto & dependency : required_columns)
        {
            if (updated_columns.count(dependency))
            {
                to_set.insert(required_columns.begin(), required_columns.end());
                return true;
            }
        }
        return false;
    };
    for (const auto & index : getSecondaryIndices())
        add_dependent_columns(index.expression, indices_columns);
    for (const auto & projection : getProjections())
        add_dependent_columns(&projection, projections_columns);