[freeside-commits] freeside/FS/FS Record.pm,1.179,1.180

Ivan,,, ivan at wavetail.420.am
Sat Feb 7 11:34:12 PST 2009


Update of /home/cvs/cvsroot/freeside/FS/FS
In directory wavetail.420.am:/tmp/cvs-serv16663

Modified Files:
	Record.pm 
Log Message:
don't look up encryption config every search, this should help perf a lot with database config in 1.9

Index: Record.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/Record.pm,v
retrieving revision 1.179
retrieving revision 1.180
diff -u -d -r1.179 -r1.180
--- Record.pm	25 Jan 2009 23:58:24 -0000	1.179
+++ Record.pm	7 Feb 2009 19:34:10 -0000	1.180
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw( $AUTOLOAD @ISA @EXPORT_OK $DEBUG
-             $conf $me
+             $conf $conf_encryption $me
              %virtual_fields_cache
              $nowarn_identical $no_update_diff $no_check_foreign
            );
@@ -44,10 +44,13 @@
 my $rsa_encrypt;
 my $rsa_decrypt;
 
+$conf = '';
+$conf_encryption = '';
 FS::UID->install_callback( sub {
   eval "use FS::Conf;";
   die $@ if $@;
   $conf = FS::Conf->new; 
+  $conf_encryption = $conf->exists('encryption');
   $File::CounterFile::DEFAULT_DIR = $conf->base_dir . "/counters.". datasrc;
 } );
 
@@ -403,10 +406,8 @@
 
     # Check for encrypted fields and decrypt them.
    ## only in the local copy, not the cached object
-    if ( $conf && $conf->exists('encryption') # $conf doesn't exist when doing
-                                              # the initial search for
-                                              # access_user
-         && eval 'defined(@FS::'. $table . '::encrypted_fields)') {
+    if ( $conf_encryption 
+         && eval 'defined(@FS::'. $table . '::encrypted_fields)' ) {
       foreach my $record (@return) {
         foreach my $field (eval '@FS::'. $table . '::encrypted_fields') {
           # Set it directly... This may cause a problem in the future...



More information about the freeside-commits mailing list