Skip to main content

DBClient

Trait DBClient 

Source
pub trait DBClient: Send + Sync {
    // Required method
    fn fetch(
        &self,
        connection: &Value,
        table: &str,
        columns: &[&str],
        where_clause: Option<&str>,
    ) -> Option<Vec<HashMap<String, Value>>>;
}
Expand description

DBクライアント DB接続・クエリ実行(PDO相当)

§connection 引数について

  • Value::Object: 接続情報が含まれる Object (例: {host: “…”, port: 3306, …})
  • Value::String: 接続識別子 (例: “common”, “tenant”)

重要: DBClient 実装内で State を呼び出してはいけません。 String 形式の connection を受け取った場合は、実装側で事前に用意した 接続マップから取得するか、エラーを返してください。

Required Methods§

Source

fn fetch( &self, connection: &Value, table: &str, columns: &[&str], where_clause: Option<&str>, ) -> Option<Vec<HashMap<String, Value>>>

レコード取得(単数でも複数でも対応)

§Arguments
  • connection - 接続情報 (Object or String)
  • table - テーブル名
  • columns - SELECT するカラム名の配列(map から自動抽出)
  • where_clause - WHERE 条件(省略可)
§Returns
  • Some(Vec<HashMap>) - 取得成功(0件以上)
  • None - エラー
§SQL 生成例
SELECT db_host, db_port, db_database FROM tenants WHERE id=1

Implementors§