From: | "Aasmund Midttun Godal" <postgresql(at)envisity(dot)com> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Error codes as numbers or in other languages etc. |
Date: | 2001-10-23 17:08:08 |
Message-ID: | 20011023170808.2262.qmail@ns.krot.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
I have seen several people asking about getting error numbers or similar things out of postgres. The way I have done this is as follows:
CREATE TABLE errors (
errorstring TEXT PRIMARY KEY,
message TEXT
);
INSERT INTO errors VALUES ('^FATAL 1: Database "([^\"]+)" does not exist in the system catalog.$', 'FATALE 1: Le database "$1" n''existe pas dans le catalogue systeme');
Now in the app if we use perl and DBI we set RaiseError => 1 and catch the error via $dbh->errstr or something
pass it into a query like:
prepare('SELECT * FROM errors WHERE ? ~ errorstring');
#Isn't postgres great? reverse regular expression searches :)
my $s = execute($dbh->errstr);
then we exploit perl's ability:
$dbh->errstr =~ /$s->{'errorstring'}/"$s->{'message'}"/e;
Hopes someone else find it usefull,
Getting out numbers is offcourse even easier.
Aasmund Midttun Godal
aasmund(at)godal(dot)com - http://www.godal.com/
+47 40 45 20 46
From | Date | Subject | |
---|---|---|---|
Next Message | Joe Barrero | 2001-10-23 17:24:52 | Re: Auto Increment |
Previous Message | Aasmund Midttun Godal | 2001-10-23 16:31:12 | Re: PL/pgSQL triggers ON INSERT OR UPDATE |