Formattatore Trino
Formattate Trino e Presto SQL applicando le regole di Trino per identificatori tra doppi apici, stringhe standard senza caratteri di escape backslash, letterali X'' e U&'', indici di array e mappe ed espressioni lambda. Le clausole come WITH, GROUP BY, ORDER BY, OFFSET e FETCH FIRST vengono disposte su righe separate, con le colonne indentate una per riga. Per gli analisti, le stringhe e le parentesi non chiuse vengono segnalate con riga e colonna.
Domande frequenti
Quale sintassi Trino viene riconosciuta?
Vengono riconosciute le stringhe tra apici singoli con apici raddoppiati, gli identificatori tra doppi apici e i letterali varbinary X'' e U&'' Unicode. Gli indici Array[1] e map['key'] e le espressioni lambda come x -> x + 1 restano intatti.
I backslash eseguono l'escape dei caratteri nelle stringhe?
No. In Trino, un backslash all'interno di una stringa è un carattere normale e il formattatore segue questa regola, quindi 'C:\' è una stringa completa.
Posso formattare query Athena di Presto e Amazon?
Sì. Presto e Athena condividono le regole di quoting e gran parte della sintassi di Trino, quindi le loro query vengono formattate allo stesso modo.
Come vengono gestiti i nomi di cataloghi e schemi?
I nomi qualificati come hive.sales.orders e "my-catalog"."schema"."table" restano uniti. Non vengono aggiunti spazi attorno ai punti.
Quali clausole vanno su una riga dedicata?
WITH, SELECT, FROM, WHERE, GROUP BY, HAVING, WINDOW, ORDER BY, OFFSET, LIMIT e FETCH iniziano su righe separate. Gli operatori di insieme UNION, INTERSECT ed EXCEPT separano le query che combinano.
Supporta MERGE?
Sì. I rami WHEN MATCHED e WHEN NOT MATCHED iniziano su nuove righe.
Modifica le maiuscole delle parole chiave?
No. Le parole chiave e i nomi mantengono le maiuscole e minuscole originali. Cambiano solo gli spazi e le interruzioni di riga.
Quali errori vengono rilevati?
Stringhe, identificatori tra apici, indici e commenti di blocco non chiusi, oltre a parentesi non bilanciate, con riga e colonna per ciascun errore. Le query non vengono eseguite su alcun cluster.
Qual è la dimensione massima dell'input?
Fino a 1 MB per richiesta e 128 KB per istruzione. Le varie istruzioni sono separate da righe vuote.
Posso scegliere il rientro e il mio SQL viene salvato?
Usate 2 o 4 spazi oppure tabulazioni. SQL viene formattato solo in memoria e non viene mai salvato.