Re: BUG #17981: HY000 server closed the connection unexpectedly

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: sayanoruspai(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #17981: HY000 server closed the connection unexpectedly
Date: 2023-06-19 13:34:24
Message-ID: 54909d1223f527150f9c0e76efc581ded17e8e96.camel@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Mon, 2023-06-19 at 11:52 +0000, PG Bug reporting form wrote:
> I am writing an application that connects to the local database through
> psqlodbc version 13.02. And when I manually stop my database service, I get
> sqlstate HY000 and message 'server closed the connection unexpectedly ...'.
> Should not it be something like 08S01? Also SQLGetConnectAttr(GetHandle(),
> SQL_ATTR_CONNECTION_DEAD, &dead, SQL_IS_INTEGER, nullptr); does not produce
> right answer and dead is returned equal to SQL_CD_FALSE.

08S01 is not a standard-defined SQLSTATE. The standard says: Subclass values
associated with such classes that begin with one of the <digit>s'5', '6', '7',
'8', or '9' or one of the <simple Latin upper case letter>s 'I', 'J', 'K', 'L',
'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', or 'Z' are
reserved for implementation-defined conditions and are called implementation-
defined subclasses.

A web search shows that 08S01 is MySQL-specific. I don't think that that is
necessarily better than HY000, which is defined as an unspecified C API
error by the SQL standard.

About SQLGetConnectAttr, you should probably ask the ODBC mailing list
pgsql-odbc(at)postgresql(dot)org

Yours,
Laurenz Albe

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2023-06-19 16:07:04 Re: BUG #17978: Unexpected error: "wrong varnullingrels (b) (expected (b 5)) for Var 6/2" triggered by JOIN
Previous Message Tom Lane 2023-06-19 13:29:55 Re: BUG #17976: Inconsistent results of SELECT using CASE WHEN clause