Re: sql problem - Mailing list pgsql-sql

From Achilleus Mantzios
Subject Re: sql problem
Date
Msg-id Pine.LNX.4.44.0411051820490.12273-100000@matrix.gatewaynet.com
Whole thread Raw
In response to sql problem  (Flavio Fonseca <ff@dr.ufu.br>)
List pgsql-sql
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



pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: Delayed result from another connection
Next
From: Andras Kutrovics
Date:
Subject: Simple SQL Question