Re: database abstraction layer
| From: | Rene Veerman | Date: | Tue, 02 Feb 2010 23:31:03 +0000 |
| Subject: | Re: database abstraction layer | ||
| References: | 1 2 3 4 5 6 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-301760@lists.php.net to get a copy of this message | ||
On Wed, Feb 3, 2010 at 12:18 AM, Ashley Sheridan
<ash@ashleysheridan.co.uk>wrote:
> The problem is where 2 people choose the same instant to perform an
> action on your site that inserts a record into your db. The db engine
> inserts them one after the other, and then responds about the max(id) to
> your PHP script. Then, you now have 2 people who have the same max(id)
> retrieved, but one of the values is wrong.
>
well, i only use getmaxid()s for inserts.
the timelag between getmaxid() and the insert is so small it'd take 300-800
insert-requests/sec
(on that particular table) before an error condition would arise.
in which case, a tested piece of sql would fail, and can be routed through
the retry functions .
These would imo provide ample timing re-randomization, aswell as a measure
of stress-relief for both php and mysql server.
You may correct me if i'm wrong :)
BTW: php core developers: can we have a sleep() that accepts a float? :)