Re: DBI/DBD::Pg and transactions

Поиск
Список
Период
Сортировка
От Roderick A. Anderson
Тема Re: DBI/DBD::Pg and transactions
Дата
Msg-id 469E8625.5010804@acm.org
обсуждение исходный текст
Ответ на Re: DBI/DBD::Pg and transactions  ("Greg Sabino Mullane" <greg@turnstep.com>)
Ответы Re: DBI/DBD::Pg and transactions  (Alan Hodgson <ahodgson@simkin.ca>)
Список pgsql-general
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@turnstep.com
> 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/


В списке pgsql-general по дате отправления:

Предыдущее
От: Michael Glaesemann
Дата:
Сообщение: Re: Need help optimizing this query
Следующее
От: Alan Hodgson
Дата:
Сообщение: Re: DBI/DBD::Pg and transactions