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

Reply via email to