**Use case**
For #15112

**Describe the solution you'd like**

SELECT ALL is identical to SELECT without DISTINCT.

If ALL is specified - ignore it.
If both ALL and DISTINCT are specified - syntax error or exception.

ALL can also be specified inside aggregate function:

SELECT sum(ALL x)

with the same effect (noop).
{
        if (!s_select.ignore(pos, expected))
            return false;
        if (s_distinct.ignore(pos, expected))
            select_query->distinct = true;
        if (s_top.ignore(pos, expected))
        {
            ParserNumber num;
            if (open_bracket.ignore(pos, expected))
            {
                if (!num.parse(pos, top_length, expected))
                    return false;
                if (!close_bracket.ignore(pos, expected))
                    return false;
            }
            else
            {
                if (!num.parse(pos, top_length, expected))
                    return false;
            }
            if (s_with_ties.ignore(pos, expected))
                select_query->limit_with_ties = true;
        }
        if (!exp_list_for_select_clause.parse(pos, select_expression_list, expected))
            return false;
    }
    
    if (s_from.ignore(pos, expected))
    {