Formátovač Redshift
Formátujte Amazon Redshift SQL podľa pravidiel Redshift pre reťazce s escape sekvenciami so spätnou lomkou, identifikátory v dvojitých úvodzovkách, dočasné tabuľky #temp, konverzie typu :: a telá funkcií $$ . QUALIFY a MINUS sa zachovávajú ako klauzuly, vetvy MERGE sa začínajú na nových riadkoch a dlhé zoznamy stĺpcov sa rozložia po jednom na riadok. Pri neuzavretých reťazcoch a zátvorkách sa uvedie riadok a stĺpec, čo analytikom a dátovým inžinierom pomáha kontrolovať kód dátového skladu.
Často kladené otázky
Ktorá syntax Redshift je rozpoznaná?
Rozpoznávajú sa reťazce v jednoduchých úvodzovkách s escape sekvenciami so spätnou lomkou a zdvojenými úvodzovkami, identifikátory v dvojitých úvodzovkách, názvy tabuliek #temp a konverzie typu ::. Operátory regulárnych výrazov ~ a ~* vrátane ich negovaných tvarov a telá funkcií $$ v dolárových úvodzovkách zostávajú neporušené.
Ako sa líši od formátovača PostgreSQL?
Redshift vychádza z PostgreSQL, ale líši sa: spätné lomky v jeho reťazcoch fungujú ako escape znaky, # označuje názov dočasnej tabuľky namiesto operátora a sú dostupné QUALIFY a MINUS. Tento formátovač sa riadi týmito pravidlami.
Čo sa stane s telami používateľských funkcií?
Telá používateľských funkcií v jazyku Python alebo SQL zapísané medzi značkami $$ zostávajú presne tak, ako boli napísané. Formátuje sa iba príkaz okolo nich.
Ktoré klauzuly majú vlastný riadok?
SELECT, FROM, WHERE, GROUP BY, HAVING, QUALIFY, ORDER BY, LIMIT a OFFSET sa začínajú na vlastných riadkoch. MINUS, UNION, INTERSECT a EXCEPT oddeľujú kombinované dopyty.
Podporuje MERGE?
Áno. Vetvy WHEN MATCHED a WHEN NOT MATCHED sa začínajú na nových riadkoch.
Zachovajú sa komentáre?
Áno. Komentáre -- a /* */ zostávajú na svojom mieste. Odsadenie viacriadkových blokových komentárov sa upraví podľa nového rozloženia.
Mení veľkosť písmen v kľúčových slovách?
Nie. Kľúčové slová a názvy si zachovajú veľkosť písmen, ktorú ste použili. Menia sa iba medzery a zalomenia riadkov.
Ktoré chyby sa zisťujú?
Neuzavreté reťazce, identifikátory v úvodzovkách, telá $$ a blokové komentáre, ako aj nevyvážené zátvorky – pri každom sa uvedie riadok a stĺpec. SQL sa neodošle do vášho klastra.
Aký veľký môže byť vstup?
Najviac 1 MB na požiadavku a 128 KB na príkaz. Dlhšie ETL skripty sa formátujú po jednom príkaze.
Môžem si vybrať odsadenie a ukladá sa môj SQL?
Použite 2 alebo 4 medzery alebo tabulátory. SQL sa formátuje iba v pamäti a nikdy sa neukladá.