Re: BUG #7865: Unexpected error code on insert of duplicate to composite primary key

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: BUG #7865: Unexpected error code on insert of duplicate to composite primary key
Дата
Msg-id 51192FF9.3090504@vmware.com
обсуждение исходный текст
Ответ на BUG #7865: Unexpected error code on insert of duplicate to composite primary key  (matti.aarnio@methics.fi)
Ответы Re: BUG #7865: Unexpected error code on insert of duplicate to composite primary key  (Matti Aarnio <matti.aarnio@methics.fi>)
Список pgsql-bugs
On 11.02.2013 17:34, Matti Aarnio wrote:
>    } catch (SQLException e) {
>        int code = e.getErrorCode();
>        if (code == 20000 // Derby
>           || code == 23505) {// PostgreSQL, Oracle, ...
>           System.out.println("Expected SQL duplicate insert indication
> status code: "+code)
>       } else {
>           System.out.println("Insert into example at "+this.jdbcUrl+
>                      " resulted unexpected SQL Exception code: "+
>                      code + " " + e.getMessage());
>       }

Hmm, looking at the PSQLException source code, I don't think the driver
has ever set the vendor-specific error code that getErrorCode() returns.
I tested the snippet you posted with server 8,4 and 9.2, and with jdbc
driver 8.4 and 8.2, and saw no difference; getErrorCode() always returned 0.

You should be using getSQLState() instead. The "23505" sqlstate is
defined by the SQL standard, so if the other DBMS' you're supporting
follow the spec on that, you won't even need any vendor-specific code there.

- Heikki

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: BUG #7865: Unexpected error code on insert of duplicate to composite primary key
Следующее
От: michele.baravalle@me.com
Дата:
Сообщение: BUG #7867: Similarity function fails