# Форматировщик Trino

Форматируйте Trino и Presto SQL по правилам Trino для идентификаторов в двойных кавычках, обычных строк без экранирования обратной косой чертой, литералов X'' и U&'', индексов массивов и отображений, а также лямбда-выражений. Такие конструкции, как WITH, GROUP BY, ORDER BY, OFFSET и FETCH FIRST, размещаются на отдельных строках, а столбцы с отступом — по одному на строку. Для аналитиков незакрытые строки и скобки отмечаются с указанием строки и столбца.

## Часто задаваемые вопросы

### Какой синтаксис Trino распознаётся?

Распознаются строки в одинарных кавычках с удвоенными кавычками, идентификаторы в двойных кавычках, а также литералы X'' varbinary и U&'' Unicode. Индексы Array[1] и map['key'], а также лямбда-выражения, например x -> x + 1, сохраняются без изменений.

### Экранируют ли обратные косые черты символы в строках?

Нет. В Trino обратная косая черта внутри строки считается обычным символом, и форматировщик следует этому правилу, поэтому 'C:\' — это завершённая строка.

### Можно ли форматировать запросы Presto и Amazon Athena?

Да. Presto и Athena используют правила кавычек Trino и большую часть его синтаксиса, поэтому их запросы форматируются одинаково.

### Как обрабатываются имена каталогов и схем?

Составные имена, такие как hive.sales.orders и "my-catalog"."schema"."table", остаются цельными. Пробелы вокруг точек не добавляются.

### Какие конструкции размещаются на отдельных строках?

WITH, SELECT, FROM, WHERE, GROUP BY, HAVING, WINDOW, ORDER BY, OFFSET, LIMIT и FETCH начинаются с новой строки. Операторы множеств UNION, INTERSECT и EXCEPT разделяют объединяемые запросы.

### Поддерживается ли MERGE?

Да. Ветви WHEN MATCHED и WHEN NOT MATCHED начинаются с новых строк.

### Меняется ли регистр ключевых слов?

Нет. Ключевые слова и имена сохраняют регистр, в котором вы их написали. Меняются только пробелы и переносы строк.

### Какие ошибки обнаруживаются?

Незакрытые строки, идентификаторы в кавычках, индексы и блочные комментарии, а также несбалансированные скобки — для каждого случая указываются строка и столбец. Запросы не выполняются в кластере.

### Каков максимальный размер входных данных?

До 1 MB на запрос и 128 KB на инструкцию. Несколько инструкций разделяются пустыми строками.

### Можно ли выбрать отступы и сохраняется ли мой SQL?

Используйте 2 или 4 пробела либо табуляцию. SQL форматируется только в памяти и никогда не сохраняется.

Ваша реклама здесь?

[Напишите нам по электронной почте](mailto:hi@dennn.is?subject=%D0%A0%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0%20%D0%BD%D0%B0%20OneClick%20Pro)

[Реклама Набор плагинов для работы агентов с WordPress.](https://sleekwp.com/?ref=oneclickpro)
