В движке Impala 3.0 SQL разработчики изменили поведение GROUP BY, HAVING и ORDER BY, чтобы якобы быть более совместимыми со стандартами, таким образом нарушая код Impala 2.x.
Например, select c,count(*) as n group by c having n>10 order by n desc;
больше не разрешено. Проблема в том, что n>10
. Обоснование этого подтверждается SQL стандартами. Однако, если кто-то прочитает комментарии в билете jira, исследование состояло исключительно из сравнения его с Postgres, Oracle и другими механизмами баз данных. Даже их комментарии показали, что эти другие механизмы несовместимы.
Вот мой вопрос: запрещает ли на самом деле стандарт SQL92 или более поздние использовать именованные псевдонимы таким образом?
Когда я читаю стандарт, я не вижу такого запрета. Читая грамматику БНФ, мне кажется, что это разрешено.
Для получения дополнительной информации: https://issues.apache.org/jira/browse/IMPALA-5191