Re: sequence value of the record just inserted / DBI - Mailing list pgsql-admin

From Greg Sabino Mullane
Subject Re: sequence value of the record just inserted / DBI
Date
Msg-id 56a7cf851d9fbfa413405b6ef7defbda@biglumber.com
Whole thread Raw
In response to sequence value of the record just inserted / DBI  (Ben Kim <bkim@coe.tamu.edu>)
List pgsql-admin
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


> Perl's DBI has the following function.
>
> $rv = $dbh->last_insert_id($catalog, $schema, $table, $field);
> "Returns a value 'identifying' the row just inserted, if possible."
>
> I wonder what this $catalog is in this context. It's supposed to be
> metadata, and CREATE USER has CATALOG|NOCATALOG option, but what would be
> $catalog value for a user table in this context?

DBD::Pg does not support last_insert_id yet. It's so new, that none
of the DBDs support it yet. When it is implemented in DBD::Pg, the catalog
option will be ignored, as PostgreSQL has no catalog concept (nor do most
other RDBM systems). You will notice that most of the other DBI functions
have the same $catalog, $schema, $table ... design. In that context,
catalog is meant as a higher-level than the schema: you can think of it
as a collection of schemas.

Keep in mind the last_insert_id() function is mostly meant as a portability
helper: unless you are porting your script to other databases, just
use nextval (number 2 in your other email) which is perfectly safe.

- --
Greg Sabino Mullane greg@turnstep.com
PGP Key: 0x14964AC8 200404142155

-----BEGIN PGP SIGNATURE-----

iD8DBQFAfevzvJuQZxSWSsgRAo1dAJ4s/bYbJjubg9IaC91PlpUF5DFX1wCgxgTa
IMLESlXMRgNm+TLbYFV2+zQ=
=OScZ
-----END PGP SIGNATURE-----



pgsql-admin by date:

Previous
From: Jeremy Buchmann
Date:
Subject: Re: sequence value of the record just inserted / DBI
Next
From: "Greg Sabino Mullane"
Date:
Subject: Re: sequence value of the record just inserted.