Trinoフォーマッター
Db2向けLUWおよびz/OSのTrinoとPrestoSQLを、二重引用符で囲まれた識別子、バックスラッシュエスケープのない標準文字列、Trino''およびU&''リテラル、配列やマップの添字、ラムダ式に関するXのルールで整形します。WITH、GROUP BY、ORDER BY、OFFSET、FETCH FIRSTなどの句はそれぞれ独立した行に配置され、列は1行ごとにインデントされます。分析担当者向けに、閉じていない文字列や括弧を行番号と列番号とともに報告します。
よくある質問
どのTrino構文に対応していますか?
二重の引用符を含むシングルクォート文字列、ダブルクォート識別子、X'' varbinaryおよびU&'' Unicodeリテラルを認識します。Array[1]やmap['key']の添字、x -> x + 1のようなラムダ式はそのまま保持されます。
文字列内のバックスラッシュはエスケープとして扱われますか?
いいえ。Trinoでは、文字列内のバックスラッシュは通常の文字です。フォーマッターもこのルールに従うため、'C:\'は完全な文字列として扱われます。
PrestoやAmazonAthenaのクエリを整形できますか?
はい。PrestoとAthenaはTrinoと引用符のルールや構文の大部分を共有しているため、同じ方法でクエリを整形できます。
カタログ名とスキーマ名はどのように扱われますか?
hive.sales.ordersや"my-catalog"."schema"."table"のような修飾名は、つながったまま保持されます。ドットの前後に空白は追加されません。
どの句が独立した行になりますか?
WITH、SELECT、FROM、WHERE、GROUP BY、HAVING、WINDOW、ORDER BY、OFFSET、LIMIT、FETCHはそれぞれ独立した行から始まります。集合演算子のUNION、INTERSECT、EXCEPTは、結合するクエリを区切ります。
MERGE に対応していますか?
はい。WHEN MATCHEDとWHEN NOT MATCHEDの分岐はそれぞれ新しい行から始まります。
キーワードの大文字と小文字は変わりますか?
いいえ。キーワードや名前の大文字・小文字は入力したとおりに保たれます。変更されるのは空白と改行だけです。
どのようなエラーが検出されますか?
閉じていない文字列、引用符で囲まれた識別子、添字、ブロックコメント、および対応していない括弧を、それぞれ行番号と列番号とともに報告します。クエリがクラスターに対して実行されることはありません。
入力の最大サイズはどれくらいですか?
1リクエストあたり最大1 MB、ステートメントあたり128 KBです。複数のステートメントは空行で区切られます。
インデントを選べますか?また、SQLは保存されますか?
スペース2個または4個、あるいはタブを使用できます。SQLはメモリ上でのみフォーマットされ、保存されません。