Re: Missing documentation for error code: 80S01

Поиск
Список
Период
Сортировка
От Donald Fraser
Тема Re: Missing documentation for error code: 80S01
Дата
Msg-id 6A526FFBDB9D4EE2947C4E5E282530E3@DEVELOP1
обсуждение исходный текст
Ответ на Re: Missing documentation for error code: 80S01  ("Donald Fraser" <postgres@kiwi-fraser.net>)
Ответы Re: [JDBC] Missing documentation for error code: 80S01
Список pgsql-admin
From: "Kevin Grittner" <Kevin.Grittner@wicourts.gov>

> "Donald Fraser" <postgres@kiwi-fraser.net> wrote:
>
>> the JDBC driver does know that the server has terminated the
>> connection [...] (via end of stream or EOF).
>>
>> Is the error class "57" a better prefix for this type of error?
>
> Possibly.  Is it really true that the client will see a clean close
> for a canceled query or a clean server shutdown and never see a
> clean close of the TCP connection from the server side for other
> reasons?

Technically yes. When performing a read on the socket you get -1 indicating
EOF or remote socket closed. You don't get an IO error.
The difficult part is what was the client doing when the server closes the
socket?
If the client wasn't doing anything then the next likely action a client
would perform is to execute a query which would involve writing to the
socket first and in this case you will get a broken pipe IO exception,
rather than remote socket closed.
If the client had already executed a query and was attempting to read
response data then you get remote socket closed.

I would like to propose that when a "remote socket closed" is detected that
the JDBC driver uses a different error code to the one used for IO
exceptions.
Currently for IO exceptions error code is: "08S01"
For detection of remote socket closed, the error code should be different -
may be "08S02" or "57P00"?
I'm not really sure where or how these numbers are supposed to be
used/generated.
The "08" class would seem to be the most appropriate since it is
connection related.

Regards
Donald Fraser


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

Предыдущее
От: bkwiencien
Дата:
Сообщение: Re: Intallation of postgres 9.0.3 gives an error on already installed postgres 8.4 on the same machine
Следующее
От: Oliver Jowett
Дата:
Сообщение: Re: [JDBC] Missing documentation for error code: 80S01