I found the problem, and it is all my fault. I was calling the insert function with the wrong combination of parameters, so naturally it didn't find the item. It is working fine now, although I do think I needed to mark the function as VOLATILE, which I think helped.
Thanks to all for the help.Susan
On Thu, Apr 17, 2014 at 10:33 AM, Vincent Veyron <vincent.veyron@xxxxxxxxxxxx> wrote:
On Thu, 17 Apr 2014 10:02:00 -0700
Susan Cassidy <susan.cassidy@xxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> I moved the code in the function inline into the code, and I still cannot
> find the newly inserted id the next time through the loop.
I suppose you use DBD::Pg, whose current default isolation transaction level is ``Serializable''
Don't know if it applies, but the Postgresql's documentation says this :
SERIALIZABLE
All statements of the current transaction can only see rows committed before the first query or data-modification statement was executed in this transaction. If a pattern of reads and writes among concurrent serializable transactions would create a situation which could not have occurred for any serial (one-at-a-time) execution of those transactions, one of them will be rolled back with a serialization_failure SQLSTATE.
--
Regards, Vincent Veyron
http://libremen.com/
Legal case, contract and insurance claim management software