[Seaside] Re: PostgreSQL client

Yanni Chiu yanni at rogers.com
Wed Feb 22 23:19:53 UTC 2006


Nevin Pratt wrote:
> I've been looking at my production code, based on (I think) version 7.x 
> of the PostgreSQL client.  Long ago, I was forced to wrap the 
> PGConnection>>execute: method in a semaphore.  Otherwise, concurrent 
> accesses (like commonly happens in a web server) would confuse the driver.
> 
> Does this ring a bell to you?  Do your later versions correct the 
> concurrency issues I had encountered?

The only bell it rings is that the Swiss guys had a concurrency
issue (~2 years ago), which they eventually tracked down to
a concurrency issue in their code. IIRC, the failure scenario
was that the postmaster just terminated the connection because
it got interleaved bytes coming down the socket.

Otherwise, the code and most especially the underlying state
machine is mostly unchanged. You can only call execute: in one
thread, an await its completion, before issuing another call.



More information about the Seaside mailing list