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

interchange-core@interchange.redhat.com interchange-core@interchange.redhat.com
Mon Apr 29 10:48:02 2002


User:      heins
Date:      2002-04-29 14:47:02 GMT
Modified:  lib/Vend Interpolate.pm
Log:
	* Make [data serial=1 ...] work for setting values. It did when
	  implemented, but a false optimization disabled setting while
	  retaining retrieve capability.

Revision  Changes    Path
2.63      +12 -12    interchange/lib/Vend/Interpolate.pm


rev 2.63, prev_rev 2.62
Index: Interpolate.pm
===================================================================
RCS file: /anon_cvs/repository/interchange/lib/Vend/Interpolate.pm,v
retrieving revision 2.62
retrieving revision 2.63
diff -u -r2.62 -r2.63
--- Interpolate.pm	11 Mar 2002 17:25:46 -0000	2.62
+++ Interpolate.pm	29 Apr 2002 14:47:02 -0000	2.63
@@ -1,6 +1,6 @@
 # Vend::Interpolate - Interpret Interchange tags
 # 
-# $Id: Interpolate.pm,v 2.62 2002/03/11 17:25:46 jon Exp $
+# $Id: Interpolate.pm,v 2.63 2002/04/29 14:47:02 mheins Exp $
 #
 # Copyright (C) 1996-2001 Red Hat, Inc. <interchange@redhat.com>
 #
@@ -27,7 +27,7 @@
 require Exporter;
 @ISA = qw(Exporter);
 
-$VERSION = substr(q$Revision: 2.62 $, 10);
+$VERSION = substr(q$Revision: 2.63 $, 10);
 
 @EXPORT = qw (
 
@@ -749,16 +749,6 @@
 #::logDebug("increment_field: key=$key field=$field value=$opt->{value}");
 		return increment_field($Vend::Database{$selector},$key,$field,$opt->{value} || 1);
 	}
-	elsif ($opt->{serial}) {
-		$field =~ s/\.(.*)//;
-		my $hk = $1;
-		return ed(
-					dotted_hash(
-						database_field($selector,$key,$field,$opt->{foreign}),
-						$hk,
-					)
-				);
-	}
 	elsif (defined $opt->{value}) {
 #::logDebug("alter table: table=$selector alter=$opt->{alter} field=$field value=$opt->{value}");
 		my $db = $Vend::Database{$selector};
@@ -802,6 +792,16 @@
 			return $orig if $opt->{serial};
 			return $result
 		}
+	}
+	elsif ($opt->{serial}) {
+		$field =~ s/\.(.*)//;
+		my $hk = $1;
+		return ed(
+					dotted_hash(
+						database_field($selector,$key,$field,$opt->{foreign}),
+						$hk,
+					)
+				);
 	}
 	elsif ($opt->{hash}) {
 		my $db = ::database_exists_ref($selector);