Re: Can statement_timeout emulated NOWAIT?

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: Can statement_timeout emulated NOWAIT?
Дата
Msg-id 200403161556.i2GFusW22068@candle.pha.pa.us
обсуждение исходный текст
Ответ на Can statement_timeout emulated NOWAIT?  ("Luis P Caamano" <lcaamano@mindspring.com>)
Список pgsql-sql
Yes, I think these are all correct, except I am not positive FOR UPDATE
NOWAIT will be in 7.5 unless someone codes it.

---------------------------------------------------------------------------

Luis P Caamano wrote:
> 
> I've researched the recent discussions about statement_timeout
> and NOWAIT and I'd like to confirm my understanding of the
> situation before acting on it.  Please let me know if the
> following statements are true:
> 
> - LOCK TABLE ... NOWAIT has been checked in and will be available
>   in 7.5
> 
> - SELECT ... FOR UPDATE NOWAIT is in the TODO list (among other
>   NOWAIT commands) but it will also be available in 7.5
> 
> - Using "SET LOCAL statement_timeout=xxx" can be used before
>   "SELECT ... FOR UPDATE" to emulate NOWAIT when the select
>   is simple and involves a relatively small number of rows.
>   That is, the following:
> 
>     BEGIN;
>     SET LOCAL statement_timeout=3000;
>     SELECT ... FOR UPDATE; -- (1 row)
>     COMMIT;
> 
>   will be equivalent to:
> 
>     BEGIN;
>     SELECT ... FOR UPDATE NOWAIT;
>     COMMIT;
> 
> - The NOWAIT feature will be able to handle select-for-updates
>   that involve many rows better than statement_timeout because
>   it will track timeouts on a row by row basis, which eliminates
>   false positives.  That is, if the statement_timeout is too
>   short for the select, it might fail before finishing the select
>   instead of failing because of locked row.
> 
> - The error raised by statement_timeout and NOWAIT will be the
>   same.
> 
> Basically, I'd like to write low level code that implements
> NOWAIT in the application using statement_timeout.  Later on,
> 7.5, I'd be able to reimplement the low level functions using
> NOWAIT without having to change the higher level code.
> 
> Your thoughts and comments are appreciated.
> 
> Thanks
> 
> Luis P Caamano
> Atlanta, GA, USA
>     
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings
> 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


В списке pgsql-sql по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Can statement_timeout emulated NOWAIT?
Следующее
От: Jeff Eckermann
Дата:
Сообщение: Re: Import from Ms Excel