BeginTransaction
Source:
src/AWS/RDSData/BeginTransaction.ts
Runtime binding for rds-data:BeginTransaction — open a Data API
transaction and get back a transactionId to thread through subsequent
ExecuteStatement/BatchExecuteStatement calls.
Bind it to a Data-API-enabled DBCluster and its credentials secret;
provide the implementation with
Effect.provide(AWS.RDSData.BeginTransactionHttp). Pair with
AWS.RDSData.CommitTransaction / AWS.RDSData.RollbackTransaction to
finish the transaction.
Transactions
Section titled “Transactions”// initconst beginTransaction = yield* AWS.RDSData.BeginTransaction(db.cluster, { secret: db.secret, database: "app",});const executeStatement = yield* AWS.RDSData.ExecuteStatement(db.cluster, { secret: db.secret, database: "app",});const commitTransaction = yield* AWS.RDSData.CommitTransaction(db.cluster, { secret: db.secret,});
// runtimeconst tx = yield* beginTransaction();yield* executeStatement({ sql: "INSERT INTO todos (id, title) VALUES (:id, :title)", parameters: [ { name: "id", value: { longValue: 1 } }, { name: "title", value: { stringValue: "buy milk" } }, ], transactionId: tx.transactionId,});yield* commitTransaction({ transactionId: tx.transactionId! });