I marked it volatile, and still the next time I call the function after the first insert, using the previous new id as as input parameter, it still can't "find" the newly inserted id for the next go-round. Nor can any regular SELECTs in the main program find it.
It isn't marked as one of those as all, so whatever the default is.
That could be it. I'll look up the default.
Thanks, Susan
On Wed, Apr 16, 2014 at 5:17 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Susan Cassidy <susan.cassidy@decisionsciencescorp.com> writes: > It is a fairly large and complex Perl program, so no, not really. > I do an insert via a function, which returns the new id, then later I try > to SELECT on that id, and it doesn't find it.
> Could it be because the insert is done inside a function?
Is the SELECT also inside a database function, and if so is that function marked stable or immutable? That might explain it --- non-volatile functions are intentionally designed not to notice updates that happen after they start.