Re: [NOVICE] Last ID Problem

From: Oliver Jowett <oliver(at)opencloud(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Greg Stark <gsstark(at)mit(dot)edu>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [NOVICE] Last ID Problem
Date: 2005-02-02 20:45:02
Message-ID: 42013BCE.2000604@opencloud.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:
> Greg Stark <gsstark(at)mit(dot)edu> writes:
>
>>Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
>>
>>>How is what you're suggesting more portable?
>
>
>>Well, the driver would be free to implement $sth->last_insert_id() using
>>whatever proprietary extensions it has available. The non-portableness would
>>at least be hidden in the driver layer.
>
>
> Are you asserting that last_insert_id() is a portable function? I doubt
> it.

I'm not familiar with the Perl interface, but JDBC has a standardized
interface for this:

http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html#executeUpdate(java.lang.String,%20int)
http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html#getGeneratedKeys()

I tend to agree that a protocol-level change is easier to support in a
driver. If it's done by extending INSERT/UPDATE, the driver will need to
parse and modify queries which is hairy at the best of times.

-O

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2005-02-02 21:04:27 Re: [NOVICE] Last ID Problem
Previous Message Martin Pitt 2005-02-02 20:42:28 Re: libpq API incompatibility between 7.4 and 8.0