From: Ian Jackson Date: Sun, 23 Aug 2009 10:41:31 +0000 (+0100) Subject: Generalise dumpqueryresults and rename to dumptable X-Git-Tag: 3.4~141 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.web-live.git;a=commitdiff_plain;h=bdad24af2d97e3448b671da80bb4247411bafbea Generalise dumpqueryresults and rename to dumptable --- diff --git a/yarrg/web/dumpqueryresults b/yarrg/web/dumptable similarity index 79% rename from yarrg/web/dumpqueryresults rename to yarrg/web/dumptable index 8860ace..20dc25f 100644 --- a/yarrg/web/dumpqueryresults +++ b/yarrg/web/dumptable @@ -30,21 +30,22 @@ This Mason component is helpful for debugging and developing. It - outputs SQL query results as HTML tables. You can either: - <& dumpqueryresults, sth = $executed_statement_handle &> + outputs plain HTML tables eg for SQL query results. You can either: + <& dumptable, sth = $executed_statement_handle &> in which case it will consume the results of the statement and print them unconditionally, or do the equivalent of: - <& dumpqueryresults:start, sth => $sth, [ qa => $qa ] &> + <& dumptable:start, sth => $sth, [ qa => $qa ] &> or + <& dumptable:start, cols => [ 'column',... ], [ qa => $qa ] &> % my $row; % while ($row= $sth->fetchrow_hashref) { - <& dumpqueryresults:row, sth => $sth, row => $row, [ qa => $qa ] &> + <& dumptable:row, sth|cols => ..., row => $row, [ qa => $qa ] &> % do something else with $row % } - <& dumpqueryresults:end, [ qa => $qa ] &> - where if you pass $qa, dumpqueryresults will check whether debug + <& dumptable:end, [ qa => $qa ] &> + where if you pass $qa, dumptable will check whether debug is enabled and produce no output if it isn't. NB you don't want this approach if your loop body produces output because it'll be - interleaved with dumpqueryresults' table. + interleaved with dumptable's table. <%args> @@ -53,13 +54,14 @@ $sth <%method start> <%args> -$sth +$sth => undef +$cols => $sth->{NAME} $qa => undef % if (!$qa || $qa->{'debug'}) { -% foreach my $field (@{ $sth->{NAME} }) { +% foreach my $field (@$cols) { @@ -68,13 +70,14 @@ $qa => undef <%method row> <%args> -$sth +$sth => undef +$cols => $sth->{NAME} $row $qa => undef % if (!$qa || $qa->{'debug'}) { -% foreach my $field (@{ $sth->{NAME} }) { +% foreach my $field (@$cols) { % my $cell= $row->{$field};
<% $field |h %> % }
<% $cell |h %> diff --git a/yarrg/web/profitable_trades b/yarrg/web/profitable_trades index 1566baf..313a04a 100644 --- a/yarrg/web/profitable_trades +++ b/yarrg/web/profitable_trades @@ -23,7 +23,7 @@ my $sth=$dbh->prepare( $sth->execute(); -<& dumpqueryresults, sth => $sth &> +<& dumptable, sth => $sth &> diff --git a/yarrg/web/routetrade b/yarrg/web/routetrade index f8e0f89..fa29e6a 100644 --- a/yarrg/web/routetrade +++ b/yarrg/web/routetrade @@ -143,15 +143,15 @@ my @columns= qw(org_name dst_name commodname % } % { -<& dumpqueryresults:start, sth => $sth &> +<& dumptable:start, sth => $sth &> % my $flow; % while ($flow= $sth->fetchrow_hashref()) { % $flow->{Ix}= @flows; % $flow->{Var}= "f$flow->{Ix}"; % push @flows, $flow; -<& dumpqueryresults:row, sth => $sth, row => $flow &> +<& dumptable:row, sth => $sth, row => $flow &> % } -<& dumpqueryresults:end &> +<& dumptable:end &> % } % if (!$specific || $confusing || @islandids<=1) {