Re: Making trace show more than 2 elements

demerphq <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.sybase.devel
Message-ID <CANgJU+XiKr2AoWJZkW4pXMJnuocD3OkzLxEEKMukNrFM92tjMQ@mail.gmail.com>
On 27 September 2013 17:41, Martin J. Evans <[email protected]> wrote:
> On 27/09/13 16:29, demerphq wrote:> On 27 September 2013 17:08, Martin J.
> Evans <[email protected]> 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/"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.