Re: Making trace show more than 2 elements

demerphq <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.sybase.devel
Message-ID <CANgJU+VK2xm3KLGVBhrNCMf=6c+7MQgcqNauETzpkUoQrNRjRQ@mail.gmail.com>
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....

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.

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


-- 
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.