From: ivan Date: Mon, 24 Oct 2005 11:59:37 +0000 (+0000) Subject: optimize SQL on rate edit screen X-Git-Tag: BEFORE_FINAL_MASONIZE~340 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=c758e7dbbea040445a7c9a6f4b095b33678f56bb optimize SQL on rate edit screen --- 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 <% } %> + <% } %>