[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 {