**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).
{
    ParserNull null_p;
    ParserNumber num_p;
    ParserStringLiteral str_p;
    if (null_p.parse(pos, node, expected))
        return true;
    if (num_p.parse(pos, node, expected))
        return true;
    if (str_p.parse(pos, node, expected))
        return true;
    return false;
}
const char * ParserAlias::restricted_keywords[] =
{
    "FROM",
    "FINAL",
    "SAMPLE",
    "ARRAY",
    "LEFT",
    "RIGHT",
    "INNER",
    "FULL",