Re: SQLSTATE of notice PGresult

Поиск
Список
Период
Сортировка
От Euler Taveira de Oliveira
Тема Re: SQLSTATE of notice PGresult
Дата
Msg-id 4C748846.50504@timbira.com
обсуждение исходный текст
Ответ на Re: SQLSTATE of notice PGresult  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: SQLSTATE of notice PGresult  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane escreveu:
> The real issue
> here is that there are no SQLSTATEs assigned for any error/warning
> conditions generated internally in libpq.
> 
Did you mean successful conditions? Only warning/error conditions produce a
SQLSTATE.

> As far as this particular example goes, I think it's highly debatable
> whether "out of range parameter number" should be only a NOTICE, and
> almost certainly wrong to say that it ought to be associated with an
> 00000 SQLSTATE.  But figuring out what it ought to be is part of the
> dogwork that nobody's done yet.
> 
It should match the actual PostgreSQL behavior. There are two classes (01xxx
and 02xxx) for warnings.

What I'm thinking is something like

*** src/interfaces/libpq/fe-protocol3.c 28 Apr 2010 13:46:23 -0000  1.43
--- src/interfaces/libpq/fe-protocol3.c 21 Aug 2010 02:41:01 -0000
***************
*** 206,211 ****
--- 206,219 ----                       if (!conn->result)                           return;                   }
+                   /*
+                    * If the command was successful completed, set the
+                    * appropriate SQLSTATE. Pre-9.1 don't set it.
+                    * ERRCODE_SUCCESSFUL_COMPLETION code (aka 00000) is
+                    * hardcoded here because we avoid including elog routines
+                    * here.
+                    */
+                   pqSaveMessageField(conn->result, PG_DIAG_SQLSTATE, "00000");
strncpy(conn->result->cmdStatus,conn->workBuffer.data,                           CMDSTATUS_LEN);
conn->asyncStatus= PGASYNC_READY;
 


(I only patch the 'Command Complete' message here but it is necessary to patch
other success messages too.)


--  Euler Taveira de Oliveira http://www.timbira.com/


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

Предыдущее
От: Euler Taveira de Oliveira
Дата:
Сообщение: Re: SQLSTATE of notice PGresult
Следующее
От: Tom Lane
Дата:
Сообщение: Re: git: uh-oh