Discussion:
sequence value of the record just inserted / DBI
(too old to reply)
Jeremy Buchmann
2004-04-14 19:22:45 UTC
Permalink
I hope it is OK to ask the question here.
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?
Ben,

I don't know what $catalog is supposed to be, but you may have better
luck on the DBI-Users list or the PGSQL-INTERFACES list.


--Jeremy


---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org
Greg Sabino Mullane
2004-04-15 01:55:59 UTC
Permalink
-----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 ***@turnstep.com
PGP Key: 0x14964AC8 200404142155

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

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



---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html

Loading...