ArangoTransactions

io.funkode.arangodb.ArangoTransactions
class ArangoTransactions[Encoder[_], Decoder[_]](databaseName: DatabaseName)(using arangoClient: ArangoClient[Encoder, Decoder])

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

def begin(read: List[CollectionName], write: List[CollectionName], exclusive: List[CollectionName], waitForSync: Boolean, allowImplicit: Option[Boolean], lockTimeout: Option[Int], maxTransactionSize: Option[Long])(using Encoder[TransactionCreate], Decoder[ArangoResult[Transaction]]): AIO[ArangoTransaction[Encoder, Decoder]]

begin a server-side transaction

begin a server-side transaction

Collections that will be written to in the transaction must be declared with the write or exclusive attribute or it will fail, whereas non-declared collections from which is solely read will be added lazily. See locking and isolation for more information.

Value parameters

allowImplicit

Allow reading from undeclared collections.

exclusive

collections exclusive

lockTimeout

an optional numeric value that can be used to set a timeout for waiting on collection locks. If not specified, a default value will be used. Setting lockTimeout to 0 will make ArangoDB not time out waiting for a lock.

maxTransactionSize

Transaction size limit in bytes. Honored by the RocksDB storage engine only.

read

collections read

waitForSync

an optional boolean flag that, if set, will force the transaction to write all data to disk before returning

write

collections write

Attributes

Returns

transaction api

def list(using Decoder[TransactionList]): AIO[TransactionList]

Return the currently running server-side transactions

Return the currently running server-side transactions

Attributes

Returns

an object with the attribute transactions, which contains an array of transactions. In a cluster the array will contain the transactions from all Coordinators.