| 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: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| 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 | Date | Subject | |
|---|---|---|---|
| Next Message | Bruce Momjian | 2004-05-20 00:33:22 | Re: Bug in translation of DEALLOCATE PREPARE |
| Previous Message | Stergios Zissakis | 2004-05-12 08:56:41 | ECPG scoping |