[interchange-cvs] interchange - racke modified lib/Vend/Table/Shadow.pm

interchange-core@icdevgroup.org interchange-core@icdevgroup.org
Fri Mar 21 11:38:00 2003


User:      racke
Date:      2003-03-21 16:37:31 GMT
Modified:  lib/Vend/Table Shadow.pm
Log:
added _map_array method, call it from each_nokey

Revision  Changes    Path
1.23      +19 -3     interchange/lib/Vend/Table/Shadow.pm


rev 1.23, prev_rev 1.22
Index: Shadow.pm
===================================================================
RCS file: /anon_cvs/repository/interchange/lib/Vend/Table/Shadow.pm,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- Shadow.pm	17 Feb 2003 12:18:16 -0000	1.22
+++ Shadow.pm	21 Mar 2003 16:37:31 -0000	1.23
@@ -1,6 +1,6 @@
 # Vend::Table::Shadow - Access a virtual "Shadow" table
 #
-# $Id: Shadow.pm,v 1.22 2003/02/17 12:18:16 racke Exp $
+# $Id: Shadow.pm,v 1.23 2003/03/21 16:37:31 racke Exp $
 #
 # Copyright (C) 2002-2003 Stefan Hornburg (Racke) <racke@linuxia.de>
 #
@@ -20,7 +20,7 @@
 # MA  02111-1307  USA.
 
 package Vend::Table::Shadow;
-$VERSION = substr(q$Revision: 1.22 $, 10);
+$VERSION = substr(q$Revision: 1.23 $, 10);
 
 # TODO
 #
@@ -238,8 +238,12 @@
 
 sub each_nokey {
 	my ($s, $qual) = @_;
+	my $record;
+	
 	$s = $s->import_db() unless defined $s->[$OBJ];
-	return $s->[$OBJ]->each_nokey($qual);
+	if ($record = $s->[$OBJ]->each_nokey($qual)) {
+		return $s->_map_array ($record);
+	}
 }
 
 sub reset {
@@ -281,6 +285,18 @@
 	}
 
 	$href;
+}
+
+sub _map_array {
+	my ($s, $aref) = @_;
+	my (@cols) = $s->columns();
+	my $key = $aref->[0];
+	
+	for (my $i = 1; $i < @cols; $i++) {
+		$aref->[$i] = $s->_map_column ($key, $cols[$i], 1, $aref->[$i]);
+	}
+
+	$aref;
 }
 
 sub _map_column {