Formattatore Redshift
Formatta Amazon Redshift SQL secondo le regole Redshift per le stringhe con escape tramite backslash, gli identificatori tra virgolette doppie, le tabelle #temp, i cast :: e i corpi delle funzioni $$ . QUALIFY e MINUS vengono mantenuti come clausole, i rami MERGE iniziano su nuove righe e gli elenchi lunghi di colonne vengono disposti uno per riga. Le stringhe e le parentesi non chiuse vengono segnalate con riga e colonna, per aiutare analisti e data engineer a esaminare il codice per data warehouse.
Domande frequenti
Quale sintassi Redshift viene riconosciuta?
Vengono riconosciute le stringhe tra apici singoli con escape tramite backslash e apici raddoppiati, gli identificatori tra virgolette doppie, i nomi delle tabelle #temp e i cast ::. Gli operatori di espressioni regolari ~ e ~* con le relative forme negate e i corpi delle funzioni tra dollari $$ vengono mantenuti integri.
In cosa differisce dal formattatore PostgreSQL?
Redshift deriva da PostgreSQL, ma presenta alcune differenze: nelle stringhe il backslash funge da carattere di escape, # indica il nome di una tabella temporanea anziché un operatore e sono disponibili QUALIFY e MINUS. Questo formattatore segue tali regole.
Che cosa succede ai corpi delle UDF?
I corpi delle funzioni definite dall'utente in Python o SQL, scritti tra i marcatori $$, vengono mantenuti esattamente come sono. Viene formattata solo l'istruzione che li contiene.
Quali clausole vanno su una riga dedicata?
SELECT, FROM, WHERE, GROUP BY, HAVING, QUALIFY, ORDER BY, LIMIT e OFFSET iniziano su righe proprie. MINUS, UNION, INTERSECT ed EXCEPT separano le query che combinano.
Supporta MERGE?
Sì. I rami WHEN MATCHED e WHEN NOT MATCHED iniziano su nuove righe.
I commenti vengono mantenuti?
Sì. I commenti -- e /* */ restano al loro posto. I commenti di blocco su più righe vengono rientrati secondo il nuovo layout.
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 non chiuse, identificatori tra virgolette, corpi $$ e commenti di blocco, oltre a parentesi non bilanciate, ciascuno con riga e colonna. SQL non viene inviato al cluster.
Qual è la dimensione massima dell'input?
Fino a 1 MB per richiesta e 128 KB per istruzione. Gli script ETL più lunghi vengono formattati un'istruzione alla volta.
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.