From: | Wei Weng <wweng(at)kencast(dot)com> |
---|---|
To: | Peter Eisentraut <peter_e(at)gmx(dot)net> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: Is function atomic? |
Date: | 2001-07-06 18:17:39 |
Message-ID: | 994443470.16301.2.camel@Monet |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
What I wanted is simple:
I don't want other processes that run the function at the same time have
read/write access from the tables this function accesses(select and
insert/update). Is it possible, say, let other proccess blocked on this
function?
On 06 Jul 2001 18:49:49 +0200, Peter Eisentraut wrote:
> Wei Weng writes:
>
> > Does that mean if I used
> > DECLARE
> > ...
> > BEGIN
> > DO_STUFF
> > END;
> >
> > the DO_STUFF will not be interrupted (maintain atomicity) even when
> > multiple threads use the function concurrently?
>
> Interruption, atomicity, and concurrency are separate issues. The
> function could of course be interrupted if there's an error. (That error
> may be related to concurrency, such as a serialization failure.) The
> database interactions of the function will be atomic in the sense that
> rollback will work. Concurrent execution of a function is permitted, but
> there may be issues if you modify global state or there is a serialization
> failure. These are the same issues that you have to deal with in any
> programming environment.
>
> --
> Peter Eisentraut peter_e(at)gmx(dot)net http://funkturm.homeip.net/~peter
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://www.postgresql.org/search.mpl
>
--
Wei Weng
Network Software Engineer
KenCast Inc.
From | Date | Subject | |
---|---|---|---|
Next Message | Wei Weng | 2001-07-06 18:38:17 | view and performance |
Previous Message | Deepali Agarwal | 2001-07-06 17:52:57 | SQL question |