Re: JDBC error codes to detect duplicates? - Mailing list pgsql-interfaces

From Peter T Mount
Subject Re: JDBC error codes to detect duplicates?
Date
Msg-id 983524175.3a9f634f72a6a@webmail.retep.org.uk
Whole thread Raw
In response to Re: JDBC error codes to detect duplicates?  (Cedar Cox <cedarc@visionforisrael.com>)
List pgsql-interfaces
Quoting Cedar Cox <cedarc@visionforisrael.com>:

> 
> As stated, the backend protocol doesn't pass error codes but error
> messages.  My question is, are there enough of these kind of things to
> create a new protocol version (7.2)?  After all, we are still using the
> same protocol since (?)6.5.  I think adding error codes would not only
> benefit JDBC but ODBC and possibly others also.  I know there have been
> various discussions like this one about parsing error messages in the
> ODBC
> driver.  As I remember, there were one or two other things that have
> been
> discussed that would require a change in the protocol also.  Just my
> two
> cents.

I totally agree. Putting the error codes (an extra 2 or 4 bytes) in the 
protocol shouldn't be too much hardship, and does mean several benefits:

1: No parsing of error messages on the client side
2: Small clients (embeded systems) can ignore the textual side of the message
3: It would be optional not to send the textual message - just the error 
number. Again good for non-human clients
4: Codes would be language independent (human that is). Currently AFAIK only 
JDBC supports it's own error messages in non-english languages. Having the 
codes would mean the backend ones could also be in non-english format and the 
clients would still work fine.

Virtually every interface would benefit from it.

Peter

> 
> -Cedar
> 
> On Thu, 1 Mar 2001, Bruce Momjian wrote:
> 
> > I have ideas on how to do error codes and multiple languages.  I can
> > make a proposal for 7.2.
> > 
> > [ Charset ISO-8859-1 unsupported, converting... ]
> > > > >AFAIK clean implementation of such feature is not possible
> because
> > > backend
> > > > >protocol does not have error codes (only error messages)
> > > >
> > > > Thats correct. It's also not practical to get the driver to
> translate
> > > > because the format of the messages can change between releases as
> well.
> > > 
> > > Practically speaking, how often do the messages really change
> between
> > > releases?  It seems that we could create a pluggable translator that
> would
> > > work based on the release version.  If the messages change too
> frequently,
> > > then something's seriously wrong with Postgresql server since the
> main
> > > sql-portion of the system has been in place and there aren't too
> many things
> > > a program really needs to detect about a database (missing row,
> duplicate
> > > key, constraint violation, transaction error, deadlock detected,
> etc.).
> > > 
> > > David
> > > 
> > > 
> > 
> > 
> > -- 
> >   Bruce Momjian                        |  http://candle.pha.pa.us
> >   pgman@candle.pha.pa.us               |  (610) 853-3000
> >   +  If your life is a hard drive,     |  830 Blythe Avenue
> >   +  Christ can be your backup.        |  Drexel Hill, Pennsylvania
> 19026
> > 
> 
> 



-- 
Peter Mount peter@retep.org.uk
PostgreSQL JDBC Driver: http://www.retep.org.uk/postgres/
RetepPDF PDF library for Java: http://www.retep.org.uk/pdf/


pgsql-interfaces by date:

Previous
From: Cedar Cox
Date:
Subject: Re: JDBC error codes to detect duplicates?
Next
From: Raymond
Date:
Subject: Large Object through ODBC