import * as rdsdata from "@distilled.cloud/aws/rds-data"; import * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { RuntimeContext } from "../../RuntimeContext.ts"; import type { DBCluster } from "../RDS/DBCluster.ts"; import type { Secret } from "../SecretsManager/Secret.ts"; export interface BatchExecuteStatementOptions { secret: Secret; database?: string; schema?: string; } export interface BatchExecuteStatementRequest extends Omit { } /** * Runtime binding for `rds-data:BatchExecuteStatement` — run one SQL * statement over many parameter sets in a single Data API call (bulk * insert/update/delete). * * Bind it to a Data-API-enabled `DBCluster` and its credentials secret, * exactly like `AWS.RDSData.ExecuteStatement`; provide the implementation * with `Effect.provide(AWS.RDSData.BatchExecuteStatementHttp)`. * ### Batch Writes * **Example:** Bulk Insert Rows * ```typescript * // init — bind alongside your other Data API operations * const batchExecuteStatement = yield* AWS.RDSData.BatchExecuteStatement( * db.cluster, * { secret: db.secret, database: "app" }, * ); * * // runtime — one statement, one parameter set per row * const result = yield* batchExecuteStatement({ * sql: "INSERT INTO todos (id, title) VALUES (:id, :title)", * parameterSets: rows.map((row) => [ * { name: "id", value: { longValue: row.id } }, * { name: "title", value: { stringValue: row.title } }, * ]), * }); * ``` * * @binding */ export interface BatchExecuteStatement extends Binding.Service Effect.Effect<(request: BatchExecuteStatementRequest) => Effect.Effect>> { } export declare const BatchExecuteStatement: BatchExecuteStatement; //# sourceMappingURL=BatchExecuteStatement.d.ts.map