9.4 Transactions Interface

ORIGIN 'betadbc';
BODY 'private/transactionsbody';
-- connectionLib: Attributes --
transactionsSupported:
(* Returns true iff this(connection) supports transactions *)
  (# isSupported: @boolean
  ...
  exit isSupported
  #);
autoCommitMode:
(* In autoCommitMode, every database operation is a transaction
 * that is committed when performed. Disabling autoCommitMode is 
 * only meaningful when this(connection) supports transactions.
 * The default in BetaDBC is autoCommitMode
 *)
  (# autoCommit: @boolean
  enter (#  enter autoCommit ... #)
  exit
    (# 
    ...
    exit
    autoCommit
    #)
  #);
readUncommitted: (* Allows dirty reads, nonrepeatable reads, and phantoms *)
 integerValue (#  ... #);
readCommitted:
(* Disallows dirty reads, but allows nonrepeatable reads and phantoms *)
 integerValue (#  ... #);
repeatableRead:
(* Disallows dirty reads and nonrepeatable reads, but allows phantoms *)
 integerValue (#  ... #);
serializable:
(* Disallows dirty reads, nonrepeatable reads, and phantoms *) integerValue
  (#  ... #);
transactionLevelSupported: booleanValue
(* Check whether level is supported by this(connection) *)
  (# level: (* One of the above defined transaction levels *) @integer
  enter level
  ...
  #);
transactionLevel:
(* Sets the transaction level of the current transaction in 
 * this(connection). Serializable is the default
 *)
  (# level: (* One of the above defined transaction levels *) @integer
  enter (#  enter level ... #)
  exit
    (# 
    ...
    exit level
    #)
  #);
commit:
(* Commits all transactions pertaining to this connection.
 * Use transactionsSupported to check whether this is meaningful *)
  (#  ... #);
rollBack:
(* Rolls back all transactions pertaining to this(connection)
 * Use transactionsSupported to check whether this is meaningful.
 *) (#  ... #)


9.4 Transactions Interface
© 1999-2004 Mjølner Informatics
[Modified: Thursday September 9th 1999 at 17:03]