Formater Redshift
Formatuj Amazon Redshift SQL zgodnie z regułami Redshift dotyczącymi ciągów ze sekwencjami ucieczki backslash, identyfikatorów w cudzysłowach podwójnych, tabel tymczasowych #temp, rzutowań :: i treści funkcji $$. QUALIFY i MINUS są zachowywane jako klauzule, gałęzie MERGE rozpoczynają nowe wiersze, a długie listy kolumn są zapisywane po jednej kolumnie w wierszu. Niedomknięte ciągi znaków i nawiasy są zgłaszane wraz z numerem wiersza i kolumny, co pomaga analitykom i inżynierom danych przeglądać kod hurtowni danych.
Najczęściej zadawane pytania
Jakie składnie Redshift są rozpoznawane?
Rozpoznawane są ciągi w apostrofach z sekwencjami ucieczki backslash i podwojonymi apostrofami, identyfikatory w cudzysłowach podwójnych, nazwy tabel #temp i rzutowania ::. Operatory wyrażeń regularnych ~ i ~* wraz z ich zanegowanymi formami oraz ciągi funkcji w cudzysłowach dolarowych $$ są zachowywane w całości.
Czym różni się to od formatera PostgreSQL?
Redshift powstał na bazie PostgreSQL, ale się różni: backslashe służą w jego ciągach do wprowadzania sekwencji ucieczki, # rozpoczyna nazwę tabeli tymczasowej zamiast być operatorem, a QUALIFY i MINUS są dostępne. Ten formater stosuje te reguły.
Co dzieje się z treścią UDF?
Treści funkcji zdefiniowanych przez użytkownika w Pythonie lub SQL, zapisane między znacznikami $$, są zachowywane dokładnie w takiej postaci, w jakiej je zapisano. Formatowana jest tylko otaczająca je instrukcja.
Które klauzule trafiają do osobnych wierszy?
SELECT, FROM, WHERE, GROUP BY, HAVING, QUALIFY, ORDER BY, LIMIT i OFFSET rozpoczynają własne wiersze. MINUS, UNION, INTERSECT i EXCEPT oddzielają łączone zapytania.
Czy obsługuje MERGE?
Tak. Gałęzie WHEN MATCHED i WHEN NOT MATCHED rozpoczynają nowe wiersze.
Czy komentarze są zachowywane?
Tak. Komentarze -- i /* */ pozostają na miejscu. Wielowierszowe komentarze blokowe otrzymują ponowne wcięcia zgodne z nowym układem.
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?
Wykrywa niedomknięte ciągi znaków, identyfikatory w cudzysłowach, treści $$ i komentarze blokowe oraz niezbilansowane nawiasy, podając w każdym przypadku wiersz i kolumnę. SQL nie jest wysyłane do klastra.
Jak duże mogą być dane wejściowe?
Do 1 MB na żądanie i 128 KB na instrukcję. Dłuższe skrypty ETL są formatowane po jednej instrukcji naraz.
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.