Subject RE: [firebird-support] Writing to tables, ignoring concurrency
Author Helen Borrie
At 03:14 PM 28/08/2003 +1000, you wrote:

>The only problem is, if I ever do have to rapidly update a single row, in a
>single table, with every page, it starts barfing as soon as three
>concurrent(and constantly reloading) browsers hit it?(dual processor
>server), even with an atomic Stored Procedure doing the update and return of
>new value...

It shouldn't "barf" at all unless you have a single row being targeted for
update by every http request. Do I have to describe
the---erm---disadvantages of designing such a thing into a web app?

>This is via the PHP api - it hasn't got any mention of SHARED/PROTECTED in
>it anywhere...

'Shared' is the default - meaning that it will be used if you don't include
something different in the tpb.

I'm not familiar with the PHP api but it wouldn't surprise me if it doesn't
include provisions for the more esoteric areas of transaction
control. Most PHP books and docs I read seem to use MySQL as the standard
dbms to interface to. The MySQL that PHP grew up with doesn't have
transactions. You're more likely get an *informed* reply from a PHP
expert, though. :-)

>Does it get defaulted to FOR SHARED WRITE further down in the murky
>darknesses of code...?

Defaults tend to be the natural course of events, with a branch in case a
non-default appears. IOW, "if there's nothing there, do the default". Why
not read the source code...?

Could you do us a favour and trim your replies? Thks.