HPlogo ALLBASE/SQL Reference Manual > Chapter 5 Concurrency Control through Locks and Isolation Levels

Defining Transactions

MPE documents

Complete PDF
Table of Contents
Index

E0300 Edition 9 ♥
E0399 Edition 8
E0897 Edition 7

Concurrency control in ALLBASE/SQL operates at the level of the transaction, which identifies an individual user's unit of work within a multiuser DBEnvironment. As mentioned in a previous chapter, transactions are bounded by BEGIN WORK and COMMIT WORK statements. If you omit the BEGIN WORK statement, ALLBASE/SQL issues one automatically, using the RR (repeatable read) isolation level. ALLBASE/SQL keeps track of which transactions are accessing which pages of data at a particular moment in time. Transactions have unique ID numbers which are listed in the SYSTEM.TRANSACTION pseudotable in the system catalog.

Transactions can be seen as taking place over time, as in Figure 5-1 Transactions over Time.

Figure 5-1 Transactions over Time

[Transactions over Time]

In this example, transaction 2 begins before transaction 1 ends; therefore, transaction 1 and transaction 2 are concurrent transactions. Transaction 3 begins after transaction 1 has committed; therefore, transaction 1 and transaction 3 are not concurrent, since they do not occupy the same time.

Concurrent transactions that need to access the same data pages may be in contention for a particular table, page, or row at a particular moment. Suppose transaction 1 needs to access an entire table as part of a reporting application. If transaction 2 needs to update parts of that table, it may need to wait until transaction 1 is complete before the update can proceed.




Chapter 5 Concurrency Control through Locks and Isolation Levels


Understanding ALLBASE/SQL Data Access