Contents Index The BLOCKING option Choosing isolation levels

ASA SQL User's Guide
  Using Transactions and Isolation Levels
    Transaction blocking and deadlock
      Transaction blocking

Deadlock

Transaction blocking can lead to deadlock, a situation in which a set of transactions arrive at a state where none of them can proceed.

Reasons for deadlocks 

A deadlock can arise for two reasons:

Adaptive Server Anywhere automatically rolls back the last transaction that became blocked (eliminating the deadlock situation), and returns an error to that transaction indicating which form of deadlock occurred.

The number of database threads that the server uses depends on the individual database's setting. For information about setting the number of database threads, see Controlling threading behavior.

Determining who is blocked 

You can use the sa_conn_info system procedure to determine which connections are blocked on which other connections. This procedure returns a result set consisting of a row for each connection. One column of the result set lists whether the connection is blocked, and if so which other connection it is blocked on.

For more information, see sa_conn_info system procedure.


Contents Index The BLOCKING option Choosing isolation levels