The default transaction isolation level for ASE is level 1, also known as READ COMMITTED. Under this isolation level, uncommitted inserts on tables using the datarows lock scheme do not block other sessions that are reading the table. Similar updates to tables using a page-level lock scheme do block. Traceflag 693 causes uncommitted inserts on datarow tables to block as well.
Default Behavior:
Session 1 | Session 2 |
---|---|
create table t1 (x int) lock datarows | |
select * from t1
| |
commit tran | |
select * from t1 |
Example using switch 693
create table t1 (x int) lock datarows | |
set switch on 693 with override | |
commit tran | |
x |