Committed by Tim Bunce <[email protected]>

add comments suggesting better approch to logging

---
 Pg.h |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/Pg.h b/Pg.h
index f90924f..3a3deb4 100644
--- a/Pg.h
+++ b/Pg.h
@@ -108,6 +108,14 @@ DBISTATE_DECLARE;
 
 /* Fancy stuff for tracing of commonly used libpq functions */
 #define TRACE_XX                   if (TLIBPQ_slow) TRC(DBILOGFP,
+/* XXX every use of every one of these costs at least one call to DBIS
+ * and possibly +1 for DBILOGFP and another for THEADER_slow!
+ * A better approach may be something like DBD::Oracle's
+ * http://cpansearch.perl.org/src/PYTHIAN/DBD-Oracle-1.42/ocitrace.h
+ * #define PGfooBar_log_stat(imp_xxh, stat, a,b,c) ... where imp_xxh
+ * is used to determine the logging and stat holds the result.
+ * That makes the code uncluttered and gives good flexibility.
+ */
 #define TRACE_PQBACKENDPID         TRACE_XX "%sPQbackendPID\n",          
THEADER_slow)
 #define TRACE_PQCANCEL             TRACE_XX "%sPQcancel\n",              
THEADER_slow)
 #define TRACE_PQCLEAR              TRACE_XX "%sPQclear\n",               
THEADER_slow)
@@ -115,7 +123,6 @@ DBISTATE_DECLARE;
 #define TRACE_PQCMDTUPLES          TRACE_XX "%sPQcmdTuples\n",           
THEADER_slow)
 #define TRACE_PQCONNECTDB          TRACE_XX "%sPQconnectdb\n",           
THEADER_slow)
 #define TRACE_PQCONSUMEINPUT       TRACE_XX "%sPQconsumeInput\n",        
THEADER_slow)
-#define TRACE_PQCONSUMEINPUT       TRACE_XX "%sPQconsumeInput\n",        
THEADER_slow)
 #define TRACE_PQDB                 TRACE_XX "%sPQdb\n",                  
THEADER_slow)
 #define TRACE_PQENDCOPY            TRACE_XX "%sPQendcopy\n",             
THEADER_slow)
 #define TRACE_PQERRORMESSAGE       TRACE_XX "%sPQerrorMessage\n",        
THEADER_slow)
@@ -127,7 +134,6 @@ DBISTATE_DECLARE;
 #define TRACE_PQFNAME              TRACE_XX "%sPQfname\n",               
THEADER_slow)
 #define TRACE_PQFREECANCEL         TRACE_XX "%sPQfreeCancel\n",          
THEADER_slow)
 #define TRACE_PQFREEMEM            TRACE_XX "%sPQfreemem\n",             
THEADER_slow)
-#define TRACE_PQFREEMEM            TRACE_XX "%sPQfreemem\n",             
THEADER_slow)
 #define TRACE_PQFSIZE              TRACE_XX "%sPQfsize\n",               
THEADER_slow)
 #define TRACE_PQFTABLECOL          TRACE_XX "%sPQftableCol\n",           
THEADER_slow)
 #define TRACE_PQFTABLE             TRACE_XX "%sPQftable\n",              
THEADER_slow)
-- 
1.7.1

Reply via email to