Поведение предложения SQL HAVING с псевдонимами - стандарты - PullRequest
1 голос
/ 29 января 2020

В движке 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

Inconsistent engines

...