Изменение видимости алиасов, введенных в GROUP BY expr AS alias для WHERE

Начиная с этой версии в запросе вида

SELECT foo, ... WHERE foo = 1 GROUP BY expr AS foo

значение foo в WHERE берется из исходной таблицы, а не равно expr, как было ранее.

Чтобы получить ошибку запроса, если он изменит поведение в этой версии, необходимо добавить

PRAGMA FailOnGroupByExprOverride;

Если необходимо сохранить предыдущее поведение, запрос нужно преобразовать в такую форму:

SELECT foo, ... FROM (SELECT expr AS foo ...) WHERE foo = 1 GROUP BY foo

Если нужно подготовить запрос к переходу на новую версию, достаточно убрать затенение alias-ом имени колонки:

SELECT foo_new, ... WHERE foo = 1 GROUP BY expr AS foo_new

Изменения в модуле String

  • Удалена функция String::Reverse, используйте Unicode::Reverse.
  • Удалены функции String::HasPrefixIgnoreCase и String::StartsWithIgnoreCase, используйте String::AsciiStartsWithIgnoreCase.
  • Удалены функции String::HasSuffixIgnoreCase и String::EndsWithIgnoreCase, используйте String::AsciiEndsWithIgnoreCase.
  • Добавлены функции String::AsciiContainsIgnoreCase и String::AsciiEqualsIgnoreCase.
  • Добавлены функции String::ReverseBytes и String::ReverseBits.
Предыдущая
Следующая