[Seaside] Newbie: GOODS with Seaside
Avi Bryant
avi at beta4.com
Tue Apr 27 00:06:51 CEST 2004
On Apr 26, 2004, at 1:19 PM, Ruben Bakker wrote:
>
> On Monday, April 26, 2004, at 08:21PM, Avi Bryant <avi at beta4.com>
> wrote:
>
>> GOODS doesn't have a connection pool, and you would have to be very
>> careful when writing one to get the semantics right, since connections
>> are extremely stateful things in GOODS.
>
> Isn't this a very common problem with database systems? The
> connection/session
> has some maybe still open transaction with uncommited data etc.
> Would it be different say with GLORP? Or has GOODS client data that
> mustn't be reused?
Yes - the server tracks which versions of which objects each client has
read, so that it can notify them appropiately when those objects are
changed by other clients, and to to check properly for transaction
conflicts. You could only reuse a connection if you managed to reset
this data each time - which the protocol isn't designed for.
In GLORP's case, you could relatively easily get away with pooling the
actual connections to the DB, as long as you kept your transactions
short, and didn't share the GLORP-level session.
>> Much better would be to hack
>> both client and server to allow multiple "connections" to be
>> multiplexed over one actual TCP socket connection, but this requires
>> diving into the goodsrv.cxx source, which may not appeal to everyone.
>
> That would really better than any DBMS I've seen so far... But c++ is
> not really the language
> I'm looking for :).
Yeah, I'm not optimistic that anyone is going to spend the time to do
this. But it would certainly be nice to have (and probably no more
than a weekend's worth of hacking).
Avi
More information about the Seaside
mailing list