Formater Trino
Formatuj Trino i Presto SQL zgodnie z regułami Trino dotyczącymi identyfikatorów w podwójnych cudzysłowach, standardowych ciągów znaków bez sekwencji ucieczki z ukośnikiem odwrotnym, literałów X'' i U&'', indeksów tablic i map oraz wyrażeń lambda. Klauzule takie jak WITH, GROUP BY, ORDER BY, OFFSET i FETCH FIRST trafiają do osobnych wierszy, a kolumny są wcięte po jednej w każdym wierszu. W przypadku analityków niezamknięte ciągi znaków i nawiasy są zgłaszane wraz z numerem wiersza i kolumny.
Najczęściej zadawane pytania
Jaka składnia Trino jest obsługiwana?
Rozpoznawane są ciągi znaków w pojedynczych cudzysłowach z podwojonymi cudzysłowami, identyfikatory w podwójnych cudzysłowach oraz literały X'' varbinary i U&'' Unicode. Indeksy takie jak Array[1] i map['key'] oraz wyrażenia lambda, na przykład x -> x + 1, pozostają bez zmian.
Czy ukośniki odwrotne służą do oznaczania znaków ucieczki w ciągach?
Nie. W Trino ukośnik odwrotny w ciągu znaków jest zwykłym znakiem, a formater stosuje tę regułę, więc 'C:\' jest kompletnym ciągiem.
Czy mogę formatować zapytania Presto i Athena dla Amazon?
Tak. Presto i Athena mają wspólne reguły cytowania Trino i większość jego składni, dlatego ich zapytania są formatowane tak samo.
Jak są obsługiwane nazwy katalogów i schematów?
Kwalifikowane nazwy, takie jak hive.sales.orders i "my-catalog"."schema"."table", pozostają połączone. Wokół kropek nie są dodawane spacje.
Które klauzule trafiają do osobnych wierszy?
WITH, SELECT, FROM, WHERE, GROUP BY, HAVING, WINDOW, ORDER BY, OFFSET, LIMIT i FETCH zaczynają się w osobnych wierszach. Operatory zbiorów UNION, INTERSECT i EXCEPT rozdzielają łączone zapytania.
Czy obsługuje MERGE?
Tak. Gałęzie WHEN MATCHED i WHEN NOT MATCHED rozpoczynają nowe wiersze.
Czy zmienia wielkość liter w słowach kluczowych?
Nie. Słowa kluczowe i nazwy zachowują użyte przez Ciebie wielkość liter. Zmieniają się tylko białe znaki i podziały wierszy.
Jakie błędy są wykrywane?
Niezamknięte ciągi znaków, identyfikatory w cudzysłowach, indeksy i komentarze blokowe oraz niezbilansowane nawiasy — każde z numerem wiersza i kolumny. Zapytania nie są wykonywane w żadnym klastrze.
Jak duże mogą być dane wejściowe?
Do 1 MB na żądanie i 128 KB na instrukcję. Poszczególne instrukcje są rozdzielane pustymi wierszami.
Czy mogę wybrać wcięcia i czy mój skrypt SQL jest zapisywany?
Użyj 2 lub 4 spacji albo tabulatorów. SQL jest formatowane wyłącznie w pamięci i nigdy nie jest zapisywane.