Search Postgresql Archives

Re: DBI/DBD::Pg and transactions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Greg Sabino Mullane wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160


Will a $sth->execute()
of a "SELECT ... FOR UPDATE" statement allow me to update the selected
records using
$uth->execute( ... )
if $sth and $uth are both created/prepared from the same database handle
"$dbh"?

You are allowed to update either way, but the lock created by the first execute will be in place for the second, as long as those statement handles are from the same $dbh (database handle).

So how would I update selected rows (tuples) from the first execute a "SELECT ... FOR UPDATE" with the second.


*The rest of the story:*

This script will be run via cron.

It will query a table for orders that are ready. It may take longer than the cron interval to process the orders and some of the orders may be left as ready ie. not done.

If the order gets done I need to update it's row (tuple) as done.

In the mean time if the script gets triggered again and the first instance isn't finished the second needs to not be able to select those records already being handled.

Which then, suddenly like a smack on top of the head, makes me think of how to select using the same "SELECT ... FOR UPDATE" query only those non-locked records.

Man this is getting deeper every time I look at it.


Rod
--
 In general, connecting via DBI
always gives you one connection unless you explicitly create a second one by calling DBI->connect.

- --
Greg Sabino Mullane greg@xxxxxxxxxxxx
End Point Corporation
PGP Key: 0x14964AC8 200707181533
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8


-----BEGIN PGP SIGNATURE-----

iD8DBQFGnmspvJuQZxSWSsgRAxjIAJ0TRN5bTs9s1/Z3/YC/rzGdpEhWiACg11Ca
sdXpTplc1laTXywTrd+8nBw=
=5iA0
-----END PGP SIGNATURE-----



---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org/



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux