From: | "Luis P Caamano" <lcaamano(at)mindspring(dot)com> |
---|---|
To: | <pgsql-sql(at)postgresql(dot)org> |
Subject: | Can statement_timeout emulated NOWAIT? |
Date: | 2004-03-16 13:58:32 |
Message-ID: | DIEAJDKECNMGBBCLCGFFAEHPCGAA.lcaamano@mindspring.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Tatsuo Ishii | 2004-03-16 14:04:00 | Re: flat file database to postgres |
Previous Message | Andrew Sullivan | 2004-03-16 13:56:24 | Re: conversion of postgres database to oracle |