Hi, We're using Postgres, and we utilize a sessions table in our web app that requires us to do a 'SELECT FOR UPDATE', which means that a second process could block if it also calls 'SELECT FOR UPDATE'. In order to armor against users clogging up the system, we need to be able to call $sth->cancel() if Postgres can't respond within 30 seconds.
However, cancel() is not implemented in DBD::Pg. I tried working around this by using the available asynchronous query mechanism and $sth->pg_cancel(), but it had some destabilizing effects (and I did ensure that I called rollback() after pg_cancel())...sorry for the vagueness here). Since we don't need asynchronous code if cancel() was implemented, then I'm hoping to avoid it as it just creates more probability for error. Is there any plan to implement cancel()? If not, would it be a difficult endeavor for an average C programmer to tackle? -- Eric Simon The IQ Group, Inc.