Форматувальник 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 форматується лише в пам’яті й ніколи не зберігається.