Lists: | pgsql-interfaces |
---|
From: | Elinor Medezinski <elinor(at)bellatrix(dot)tau(dot)ac(dot)il> |
---|---|
To: | pgsql-interfaces(at)postgresql(dot)org |
Cc: | elinor(at)wise(dot)tau(dot)ac(dot)il |
Subject: | Error code handling in perl |
Date: | 2004-05-16 11:56:10 |
Message-ID: | 200405161456.10022.elinor@bellatrix.tau.ac.il |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-interfaces |
Hi all,
I am populating a table in postgres, writing the script in perl (using DBI),
and I am trying to do some error handling. For example - this should return
an error due to unique violation:
>$sth=$conn->prepare("INSERT INTO tablename (names) values ($name)") or die
"error1 is: ".$sth->err;
>$sth->execute() or do{
> print "state is: ".$sth->state."\n";
> print "err is: ".$sth->err."\n";
>};
I always get the same SQLSTATE and ERROR, no matter what the error is:
>state is: S1000
>err is: 7
although in the documentation it says that the error code is "23505" (unique
violation).
Is there no way to identify the error by code from postgres via perl?
Thanks,
Elinor
-------------------------------------------------------
From: | "Greg Sabino Mullane" <greg(at)turnstep(dot)com> |
---|---|
To: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | Re: Error code handling in perl |
Date: | 2004-05-22 01:00:30 |
Message-ID: | 0d48f697d3e150fd1633875216f4c1be@biglumber.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-interfaces |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
> although in the documentation it says that the error code is
> "23505" (unique violation).
> Is there no way to identify the error by code from postgres
> via perl?
Currently, DBD::Pg does not support the $sth->state method, but
it is high on the todo list and should appear in the next
version.
- --
Greg Sabino Mullane greg(at)turnstep(dot)com
PGP Key: 0x14964AC8 200405212100
-----BEGIN PGP SIGNATURE-----
iD8DBQFArqaMvJuQZxSWSsgRAlYLAKDykM8K4Fyfy+neIjA2a3B+NI4x2wCbBc04
GiaVC2lYiMfuVQfEG/2jKiY=
=1kvf
-----END PGP SIGNATURE-----