HPlogo ALLBASE/SQL Reference Manual: HP 9000 Computer Systems > Chapter 5 Concurrency Control through Locks and Isolation Levels

Defining Transactions

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

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 Title not available

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.

Feedback to webmaster