Re: [GENERAL] Actual row order in UPDATE and SELECT FOR UPDATE

2016-02-15 Thread Nikolai Zhubr
Hello all, 16.02.2016 2:41, Vitaly Burovoy: [...] UPDATE deals with rows in order they are fetched from a heap. In a common case it can be considered as unordered. [...] However SELECT can fetch rows in a specific order and locking by FOR UPDATE clause is applied _after_ sorting. Then you can u

Re: [GENERAL] Actual row order in UPDATE and SELECT FOR UPDATE

2016-02-15 Thread Vitaly Burovoy
On 2/15/16, Nikolai Zhubr wrote: > Hello all, > > I can't find any clear description of how to reliably figure and/or > enforce specific row (locking) order within UPDATE and SELECT FOR UPDATE > statements dealing with multiple rows. > I'd like to get rid of some deadlocks (caused by share locks).

Re: [GENERAL] Actual row order in UPDATE and SELECT FOR UPDATE

2016-02-15 Thread David G. Johnston
On Mon, Feb 15, 2016 at 3:17 PM, Nikolai Zhubr wrote: > Hello all, > > I can't find any clear description of how to reliably figure and/or > enforce specific row (locking) order within UPDATE and SELECT FOR UPDATE > statements dealing with multiple rows. ​SQL is a set-oriented language. Sets d

Re: [GENERAL] Actual row order in UPDATE and SELECT FOR UPDATE

2016-02-15 Thread Adrian Klaver
On 02/15/2016 02:17 PM, Nikolai Zhubr wrote: Hello all, I can't find any clear description of how to reliably figure and/or enforce specific row (locking) order within UPDATE and SELECT FOR UPDATE statements dealing with multiple rows. I'd like to get rid of some deadlocks (caused by share locks