From: Achilleus Mantzios <achill@matrix.gatewaynet.com>
To: Flavio Fonseca <ff@dr.ufu.br>
Cc: pgsql-sql@postgresql.org
Subject: Re: sql problem
Date: Fri, 5 Nov 2004 18:50:32 +0200 (EET)
Message-ID: <Pine.LNX.4.44.0411051820490.12273-100000@matrix.gatewaynet.com> (raw)
In-Reply-To: <200411051234.30961.ff@dr.ufu.br>
O Flavio Fonseca Ýãñáøå óôéò Nov 5, 2004 :
> Hi,
>
> I am having a problem with a system I developed using php with postgres.
>
> Take a look at this:
>
> Welcome to psql 7.3.2, the PostgreSQL interactive terminal.
> NetAdmin=# delete from operador where oplogin = 'ff';
> ERROR: fk_historicosessao_operador referential integrity violation - key in
> operador still referenced from historicosessao
>
> and then, this:
>
> Welcome to psql 7.4.2, the PostgreSQL interactive terminal.
> NetAdmin=# delete from operador where oplogin = 'ff';
> ERROR: update or delete on "operador" violates foreign key constraint
> "fk_historicosessao_operador" on "historicosessao"
>
> I am not able to get a error_number in pgsql errors, only the error message.
> So when I used pgsql 7.3 a used the string "referential integrity violation"
> to detect this error, but on version 7.4 of pgsql this string was replaced
> with "violates foreign key constraint" .
> Anyone has a definitive solution on this or the way is to wait and change all
> my code on future releases of pgsql?
The right way to do so is to query for the SQLSTATE codes.
For instance the jdbc7.4.6 driver supports sqlstate, which you can
retrieve by sqle.getSQLState()
That text of an Error may change across releases but the error code should
be constant.
p.s
I dont do it my self. i just let my users educate themselves :)
>
>
> Thank you all for the attention.
>
--
-Achilleus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: achill@matrix.gatewaynet.com, ff@dr.ufu.br
Subject: Re: sql problem
In-Reply-To: <Pine.LNX.4.44.0411051820490.12273-100000@matrix.gatewaynet.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox