From c758e7dbbea040445a7c9a6f4b095b33678f56bb Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 24 Oct 2005 11:59:37 +0000 Subject: [PATCH] optimize SQL on rate edit screen --- httemplate/edit/rate.cgi | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/httemplate/edit/rate.cgi b/httemplate/edit/rate.cgi index ce56768d1..1771f0105 100644 --- a/httemplate/edit/rate.cgi +++ b/httemplate/edit/rate.cgi @@ -17,12 +17,12 @@ my %granularity = ( '60' => 'minute', ); -my $nous = < @@ -56,11 +56,17 @@ Rate plan <% foreach my $rate_region ( - qsearch( 'rate_region', - {}, - '', - "$nous ORDER BY regionname", - ) + sort { lc($a->regionname) cmp lc($b->regionname) } + qsearch({ + 'select' => 'DISTINCT ON ( regionnum ) rate_region.*', + 'table' => 'rate_region', + 'addl_from' => 'INNER JOIN rate_prefix USING ( regionnum )', + 'hashref' => {}, + 'extra_sql' => "WHERE countrycode != '1'", + # 'ORDER BY regionname' + # ERROR: SELECT DISTINCT ON expressions must + # match initial ORDER BY expressions + }) ) { my $n = $rate_region->regionnum; my $rate_detail = @@ -70,6 +76,7 @@ Rate plan 'sec_granularity' => '60' }; %> + <%= $rate_region->regionname %> <%= $rate_region->prefixes_short %> @@ -82,6 +89,7 @@ Rate plan <% } %> + <% } %> -- 2.11.0