From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Andreas Joseph Krogh <andreas(at)visena(dot)com> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Support for detailed description of errors cased by trigger-violations |
Date: | 2014-11-08 22:39:50 |
Message-ID: | 32076.1415486390@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Andreas Joseph Krogh <andreas(at)visena(dot)com> writes:
> Hi. When working with Oracle it is possible to catch constraint-violations
> caused by triggers using JDBC, but it seems this isn't possible using PG, see
> this thread:
> https://github.com/impossibl/pgjdbc-ng/issues/111#issuecomment-62276464
I'm not exactly following the point. The complaint seems to be that
RAISE EXCEPTION 'ID must be less then 10';
doesn't send anything except the given primary message and a generic
SQLSTATE. Well, duh: it's not supposed to. There are a bunch of options
you can supply in RAISE to populate additional fields of the error report.
For example, you could add
USING SCHEMA = TG_TABLE_SCHEMA, TABLE = TG_TABLE_NAME
if you wanted the report to name the table the trigger is attached to.
So it seems to me this is lazy plpgsql programming, not a missing feature.
It would only be a missing feature if you think plpgsql should try to
auto-populate these fields; but I'd be against that because it would
require too many assumptions about exactly what the function might be
complaining about.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2014-11-08 22:49:30 | Re: Add CREATE support to event triggers |
Previous Message | Andres Freund | 2014-11-08 21:46:25 | Re: pg_multixact not getting truncated |