1 |
<%args> |
<%args> |
2 |
$on_database => undef |
$on_database => undef |
3 |
$created_on => undef; |
$created_on => undef |
4 |
$order |
$order |
5 |
|
$reformat => 0 |
6 |
</%args> |
</%args> |
7 |
<%init> |
<%init> |
8 |
my $queries = SQLSession::Model::QueryCollection->new(); |
my $queries = SQLSession::Model::QueryCollection->new(); |
30 |
foreach my $c ( qw/name created_on owner/ ) { |
foreach my $c ( qw/name created_on owner/ ) { |
31 |
#next if ($c eq $order); |
#next if ($c eq $order); |
32 |
$sort_menu->child( $c, |
$sort_menu->child( $c, |
33 |
#active => $c eq $order, |
active => $c eq $order, |
34 |
link => Jifty->web->link( |
link => Jifty->web->link( |
35 |
label => $sort_label->{$c}, |
label => $sort_label->{$c}, |
36 |
onclick => { |
onclick => { |
60 |
), |
), |
61 |
) if ($created_on); |
) if ($created_on); |
62 |
|
|
|
my $dates; |
|
|
|
|
63 |
# select created_on,count(date(created_on)) from queries group by date(created_on) order by created_on; |
# select created_on,count(date(created_on)) from queries group by date(created_on) order by created_on; |
64 |
my $date_coll = SQLSession::Model::QueryCollection->new(); |
my $date_coll = SQLSession::Model::QueryCollection->new( results_are_readable => 1 ); |
65 |
my $created_on_date = $date_coll->column( function => 'date(created_on)', column => 'date' ); |
my $created_on_date = $date_coll->column( function => 'date(created_on)', column => 'date' ); |
66 |
my $count = $date_coll->column( function => 'count(date(created_on))', column => 'count' ); |
my $count = $date_coll->column( function => 'count(date(created_on))', column => 'count' ); |
67 |
$date_coll->group_by( function => $created_on_date ); |
$date_coll->group_by( function => $created_on_date ); |
68 |
$date_coll->order_by( column => 'date', order => 'DESC' ); |
$date_coll->order_by( column => 'date', order => 'DESC' ); |
69 |
$date_coll->unlimit; |
$date_coll->unlimit; |
70 |
|
$date_coll->limit( column => 'on_database', value => $on_database ) if ( $on_database ); |
71 |
|
|
72 |
|
#warn "## ", $date_coll->build_select_query; |
73 |
|
|
74 |
warn "## ", $date_coll->build_select_query; |
my $dates = 0; |
75 |
|
|
76 |
while (my $q = $date_coll->next) { |
while (my $q = $date_coll->next) { |
77 |
my $date = $q->{values}->{date} || die "no date?"; |
my $date = $q->{values}->{date} || die "no date?"; |
90 |
}, |
}, |
91 |
), |
), |
92 |
); |
); |
93 |
|
|
94 |
|
$dates++; # why is this different from $date_coll->count ? |
95 |
} |
} |
96 |
|
|
97 |
use Data::Dump qw/dump/; |
my $u; |
98 |
warn "dates = ",dump( $dates ); |
if ($reformat) { |
99 |
|
use SQLSession::Utils qw(reformat_sql); |
100 |
|
$u = Jifty->app_class('Utils'); |
101 |
|
} |
102 |
|
|
103 |
</%init> |
</%init> |
104 |
|
|
105 |
<div class="sort"> |
<div class="sort"> |
106 |
<% $sort_menu->render_as_context_menu %> |
<% $sort_menu->render_as_context_menu %> |
107 |
|
% if ( $dates > 0 ) { |
108 |
<% $date_menu->render_as_context_menu %> |
<% $date_menu->render_as_context_menu %> |
109 |
|
% } |
110 |
</div> |
</div> |
111 |
|
|
112 |
<dl style="clear: left;"> |
<dl style="clear: left;"> |
139 |
% if ($q->note) { |
% if ($q->note) { |
140 |
<div class="sql-note"><% $q->note %></div> |
<div class="sql-note"><% $q->note %></div> |
141 |
% } |
% } |
142 |
<pre class="sql"><% $q->sql_query %></pre> |
% my $sql = $q->sql_query; |
143 |
|
% $sql = $u->reformat_sql( $sql ) if ($reformat); |
144 |
|
<pre class="sql"><% $sql %></pre> |
145 |
</dd> |
</dd> |
146 |
% } |
% } |
147 |
</dl> |
</dl> |