Re: [PHP] database abstraction layer
[email protected] (Robert Cummings)
| Newsgroups | php.general |
|---|---|
| Organization | InterJinn |
| Message-ID | <[email protected]> |
Rene Veerman wrote: > On Wed, Feb 3, 2010 at 12:18 AM, Ashley Sheridan > <[email protected]>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? :) Is the following too difficult? <?php function fsleep( $seconds ) { usleep( 1000000 * $seconds ); } fsleep( .003 ); ?> Cheers, Rob. -- http://www.interjinn.com Application and Templating Framework for PHP