Re: [NOVICE] Last ID Problem

Поиск
Список
Период
Сортировка
От John Hansen
Тема Re: [NOVICE] Last ID Problem
Дата
Msg-id 1107398810.26839.24.camel@localhost.localdomain
обсуждение исходный текст
Ответ на Re: [NOVICE] Last ID Problem  ("Greg Sabino Mullane" <greg@turnstep.com>)
Ответы Re: [NOVICE] Last ID Problem  ("Greg Sabino Mullane" <greg@turnstep.com>)
Список pgsql-hackers
> Attempts to return the id of the last value to be inserted into a table.
> You can either provide a sequence name (preferred) or provide a table
> name with optional schema. The $catalog and $field arguments are always ignored.
> The current value of the sequence is returned by a call to the
> 'currval' PostgreSQL function. This will fail if the sequence has not yet
> been used in the current database connection.


This suffers from the same problems that currval does when using
connection pools tho.

I previously suggested a function similar to last_insert_id in behaviour,
and have attached it to this email for reference.

Even so, this also suffers from the same problems when using a connection pool.

The solution I proposed, namely having the tuple returned by
inserts/updates (perhaps even deletes?) would only mean changing the
client library to handle this, and as an example, libpg could easily
figure out the OID of said tuple and return that if it's present for
PQExec() (for backwards compatibility just as it does today,) and add a
separate PQExecSelect() that instead returns the tuple(s) as if they had
been SELECTed.

--
John Hansen <john@geeknet.com.au>
GeekNET

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Greg Sabino Mullane"
Дата:
Сообщение: Re: [NOVICE] Last ID Problem
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: libpq API incompatibility between 7.4 and 8.0