diff -ruN bind-9.4.1_p1/work/bind-9.4.1-P1/contrib/dlz/drivers/dlz_postgres_driver.c bind-9.4.1_p1.patched/work/bind-9.4.1-P1/contrib/dlz/drivers/dlz_postgres_driver.c --- bind-9.4.1_p1/work/bind-9.4.1-P1/contrib/dlz/drivers/dlz_postgres_driver.c 2005-10-26 08:57:23.000000000 +0400 +++ bind-9.4.1_p1.patched/work/bind-9.4.1-P1/contrib/dlz/drivers/dlz_postgres_driver.c 2008-03-02 21:06:00.000000000 +0300 @@ -51,6 +51,7 @@ */ #ifdef DLZ_POSTGRES +#define CUT_TEMP_MSGS #include #include @@ -297,10 +298,12 @@ REQUIRE(*rs == NULL); +#ifndef CUT_TEMP_MSGS /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "%d Getting DBI", dlz_thread_num); +#endif /* get db instance / connection */ #ifdef ISC_PLATFORM_USETHREADS @@ -318,10 +321,12 @@ #endif /* ISC_PLATFORM_USETHREADS */ +#ifndef CUT_TEMP_MSGS /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "%d Got DBI - checking query", dlz_thread_num); +#endif /* if DBI is null, can't do anything else */ if (dbi == NULL) { @@ -391,10 +396,12 @@ goto cleanup; } +#ifndef CUT_TEMP_MSGS /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "%d checked query", dlz_thread_num); +#endif /* * was a zone string passed? If so, make it safe for use in @@ -410,11 +417,13 @@ dbi->zone = NULL; } +#ifndef CUT_TEMP_MSGS /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "%d did zone", dlz_thread_num); - + +#endif /* * was a record string passed? If so, make it safe for use in * queries. @@ -429,12 +438,12 @@ dbi->record = NULL; } - +#ifndef CUT_TEMP_MSGS /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "%d did record", dlz_thread_num); - +#endif /* * was a client string passed? If so, make it safe for use in * queries. @@ -449,11 +458,12 @@ dbi->client = NULL; } +#ifndef CUT_TEMP_MSGS /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "%d did client", dlz_thread_num); - +#endif /* * what type of query are we going to run? * this time we build the actual query to run. @@ -486,10 +496,12 @@ goto cleanup; } +#ifndef CUT_TEMP_MSGS /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "%d built query", dlz_thread_num); +#endif /* if the querystring is null, Bummer, outta RAM. UPGRADE TIME!!! */ if (querystring == NULL) { @@ -497,11 +509,13 @@ goto cleanup; } +#ifndef CUT_TEMP_MSGS /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "%d query is '%s'", dlz_thread_num, querystring); +#endif /* * output the full query string during debug so we can see * what lame error the query has. @@ -512,11 +526,13 @@ /* attempt query up to 3 times. */ for (j=0; j < 3; j++) { +#ifndef CUT_TEMP_MSGS /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "%d executing query for %d time", dlz_thread_num, j); +#endif /* try to get result set */ *rs = PQexec((PGconn *)dbi->dbconn, querystring ); result = ISC_R_SUCCESS; @@ -525,11 +541,13 @@ * attempts. */ for (i=0; *rs == NULL && i < 3; i++) { +#ifndef CUT_TEMP_MSGS /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "%d resetting connection", dlz_thread_num); +#endif result = ISC_R_FAILURE; PQreset((PGconn *) dbi->dbconn); /* connection ok, break inner loop */ @@ -538,18 +556,23 @@ } /* result set ok, break outter loop */ if (PQresultStatus(*rs) == PGRES_TUPLES_OK) { +#ifndef CUT_TEMP_MSGS /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "%d rs ok", dlz_thread_num); +#endif break; } else { /* we got a result set object, but it's not right. */ +#ifndef CUT_TEMP_MSGS /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "%d clearing rs", dlz_thread_num); +#endif PQclear(*rs); /* get rid of it */ + *rs = NULL; /* in case this was the last attempt */ result = ISC_R_FAILURE; } @@ -558,11 +581,12 @@ cleanup: /* it's always good to cleanup after yourself */ +#ifndef CUT_TEMP_MSGS /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "%d cleaning up", dlz_thread_num); - +#endif /* if we couldn't even allocate DBI, just return NULL */ if (dbi == NULL) return ISC_R_FAILURE; @@ -581,11 +605,12 @@ #ifdef ISC_PLATFORM_USETHREADS +#ifndef CUT_TEMP_MSGS /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "%d unlocking mutex", dlz_thread_num); - +#endif /* release the lock so another thread can use this dbi */ isc_mutex_unlock(&dbi->instance_lock); @@ -595,11 +620,12 @@ if (querystring != NULL) isc_mem_free(ns_g_mctx, querystring ); +#ifndef CUT_TEMP_MSGS /* temporary logging message */ isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR, "%d returning", dlz_thread_num); - +#endif /* return result */ return result; } @@ -752,7 +778,7 @@ FINDZONE, dbdata, &rs); /* if we didn't get a result set, log an err msg. */ if (result != ISC_R_SUCCESS) { - if (rs != NULL) + if (rs != NULL) PQclear(rs); isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DLZ, ISC_LOG_ERROR,