pod
[freeside.git] / FS / FS / svc_phone.pm
index 725092e..d8f48f8 100644 (file)
@@ -813,7 +813,7 @@ sub phone_name_or_cust {
   }
   my $cust_pkg = $self->cust_svc->cust_pkg or return '';
   if ( $cust_pkg->contactnum ) {
-    return $cust_pkg->contact->firstlast;
+    return $cust_pkg->contact_obj->firstlast;
   } else {
     return $cust_pkg->cust_main->name_short;
   }
@@ -827,10 +827,10 @@ either the "src" or the "charged_party" field of the CDR matches the
 "phonenum" field of the service.  To access the CDRs themselves, call
 "->fetch" on the resulting object.
 
-=over 2
-
 Accepts the following options:
 
+=over 2
+
 =item for_update => 1: SELECT the CDRs "FOR UPDATE".
 
 =item status => "" (or "processing-tiered", "done"): Return only CDRs with that processing status.
@@ -864,8 +864,15 @@ the entire result set.
 =cut
 
 sub psearch_cdrs {
-
   my($self, %options) = @_;
+
+  unless ( $options{'billsec_sum'} ) {
+    #fixes a weird sequential scan of the whole cdr table on startdate, but only
+    # for a few charged_party values here and there.
+    # Pg 9.1 only?  need to retest on 9.4, 9.6
+    dbh->do('SET enable_indexscan TO OFF');
+  }
+
   my @fields;
   my %hash;
   my @where;