Hi Olivier,

--- Olivier Fambon <[EMAIL PROTECTED]>
wrote:

> Is it a hard requirement for you that row-level
> locking is used ?
Yes, it is very important to have a row level locking
because there is a high volume of inserts in those
tables...

> > T3 (insert into table1) should grab the row lock
> on
> > table1 on a new record (not as T2 or T3) and then
> > commit. But what is happening is T3 it waits for
> > something and then we get the deadlock because T2
> > waits for T3 and viceversa...
> 
> The "something" is T2.
> 
> Sequoia does fancy things in such cases. T2 is
> blocked in the db, but 
> holds the (sequoia pseudo) lock on table 1, which is
> required by T3.
>

I am not sure abut this!!! In the following scenario:

Begin T2
T2 - insert into table 1
Begin T3
T3 - insert into table 1
T3 - insert into table 1
Commit T3 
T2 - insert into table 1
Commit T2

everything works fine with no deadlock (or even locks
on table). How come in this scenario the T3 - insert
into Table 1 is not locked by T2 - insert into Table
1??? This scenario is similar with the first one but I
just removed the update statements.
So after your explanation T3 in its first insert into
table1 should be locked by T2 insert into table 1 and
it is not. 
I am assuming that in the original scenario T3 -
insert into Table1 is locked by T2 - update on Table2.
So an insert into a table is locked by an update on
another table??? Sorry but this it does not make any
sense for me...

Thank you,
Ioana Danes

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia

Reply via email to