Re: [HACKERS] Weird locking situation

2003-10-04 Thread Christopher Kings-Lynne
regression=# UPDATE foo SET f2=now() WHERE f1=1; ERROR: deadlock detected DETAIL: Process 18122 waits for AccessExclusiveLock on relation 154635 of database 17139; blocked by process 18133. Process 18133 waits for ShareLock on transaction 6330; blocked by process 18122. The trouble here is that

Re: [HACKERS] Weird locking situation

2003-10-03 Thread Oleg Bartunov
On Fri, 3 Oct 2003, Tom Lane wrote: > Christopher Kings-Lynne <[EMAIL PROTECTED]> writes: > > OK, I tried it again and it still seems buggy to me... > > > I wonder if it's something to do with the tsearch trigger on food_foods? > > I tried a table with a simple BEFORE trigger and it didn't fail. >

Re: [HACKERS] Weird locking situation

2003-10-03 Thread Tom Lane
Christopher Kings-Lynne <[EMAIL PROTECTED]> writes: > OK, I tried it again and it still seems buggy to me... > I wonder if it's something to do with the tsearch trigger on food_foods? I tried a table with a simple BEFORE trigger and it didn't fail. But when I added a GIST index, it did: [ instal

Re: [HACKERS] Weird locking situation

2003-10-02 Thread Christopher Kings-Lynne
I wonder if it's something to do with the tsearch trigger on food_foods? Actually, it definitely seems to be the tsearch trigger. The deadlock occurs on every table that uses tsearch trigger, and no table that doesn't. It's probably not the tsearch trigger itself even, it's probably the fact t

Re: [HACKERS] Weird locking situation

2003-10-02 Thread Christopher Kings-Lynne
OK, I tried it again and it still seems buggy to me... australia= begin; BEGIN australia=# select * from food_foods where food_id = 21 for update; food_id | category_id | brand_id | source_id |description | base | type | created | modified | water | kilojoules | calories | pr

Re: [HACKERS] Weird locking situation

2003-10-02 Thread Hannu Krosing
Tom Lane kirjutas N, 02.10.2003 kell 17:30: > Christopher Kings-Lynne <[EMAIL PROTECTED]> writes: > > What is going on here? Surely getting a FOR UPDATE row lock should > > prevent another process getting an update lock? > The behavior you describe would certainly be a bug, but you'll have to >

Re: [HACKERS] Weird locking situation

2003-10-02 Thread Tom Lane
Christopher Kings-Lynne <[EMAIL PROTECTED]> writes: > What is going on here? Surely getting a FOR UPDATE row lock should > prevent another process getting an update lock? I could not duplicate your results. I did regression=# create table tab(id int , blah int); CREATE TABLE regression=# inser

[HACKERS] Weird locking situation

2003-10-02 Thread Christopher Kings-Lynne
Hi guys, I'm just trying to understand this situation: Session 1 - BEGIN; SELECT * FROM tab WHERE id=1 FOR UPDATE; Session 2 - UPDATE tab SET blah=1 WHERE id=1; Session 1 - UPDATE tab SET blah=1 WHERE id=1; ERROR: deadlock detected Session 2 - ...update has gone t