環境変数

SQLCCACHE

SQLCCACHE環境変数は、sqlcがキャッシュされたWASMベースのプラグインとモジュールを保存する場所を指定します。デフォルトでは、sqlcはXDG Base Directory Specificationに従います。

SQLCDEBUG

SQLCDEBUG変数は、ランタイム内のデバッグ変数を制御します。これは、name=valペア設定のカンマ区切りリストです。

dumpast

dumpastコマンドは、パーサーによって生成されたSQL ASTを表示します。これは一般的なSQL ASTであり、エンジン固有のSQL ASTではないことに注意してください。

SQLCDEBUG=dumpast=1

([]interface {}) (len=1 cap=1) {
 (*catalog.Catalog)(0xc0004f48c0)({
  Comment: (string) "",
  DefaultSchema: (string) (len=6) "public",
  Name: (string) "",
  Schemas: ([]*catalog.Schema) (len=3 cap=4) {
   (*catalog.Schema)(0xc0004f4930)({
    Name: (string) (len=6) "public",
    Tables: ([]*catalog.Table) (len=1 cap=1) {
     (*catalog.Table)(0xc00052ff20)({
      Rel: (*ast.TableName)(0xc00052fda0)({
       Catalog: (string) "",
       Schema: (string) "",
       Name: (string) (len=7) "authors"
      }),

dumpcatalog

dumpcatalogコマンドは、カタログ全体を出力します。MySQLまたはPostgreSQLを使用している場合、これは少し圧倒的になる可能性があります。この出力は将来のバージョンで変更されることが予想されます。

SQLCDEBUG=dumpcatalog=1

([]interface {}) (len=1 cap=1) {
 (*catalog.Catalog)(0xc00050d1f0)({
  Comment: (string) "",
  DefaultSchema: (string) (len=6) "public",
  Name: (string) "",
  Schemas: ([]*catalog.Schema) (len=3 cap=4) {
   (*catalog.Schema)(0xc00050d260)({
    Name: (string) (len=6) "public",
    Tables: ([]*catalog.Table) (len=1 cap=1) {
     (*catalog.Table)(0xc0000c0840)({
      Rel: (*ast.TableName)(0xc0000c06c0)({
       Catalog: (string) "",
       Schema: (string) "",
       Name: (string) (len=7) "authors"
      }),

trace

traceコマンドは、パフォーマンスの問題を追跡するのに役立ちます。

SQLCDEBUG=trace=1

デフォルトでは、トレース出力は現在の作業ディレクトリのtrace.outに書き込まれます。必要に応じて、異なるパスを設定できます。

SQLCDEBUG=trace=name.out

Go traceツールを使用して実行トレースを表示します。

go tool trace trace.out

トレース出力にはさまざまなビューがありますが、各パッケージの実行時間を示すログの例を以下に示します。

0.000043897 	 .         	1 	task sqlc (id 1, parent 0) created
0.000144923 	 .   101026 	1 	region generate started (duration: 47.619781ms)
0.001048975 	 .   904052 	1 	region package started (duration: 14.588456ms)
0.001054616 	 .     5641 	1 	name=authors dir=/Users/kyle/projects/sqlc/examples/python language=python
0.001071257 	 .    16641 	1 	region parse started (duration: 7.966549ms)
0.009043960 	 .  7972703 	1 	region codegen started (duration: 6.587086ms)
0.009171704 	 .   127744 	1 	new goroutine 35: text/template/parse.lex·dwrap·1
0.010361654 	 .  1189950 	1 	new goroutine 36: text/template/parse.lex·dwrap·1
0.015641815 	 .  5280161 	1 	region package started (duration: 10.904938ms)
0.015644943 	 .     3128 	1 	name=booktest dir=/Users/kyle/projects/sqlc/examples/python language=python
0.015647431 	 .     2488 	1 	region parse started (duration: 4.207749ms)
0.019860308 	 .  4212877 	1 	region codegen started (duration: 6.681624ms)
0.020028488 	 .   168180 	1 	new goroutine 37: text/template/parse.lex·dwrap·1
0.021020310 	 .   991822 	1 	new goroutine 8: text/template/parse.lex·dwrap·1
0.026551163 	 .  5530853 	1 	region package started (duration: 9.217294ms)
0.026554368 	 .     3205 	1 	name=jets dir=/Users/kyle/projects/sqlc/examples/python language=python
0.026556804 	 .     2436 	1 	region parse started (duration: 3.491005ms)
0.030051911 	 .  3495107 	1 	region codegen started (duration: 5.711931ms)
0.030213937 	 .   162026 	1 	new goroutine 20: text/template/parse.lex·dwrap·1
0.031099938 	 .   886001 	1 	new goroutine 38: text/template/parse.lex·dwrap·1
0.035772637 	 .  4672699 	1 	region package started (duration: 10.267039ms)
0.035775688 	 .     3051 	1 	name=ondeck dir=/Users/kyle/projects/sqlc/examples/python language=python
0.035778150 	 .     2462 	1 	region parse started (duration: 4.094518ms)
0.039877181 	 .  4099031 	1 	region codegen started (duration: 6.156341ms)
0.040010771 	 .   133590 	1 	new goroutine 39: text/template/parse.lex·dwrap·1
0.040894567 	 .   883796 	1 	new goroutine 40: text/template/parse.lex·dwrap·1
0.046042779 	 .  5148212 	1 	region writefiles started (duration: 1.718259ms)
0.047767781 	 .  1725002 	1 	task end

processplugins

この値を0に設定すると、プロセスベースのプラグインが無効になります。プロセスベースのプラグインが設定ファイルで宣言されている場合、任意のsqlcコマンドを実行するとエラーが返されます。

SQLCDEBUG=processplugins=0

dumpvetenv

dumpvetenvコマンドは、評価中にsqlc vetルールで利用可能な変数を出力します。

SQLCDEBUG=dumpvetenv=1

dumpexplain

dumpexplainコマンドは、sqlc vetルール評価でその出力が必要な場合に、クエリでEXPLAIN ...を実行した結果のJSON形式の結果を出力します。

SQLCDEBUG=dumpexplain=1

SQLCTMPDIR

指定された場合、一時フォルダーのベースとして指定されたディレクトリを使用します。WASMベースのコードジェンプラグインを使用する場合にのみ適用されます。指定されていない場合、これはos.MkdirTempに空の文字列を渡すことにデフォルト設定されます。


原文:https://docs.sqlc.dev/en/latest/reference/environment-variables.html