On 11/02/11 09:05, H.Merijn Brand wrote: > On Fri, 11 Feb 2011 08:42:21 +0000, "Martin J. Evans" > <martin.ev...@easysoft.com> wrote: > >> On 10/02/11 22:27, Greg Sabino Mullane wrote: >>> >>>> Trace level is no good to get DBD only tracing since level >>>> 1 and 2 is for DBI and anything after that is DBD. >>> >>> Yes, sorry about that, I was being lazy in my comingling of >>> trace levels and trace flags. >>> >>>> In addition, at the LPW speaking to Tim I mentioned I had >>>> implemented some trace flags in DBD::ODBC which were probably >>>> generic in nature and agreed to add them to DBI. >>> >>> +1 >>> >>>> Whilst I was there I thought I could sort the trace DBD only >>>> issue out as well by adding a DBD trace flag. >>> ... >>>> $dbh->trace('DBD'); >>> ... >>>> Which is now duplicated in DBI for all DBDs. >>>> I didn't realise you did that and although I can see >>>> why it means you've added a flag with an uppercase >>>> name which is reserved for DBI. I'm not sure you'll >>>> ever see DBD in your parse_trace_flags after 1.617 >>>> so you'll need to do something similar to what I >>>> did (below) in addition to keeping what you already >>>> have (above) to cover older DBIs before 1.617. >>> >>> Okay, all that is good to know. So it should do >>> the same thing post 1.617 and the dbd::pg specific >>> code will never fire, right? >>> >>> ... >> >> yup, if you OR your DBD flag with DBDs DBD flag nothing will change >> for you. If someone uses pre 1.617 you will work as before and 1.617 >> you will continue to work but your flag will be redundant. When you >> eventually raise your requirement to DBI 1.617 you can take your DBD >> flag out. >> >>>> The ENC flag is for encoding tracing. >>> >>> Thanks for the explanation there, as well as all the others I >>> did not quote here. >>> >> >> BTW, on your comment to Merijn re dbd_verbose reinventing the wheel. >> That is how I felt and I did not want to add another test to all my >> trace tests which is why I added the DBD flag instead. I'm not >> criticising anyone using dbd_verbose, I just did not want to do it >> that way and would rather work with what was already present in DBI. > > I don't see it as re-inventing the/a wheel. The DBD flag is for me like > an alias to dbd_verbose. > > $DBD_VERBOSE = 7 > > is (or should be) equal to > > $DBI_TRACE = 7|DBD
Thats fine but that is not how some people have implemented it Merijn. >From DBD::Oracle's dbdimp.c: /* defined globally at the top of dbdimp.c */ int dbd_verbose = 0; /* DBD only debugging*/ /* double test */ if (DBIS->debug >= 6 || dbd_verbose >= 6 ) > dbd_verbose has never been *new* functionality, It was implemented as a > shortcut for already existing trace features. > Martin -- Martin J. Evans Easysoft Limited http://www.easysoft.com