chiark / gitweb /
Generalise dumpqueryresults and rename to dumptable
[ypp-sc-tools.web-live.git] / yarrg / web / dumptable
similarity index 79%
rename from yarrg/web/dumpqueryresults
rename to yarrg/web/dumptable
index 8860ace..20dc25f 100644 (file)
 
 
  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.
 
 </%doc>
 <%args>
@@ -53,13 +54,14 @@ $sth
 
 <%method start>
 <%args>
-$sth
+$sth => undef
+$cols => $sth->{NAME}
 $qa => undef
 </%args>
 %      if (!$qa || $qa->{'debug'}) {
 <table frame=box rules=all>
 <tr>
-%              foreach my $field (@{ $sth->{NAME} }) {
+%              foreach my $field (@$cols) {
 <th><% $field |h %>
 %              }
 </tr>
@@ -68,13 +70,14 @@ $qa => undef
 
 <%method row>
 <%args>
-$sth
+$sth => undef
+$cols => $sth->{NAME}
 $row
 $qa => undef
 </%args>
 %      if (!$qa || $qa->{'debug'}) {
 <tr>
-%              foreach my $field (@{ $sth->{NAME} }) {
+%              foreach my $field (@$cols) {
 %                      my $cell= $row->{$field};
 <td>
 <% $cell |h %>