From: | Kevin Brown <blargity(at)gmail(dot)com> |
---|---|
To: | "Florian G(dot) Pflug" <fgp(at)phlo(dot)org> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Transactions |
Date: | 2006-03-18 19:16:34 |
Message-ID: | 200603181316.35089.blargity@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Saturday 18 March 2006 12:58, Florian G. Pflug wrote:
> Kevin Brown wrote:
> > So what you're saying is that my commits and rollbacks should be async,
> > correct?
>
> No, you should always use _async(), and never, ever use query() or exec()
> in a multi-threaded app.
>
> > I don't quite understand how a select can be an async call.... I need
> > the data to proceed. If you're saying on my inserts, deletes, etc, then
> > that I can understand.
>
> Don't be fooled by the word async()... It's still synchronous for the
> thread that calls it - the _thread_ is blocked until the query is done,
> and query_async() returns the result, just as query() does. The difference
> is only for all _other_ threads. All other threads can continue to run
> while the one thread waits for query results _only_ if the one thread
> used query_async(). If it used query(), then you _whole_ interpreter is
> blocked until the query is finished.
OH. Thank you! :-)
> The naming of these function is quite strange - I was fooled by this
> myself, and so was whoever wrote the DBD-module for pg, because he used the
> non-async functions too ;-)
Yeah, I only want the thread to wait, and async sounds like asynchronous or
something. :-)
> To rephrase - you don't usually need to change anything in your program
> when using query_async() instead of query(). It'll just work better ;-).
Makes sense now.
> greetings, Florian Pflug
From | Date | Subject | |
---|---|---|---|
Next Message | Hrishikesh Deshmukh | 2006-03-18 19:44:53 | Re: OpenSuse10.0 and postgresql |
Previous Message | Florian G. Pflug | 2006-03-18 18:58:41 | Re: Transactions |