improve performance of DID provisioning status report, RT10988
[freeside.git] / FS / FS / svc_phone.pm
index 3d02ca4..4945391 100644 (file)
@@ -706,8 +706,8 @@ sub get_cdrs {
 
   my @orwhere =  map " $_ = '$number'        ", @fields;
   push @orwhere, map " $_ = '$prefix$number' ", @fields
-    if length($prefix);
-  if ( $prefix =~ /^\+(\d+)$/ ) {
+    if defined($prefix) && length($prefix);
+  if ( $prefix && $prefix =~ /^\+(\d+)$/ ) {
     push @orwhere, map " $_ = '$1$number' ", @fields
   }
 
@@ -727,7 +727,8 @@ sub get_cdrs {
       'table'      => 'cdr',
       'hashref'    => \%hash,
       'extra_sql'  => $extra_sql,
-      'order_by'   => "ORDER BY startdate $for_update",
+      'order_by'   => $options{'billsec_sum'} ? '' : "ORDER BY startdate $for_update",
+      'select'     => $options{'billsec_sum'} ? 'sum(billsec) as billsec_sum' : '*',
     } );
 
   @cdrs;