FAQ
I have a MySQL/Perl Dancer [http://perldancer.org] powered web app. Actually, two web apps.

The user goes to app A [http://teststrata.geology.wisc.edu/macromap] which serves up a Google maps base layer. On document ready, it makes two jQuery ajax calls to app B [http://teststrata.geology.wisc.edu/mstrat/] like so

http://teststrata.geology.wisc.edu/mstrat/points.json
http://teststrata.geology.wisc.edu/mstrat/polys.json

App B queries the MySQL database via DBI, and serves up json packets of points and polys that are rendered in the user's browser.

Both apps are proxies through Apache to Perl Starman running via plackup. From time to time, I start getting errors back from the second app. The initial symptoms were

{"error":"Warning caught during route execution: DBD::mysql::st
fetchall_arrayref failed: fetch() without execute() at <path/to>/macrostrat.pm line 79.\n"}

The offending lines are

71> my $sql = qq{
72> ..
73>
74>
75> };
76>
77> my $sth = $dbh->prepare($sql);
78> $sth->execute();
79> my $res = $sth->fetchall_arrayref({});

This is bizarre... how can execute() not take place above? Perl doesn't have a habit of jumping over lines, does it? So, I turned on DBI_TRACE

$DBI_TRACE=2=logs/dbi.log plackup -E production -p 5001 -s Starman -w 10 -a bin/app.pl

And, following is what stood out to me as the potential culprit in the log file
Handle is not in asynchronous mode error 2000 recorded: Handle is
not in asynchronous mode
!! ERROR: 2000 CLEARED by call to fetch method
What is going on?

Many thanks in advance... this is my first posting on this board.

Puneet.

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupdbi-users @
categoriesperl
postedJul 15, '11 at 2:43p
activeJul 15, '11 at 2:43p
posts1
users1
websitedbi.perl.org

1 user in discussion

Mr. Puneet Kishor: 1 post

People

Translate

site design / logo © 2022 Grokbase