yumemi/gen/emit/sql

束4 ── db/queries/<service>/<name>.sql。名前付きクエリ値 1つにつき SELECT 1文。 実行時は $1..$n を埋めるだけ。組み立ては全部ここで済ませる(20:837)。

Types

SQL を出せない理由。class は 20 の exit code 表(stop)へそのまま写る。

pub type Reason {
  Reason(class: stop.Class, text: String)
}

Constructors

pub type Skipped {
  Skipped(service: String, query: String, reason: Reason)
}

Constructors

  • Skipped(service: String, query: String, reason: Reason)

Values

pub fn build(
  app: model.App,
  hashes: hash.Hashes,
) -> #(List(types.File), List(Skipped))
pub fn emit(
  app: model.App,
  hashes: hash.Hashes,
) -> List(types.File)
pub fn notes(
  app: model.App,
  hashes: hash.Hashes,
) -> List(stop.Note)

出せなかった SQL を 20 の exit code つきで返す。1本でも出ていなければ 0 で終われない ── reads の関数だけ在って SQL が無い状態は、実行時に必ず落ちる不整合(柏木 P2-2)。

✨ Search Document