Documentation
¶
Overview ¶
Package transaction provides atomic transaction support for DynamORM
Index ¶
- type Builder
- func (b *Builder) ConditionCheck(model any, conditions ...core.TransactCondition) core.TransactionBuilder
- func (b *Builder) Create(model any, conditions ...core.TransactCondition) core.TransactionBuilder
- func (b *Builder) Delete(model any, conditions ...core.TransactCondition) core.TransactionBuilder
- func (b *Builder) Execute() error
- func (b *Builder) ExecuteWithContext(ctx context.Context) error
- func (b *Builder) Put(model any, conditions ...core.TransactCondition) core.TransactionBuilder
- func (b *Builder) Update(model any, fields []string, conditions ...core.TransactCondition) core.TransactionBuilder
- func (b *Builder) UpdateWithBuilder(model any, updateFn func(core.UpdateBuilder) error, ...) core.TransactionBuilder
- func (b *Builder) WithContext(ctx context.Context) core.TransactionBuilder
- type Transaction
- func (tx *Transaction) Commit() error
- func (tx *Transaction) Create(model any) error
- func (tx *Transaction) Delete(model any) error
- func (tx *Transaction) Get(model any, dest any) error
- func (tx *Transaction) Rollback() error
- func (tx *Transaction) Update(model any) error
- func (tx *Transaction) WithContext(ctx context.Context) *Transaction
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Builder ¶ added in v1.0.37
type Builder struct {
// contains filtered or unexported fields
}
Builder implements the core.TransactionBuilder interface.
func NewBuilder ¶ added in v1.0.37
func NewBuilder(sess *session.Session, registry *model.Registry, converter *pkgTypes.Converter) *Builder
NewBuilder creates a new transaction builder backed by the provided session, registry, and converter.
func (*Builder) ConditionCheck ¶ added in v1.0.37
func (b *Builder) ConditionCheck(model any, conditions ...core.TransactCondition) core.TransactionBuilder
ConditionCheck schedules a condition check.
func (*Builder) Create ¶ added in v1.0.37
func (b *Builder) Create(model any, conditions ...core.TransactCondition) core.TransactionBuilder
Create schedules a conditional put guarded by attribute_not_exists on the primary key.
func (*Builder) Delete ¶ added in v1.0.37
func (b *Builder) Delete(model any, conditions ...core.TransactCondition) core.TransactionBuilder
Delete schedules a delete operation.
func (*Builder) Execute ¶ added in v1.0.37
Execute commits the transaction using the builder's configured context.
func (*Builder) ExecuteWithContext ¶ added in v1.0.37
ExecuteWithContext commits the transaction with an explicit context override.
func (*Builder) Put ¶ added in v1.0.37
func (b *Builder) Put(model any, conditions ...core.TransactCondition) core.TransactionBuilder
Put schedules a put (upsert) operation.
func (*Builder) Update ¶ added in v1.0.37
func (b *Builder) Update(model any, fields []string, conditions ...core.TransactCondition) core.TransactionBuilder
Update schedules a partial update using the provided fields.
func (*Builder) UpdateWithBuilder ¶ added in v1.0.37
func (b *Builder) UpdateWithBuilder(model any, updateFn func(core.UpdateBuilder) error, conditions ...core.TransactCondition) core.TransactionBuilder
UpdateWithBuilder schedules a complex update using the UpdateBuilder DSL.
func (*Builder) WithContext ¶ added in v1.0.37
func (b *Builder) WithContext(ctx context.Context) core.TransactionBuilder
WithContext sets the execution context for the transaction.
type Transaction ¶
type Transaction struct {
// contains filtered or unexported fields
}
Transaction represents a DynamoDB transaction
func NewTransaction ¶
func NewTransaction(session *session.Session, registry *model.Registry, converter *pkgTypes.Converter) *Transaction
NewTransaction creates a new transaction
func (*Transaction) Create ¶
func (tx *Transaction) Create(model any) error
Create adds a create operation to the transaction
func (*Transaction) Delete ¶
func (tx *Transaction) Delete(model any) error
Delete adds a delete operation to the transaction
func (*Transaction) Get ¶
func (tx *Transaction) Get(model any, dest any) error
Get adds a get operation to the transaction
func (*Transaction) Rollback ¶
func (tx *Transaction) Rollback() error
Rollback cancels the transaction (no-op for DynamoDB)
func (*Transaction) Update ¶
func (tx *Transaction) Update(model any) error
Update adds an update operation to the transaction
func (*Transaction) WithContext ¶
func (tx *Transaction) WithContext(ctx context.Context) *Transaction
WithContext sets the context for the transaction