On 27 September 2013 17:41, Martin J. Evans <boh...@ntlworld.com> wrote:
> On 27/09/13 16:29, demerphq wrote:> On 27 September 2013 17:08, Martin J.
> Evans <boh...@ntlworld.com> wrote:
>>>
>>> On 27/09/13 15:37, demerphq wrote:
>>>>
>>>>
>>>> Is there an undocumented magic variable that will make DBI trace mode
>>>> show more than the first two arguments to a function like
>>>> selectrow_array() or similar?
>>>>
>>>> Cheers,
>>>> Yves
>>>>
>>>
>>> Works for me:
>>>
>>> DBI_TRACE=15=x.log perl  -Iblib/lib/  -Iblib/arch/ -MDBI  -le 'my $h =
>>> DBI->connect("dbi:ODBC:xxx","xx","xx"); my $x =
>>> $h->selectrow_arrayref(q/select * from mje where a= ?/, undef, "a");'
>>>
>>> trace shows 3 arguments:
>>>
>>>      -> selectrow_arrayref for DBD::ODBC::db
>>> (DBI::db=HASH(0x9385508)~0x938542c 'select * from mje where a= ?' undef
>>> 'a')
>>> thr#9215008
>>>
>>> There is also DBIx::Log4perl and DBIx::LogAny too if you want to trace
>>> just
>>> method calls and arguments.
>>
>>
>> Gah, that outputs too much junk at the same time....
>
>
> Which outputs too much junk at the same time? level 15 tracing or
> DBIx::Log4perl?

Level 15 tracing. I do my best to avoid log4perl (but that is a
religious discussion best left to other forums :-)

>
>> I want to control it at DBI->trace(1) level. IOW, I dont want low
>> level debug on the DBI calls, I want the output from trace(1) but with
>> all the arguments.
>
>
> You didn't mention trace level 1 before. Now I see what you mean:
>
> DBI_TRACE=1=x.log perl  -Iblib/lib/  -Iblib/arch/ -MDBI  -le 'my $h =
> DBI->connect("dbi:ODBC:xx","xx","xx"); my $x =
> $h->selectrow_arrayref(q/select * from mje where a= ?/, undef, "a");'
>
>     <- selectrow_arrayref('select * from mje where a= ?', undef, ...)= ( [
> 'a' 'b' ] ) [1 items] at -e line 1
>
>
>> I can change how much of a given string I see with $DBI::neat_maxlen
>> but there doesnt seem to a be a $DBI::neat_list_maxitems or
>> equivalent....
>>
>> cheers,
>> Yves
>>
>>
>
> No, there isn't. I wouldn't imagine it would be too hard to add though (not
> that I looked).

Ok, thanks. Maybe ill work out a patch.

Yves


-- 
perl -Mre=debug -e "/just|another|perl|hacker/"

Reply via email to