Hello,

some questions please about transactions/locks in a multithreaded 
environment, multiple applications,
WAL mode, NO shared cache, NO read_uncommitted pragma:

????????????

Some examples:

1-
UPDATE
Internally, is the same thing that: BEGIN DEFERRED - UPDATE -COMMIT?

2-
SELECT
UPDATE
In this example, the set of these commands is serialized? The two 
commands act on the same snapshot? So, two commands have the same data 
(same snapshot), but those data may be modified by another 
thread/process between SELECT and UPDATE, and UPDATE will be unaware of 
this previous change?

3-
BEGIN (or BEGIN DIFFERED)
SELECT
UPDATE
COMMIT
Same as 2?

5-
BEGIN IMMEDIATE
SELECT
UPDATE
COMMIT
I'm sure that the data can not be modified (between BEGIN IMMEDIATE and 
COMMIT) by another thread/proces?

Thank you!

olivier

Reply via email to