[interchange-cvs] interchange - kwalsh modified lib/Vend/Interpolate.pm

interchange-core@icdevgroup.org interchange-core@icdevgroup.org
Thu Oct 31 13:44:00 2002


User:      kwalsh
Date:      2002-10-31 18:43:24 GMT
Modified:  lib/Vend Interpolate.pm
Log:
	* Re-coded the [data] tag's filter paramater code as per Mike
	  Heins' suggestion for performace.

Revision  Changes    Path
2.125     +10 -9     interchange/lib/Vend/Interpolate.pm


rev 2.125, prev_rev 2.124
Index: Interpolate.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Interpolate.pm,v
retrieving revision 2.124
retrieving revision 2.125
diff -u -r2.124 -r2.125
--- Interpolate.pm	31 Oct 2002 17:43:47 -0000	2.124
+++ Interpolate.pm	31 Oct 2002 18:43:24 -0000	2.125
@@ -1,6 +1,6 @@
 # Vend::Interpolate - Interpret Interchange tags
 # 
-# $Id: Interpolate.pm,v 2.124 2002/10/31 17:43:47 kwalsh Exp $
+# $Id: Interpolate.pm,v 2.125 2002/10/31 18:43:24 kwalsh Exp $
 #
 # Copyright (C) 1996-2002 Red Hat, Inc. <interchange@redhat.com>
 #
@@ -27,7 +27,7 @@
 require Exporter;
 @ISA = qw(Exporter);
 
-$VERSION = substr(q$Revision: 2.124 $, 10);
+$VERSION = substr(q$Revision: 2.125 $, 10);
 
 @EXPORT = qw (
 
@@ -837,15 +837,16 @@
 		return undef unless $db->record_exists($key);
 		return $db->row_hash($key);
 	}
-
-	#The most common , don't enter a block, no accoutrements
-	my $value = ed(database_field($selector,$key,$field,$opt->{foreign}));
-
-	if ($opt->{filter}) {
-		$value = filter_value($opt->{filter}, $value, $field);
+	elsif ($opt->{filter}) {
+		return filter_value(
+			$opt->{filter},
+			ed(database_field($selector,$key,$field,$opt->{foreign})),
+			$field,
+		);
 	}
-	return $value;
 
+	#The most common , don't enter a block, no accoutrements
+	return ed(database_field($selector,$key,$field,$opt->{foreign}));
 }
 
 %Filter = (