cancel
Showing results for 
Search instead for 
Did you mean: 

How can a connection block using isolation level 0

MCMartin
Participant
2,399

What is required so that a connection using isolation level 0 is blocking on another connection, which is also using isolation-level 0? The connection which is blocking is executing a simple select on the table.

VolkerBarth
Contributor

Writers do always block writers, regardless of isolation levels...but that do not seem to be your case, right?

MCMartin
Participant

You are so quick 😉 You mean a writer which have not already issued its commit will block other writers?

VolkerBarth
Contributor
0 Kudos

Well, the "quickness" may be due to the fact that on this forum, "writers do not block writers" - though they (at least me) sometimes skip the "thoroughly reading" (or "fully understanding") part:)

Accepted Solutions (1)

Accepted Solutions (1)

Former Member

As Volker states (correctly), at isolation level 0 connections will still block on other connections due to write or intent lock conflicts. At isolation level 0, SQL Anywhere connections do not acquire read locks on rows. Other types of row locks (INTENT, WRITE) are, however, still acquired and may cause blocking. Schema locks and table-level locks also still apply to isolation level zero connections.

johnsmirnios
Participant

... but would that block a connection that is "executing a simple select on the table"?

Answers (1)

Answers (1)

t1950
Participant
0 Kudos

if you don't want to lock rows, do a commit after the select. we have a PowerBuilder app with 50+ windows and 200+ datawindows. to avoid the locking problem, after each dw retrieve, that we won't update, we do a commit.