Skip site navigation (1) Skip section navigation (2)

[PATCH] fix for wrong error code returned

From: "Scot Loach" <sloach(at)sandvine(dot)com>
To: <pgsql-odbc(at)postgresql(dot)org>, <dpage(at)vale-housing(dot)co(dot)uk>
Subject: [PATCH] fix for wrong error code returned
Date: 2005-09-17 17:05:03
Message-ID: 71837C040963F748B9B94E123A2896785A1094@mailserver.sandvine.com (view raw or flat)
Thread:
Lists: pgsql-odbc
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);

pgsql-odbc by date

Next:From: Scot LoachDate: 2005-09-17 17:51:45
Subject: [PATCH] notice handler
Previous:From: Andrey RepkoDate: 2005-09-17 11:09:48
Subject: client encoding mismatch

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group