Example ObjectRepository beginTransaction 001

 

 

Description

The beginTransaction function opens the objectRepository and mark the beginning of transactions.

 

Details

Specify name of ObjectRepository

(setq gor (new ObjectRepository: "myarchive.odb")) Returns: #<ObjectRepository 123456>

Initialize ObjectRepository with a key & value pair.

(setq gor["one"] "Hello world") Returns: #<ObjectRepository 123456>
gor["one"] Returns: Hello World

A new transaction is opened.

(beginTransaction gor) Returns: true

The new value after the transaction was opened.

(setq gor["one"] "Goodbye world") Returns: #<ObjectRepository 123456>
gor["one"] Returns: Goodbye world
(abortTransaction gor) Returns: true

The original value of the Repository before the transaction is returned.

gor["one"] Returns: Hello World

Notes and Hints

Warning: Two different ObjectRepository objects, in the same task, cannot open a transaction concurrently. Two different ObjectRepository objects, in different tasks, may open concurrent transactions, but the late task will be kept inactive until the early task has either aborted or committed the transaction.

 

Related Examples

Here are examples of the beginTransaction function at work.

ObjectRepository beginTransaction 001

 

Function Links

Here is the link to the current function used in this example.

beginTransaction

Here are a number of links to other related functions.

abortTransaction(#void) commitTransaction(#void)

 

Argument Types

Here are the links to the data types of the arguments used in this example.

ObjectRepository

Here are a number of links to examples having similar argument types.

ObjectRepository abortTransaction 001 ObjectRepository addMethod 026 ObjectRepository attachLibrarian 001 ObjectRepository beginTransaction 001
ObjectRepository checkPointTransaction 001 ObjectRepository clear 002 ObjectRepository commitTransaction 001 ObjectRepository compare 021
ObjectRepository compare 022 ObjectRepository compareEQ 021 ObjectRepository compareEQ 022 ObjectRepository compareGE 021
ObjectRepository compareGE 022 ObjectRepository compareGT 021 ObjectRepository compareGT 022 ObjectRepository compareLE 021
ObjectRepository compareLE 022 ObjectRepository compareLT 021 ObjectRepository compareLT 022 ObjectRepository compareNE 021
ObjectRepository compareNE 022 ObjectRepository comparison 021 ObjectRepository comparison 022 ObjectRepository defmethod 023
ObjectRepository delete 013 ObjectRepository detachLibrarian 001 ObjectRepository exportTab 001 ObjectRepository importTab 001
ObjectRepository inspect 002 ObjectRepository isIdentical 019 ObjectRepository isImmediate 001 ObjectRepository length 016
ObjectRepository loadRepository 001 ObjectRepository methodsOf 023 ObjectRepository new 014 ObjectRepository ref 030
ObjectRepository ref 031 ObjectRepository ref 032 ObjectRepository ref 033 ObjectRepository ref 034
ObjectRepository refLibrarian 001 ObjectRepository rename 001 ObjectRepository saveImmediate 001 ObjectRepository saveRepository 001
ObjectRepository send 026 ObjectRepository setf 001 ObjectRepository setf 002 ObjectRepository setq 027
ObjectRepository sizeof 027 ObjectRepository type 024

Analytic Information Server (AIS)

AIS Component Systems

  • Smartbase Engine
  • QT C++ Libraries
  • MySQL Relational Database
  • AIS Lisp Libraries
  • Rapid Analytic Demo IDE