From: | "Dave Page" <dpage(at)vale-housing(dot)co(dot)uk> |
---|---|
To: | "Scot Loach" <sloach(at)sandvine(dot)com>, <pgsql-odbc(at)postgresql(dot)org> |
Subject: | Re: [PATCH] fix for wrong error code returned |
Date: | 2005-09-17 22:16:28 |
Message-ID: | E7F85A1B5FF8D44C8A1AF6885BC9A0E4CC2CF7@ratbert.vale-housing.co.uk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
Thanks, patch applied.
/D
> -----Original Message-----
> From: Scot Loach [mailto:sloach(at)sandvine(dot)com]
> Sent: 17 September 2005 18:05
> To: pgsql-odbc(at)postgresql(dot)org; Dave Page
> Subject: [PATCH] fix for wrong error code returned
>
> This patch corrects the previous fix for returning 08S01
> error code for the server disconnecting.
> The previous patch sent this error code for any error on the
> statement (such as a primary key collision).
>
> --- statement.c.old 2005-09-17 13:03:28.000000000 -0400
> +++ statement.c 2005-09-17 12:54:31.000000000 -0400
> @@ -1093,7 +1093,7 @@
> CSTR func = "SC_execute";
> ConnectionClass *conn;
> IPDFields *ipdopts;
> - char was_ok, was_nonfatal,was_fatal;
> + char was_ok, was_nonfatal;
> QResultClass *res = NULL;
> Int2 oldstatus,
> numcols;
> @@ -1221,15 +1221,19 @@
> {
> was_ok = QR_command_successful(res);
> was_nonfatal = QR_command_nonfatal(res);
> - was_fatal = QR_command_fatal(res);
>
> if (was_ok)
> SC_set_errornumber(self, STMT_OK);
> - else if (was_fatal)
> - SC_set_errornumber(self,STMT_BAD_ERROR);
> else
> SC_set_errornumber(self, was_nonfatal
> ? STMT_INFO_ONLY : STMT_ERROR_TAKEN_FROM_BACKEND);
>
> +#ifdef USE_LIBPQ
> + if (QR_command_fatal(res) &&
> PQstatus(conn->pgconn) == CONNECTION_BAD)
> + {
> + SC_set_errornumber(self, STMT_BAD_ERROR);
> + }
> +#endif /* USE_LIBPQ */
> +
> /* set cursor before the first tuple in the list */
> self->currTuple = -1;
> SC_set_current_col(self, -1);
>
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2005-09-17 22:19:40 | Re: [PATCH] notice handler |
Previous Message | Scot Loach | 2005-09-17 17:51:45 | [PATCH] notice handler |