Thread: Re: [NOVICE] Last ID Problem

Re: [NOVICE] Last ID Problem

From
"Merlin Moncure"
Date:
> Tom Lane <tgl@sss.pgh.pa.us> writes:
>
> > Greg Stark <gsstark@mit.edu> writes:
> > > Tom Lane <tgl@sss.pgh.pa.us> writes:
> > >> How is what you're suggesting more portable?
> For postgres it looks like currently it requires you to pass in the
table
> and
> field might even need a "driver-specific hint" telling it the sequence
> name.

That is a shortcoming of the DBD::pg driver which really should be
returning a key (comprised of columns, some or none of which may be
defaulted by the server).  The 'database supplied' integer assumption is
bad, bad, bad.  In fairness, getting the last returned key is a
catastrophic limitation of sql that we must all work around (itself
being a specific annoyance of that tricky devil, default columns). :-)

The only thing that is going to meet your requirements is a system wide
(well, at least table wide, but system wide would be better) 64 bit oid,
which doesn't exist right now.  Sequences (or more generally, defaulted
columns) are application managed and difficult to deal with at the
driver level.

Merlin