|
|
Choosing A Webhost: |
Re: [PATCH] notice handler: msg#00154db.postgresql.odbc
Thanks Scot, patch applied. Regards, Dave > -----Original Message----- > From: pgsql-odbc-owner@xxxxxxxxxxxxxx > [mailto:pgsql-odbc-owner@xxxxxxxxxxxxxx] On Behalf Of Scot Loach > Sent: 17 September 2005 18:52 > To: pgsql-odbc@xxxxxxxxxxxxxx > Subject: [ODBC] [PATCH] notice handler > > This patch fill fix the notice handler so that the odbc > driver doesn't output notices from the backend to stderr. > > --- connection.c.old 2005-09-17 13:50:26.000000000 -0400 > +++ connection.c 2005-09-17 13:40:11.000000000 -0400 > @@ -2349,6 +2349,29 @@ > } > > #else > + > +static void > +CC_handle_notice(void *arg, const char *msg) > +{ > + QResultClass *qres; > + > + qres = (QResultClass*)(arg); > + > + if (qres == NULL) > + { > + // No query in progress, so just drop the notice > + return; > + } > + > + if (QR_command_successful(qres)) > + { > + QR_set_status(qres, PGRES_NONFATAL_ERROR); > + QR_set_notice(qres, msg); /* will dup > this string */ > + mylog("~~~ NOTICE: '%s'\n", msg); > + qlog("NOTICE from backend during send_query: > '%s'\n", msg); > + } > +} > + > /* > * Connection class implementation using libpq. > * Memory Allocation for PGconn is handled by libpq. > @@ -3161,6 +3184,9 @@ > } > /* free the conninfo structure */ > free(conninfo); > + > + /* setup the notice handler */ > + PQsetNoticeProcessor(self->pgconn, CC_handle_notice, NULL); > mylog("connection to the database succeeded.\n"); > return 1; > } > @@ -3173,8 +3199,6 @@ > PGresult *pgres; > char errbuffer[ERROR_MSG_LENGTH + 1]; > int pos=0; > - > - pgres = PQexec(self->pgconn,query); > > qres=QR_Constructor(); > if(!qres) > @@ -3183,6 +3207,11 @@ > QR_Destructor(qres); > return NULL; > } > + > + PQsetNoticeProcessor(self->pgconn, CC_handle_notice, qres); > + pgres = PQexec(self->pgconn,query); > + PQsetNoticeProcessor(self->pgconn, CC_handle_notice, NULL); > + > qres->status = PQresultStatus(pgres); > > /* Check the connection status */ > @@ -3388,7 +3417,6 @@ > > } > > - > #endif /* USE_LIBPQ */ > > > ---------------------------(end of > broadcast)--------------------------- > TIP 1: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@xxxxxxxxxxxxxx > so that your > message can get through to the mailing list cleanly > ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: [PATCH] notice handler, Tom Lane |
|---|---|
| Next by Date: | Re: [PATCH] notice handler, Dave Page |
| Previous by Thread: | Re: [PATCH] notice handler, Tom Lane |
| Next by Thread: | Re: [PATCH] notice handler, Dave Page |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
Free MagazinesCisco NewsReceive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business. subscribe Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field. subscribe The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business. subscribe Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company. subscribe Total Telecom Total Telecom is "The Economist of the communications industry". subscribe |