transaction

package
v1.0.39 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 11, 2025 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package transaction provides atomic transaction support for DynamORM

Index

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

func (b *Builder) Execute() error

Execute commits the transaction using the builder's configured context.

func (*Builder) ExecuteWithContext added in v1.0.37

func (b *Builder) ExecuteWithContext(ctx context.Context) error

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) Commit

func (tx *Transaction) Commit() error

Commit executes the 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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL