Redshift-formázó
Formázza a Amazon Redshift SQL-t a Redshift szabályai szerint: a backslash escape-eket tartalmazó karakterláncok, a dupla idézőjelek közötti azonosítók, a #temp táblák, a :: típuskonverziók és a $$ függvénytörzsek kezelésével. A QUALIFY és a MINUS záradékként marad meg, a MERGE ágai új sorban kezdődnek, a hosszú oszloplisták pedig oszloponként külön sorba kerülnek. A lezáratlan karakterláncokat és zárójeleket sorszámmal és oszloppal jelzi, így segít az elemzőknek és az adatmérnököknek áttekinteni az adattárházi kódot.
Gyakran ismételt kérdések
Mely Redshift-szintaxisokat ismeri fel?
Felismeri a backslash escape-eket és dupla aposztrófokat tartalmazó, aposztrófok közötti karakterláncokat, a dupla idézőjelek közötti azonosítókat, a #temp táblaneveket és a :: típuskonverziókat. Érintetlenül hagyja a ~ és ~* reguláriskifejezés-operátorokat és azok tagadó alakjait, valamint a $$ jelek közötti függvénytörzseket.
Miben különbözik a PostgreSQL formázótól?
A Redshift a PostgreSQL rendszerből indult ki, de eltér tőle: a karakterláncokban a backslash karakterek escape-elésére szolgál, a # ideiglenes táblanevet kezd operátor helyett, a QUALIFY és a MINUS pedig elérhető. Ez a formázó ezeket a szabályokat követi.
Mi történik az UDF-ek törzsével?
A $$ jelek között megadott Python- vagy SQL-felhasználói függvények törzse pontosan úgy marad, ahogyan írták. Csak a körülöttük lévő utasítás formázódik.
Mely záradékok kerülnek külön sorba?
A SELECT, FROM, WHERE, GROUP BY, HAVING, QUALIFY, ORDER BY, LIMIT és OFFSET külön sorban kezdődik. A MINUS, UNION, INTERSECT és EXCEPT választja el az általuk összekapcsolt lekérdezéseket.
Támogatja a MERGE utasítást?
Igen. A WHEN MATCHED és a WHEN NOT MATCHED ágak új sorban kezdődnek.
Megmaradnak a megjegyzések?
Igen. A -- és a /* */ megjegyzések a helyükön maradnak. A többsoros blokkmegjegyzések behúzása az új elrendezéshez igazodik.
Megváltoztatja a kulcsszavak kis- és nagybetűit?
Nem. A kulcsszavak és nevek megőrzik az íráskor használt kis- és nagybetűket. Csak a szóközök és a sortörések változnak.
Milyen hibákat észlel?
A lezáratlan karakterláncokat, idézőjelek közötti azonosítókat, $$ törzseket és blokkmegjegyzéseket, valamint a kiegyensúlyozatlan zárójeleket sorszámmal és oszloppal jelzi. A SQL nem kerül elküldésre a fürtjébe.
Mekkora lehet a bemenet?
Kérésenként legfeljebb 1 MB, utasításonként pedig 128 KB. A hosszabb ETL-szkripteket utasításonként formázzuk.
Választhatok behúzást, és tárolódik az SQL?
Használjon 2 vagy 4 szóközt, illetve tabulátorokat. A SQL csak a memóriában formázódik, és soha nem kerül mentésre.