cvsuser 02/08/30 10:50:25
Modified: P5EEx/Blue/P5EEx/Blue Repository.pm
Log:
modified select_values() to optionally get a column of values rather than a row of
values
Revision Changes Path
1.23 +20 -8 p5ee/P5EEx/Blue/P5EEx/Blue/Repository.pm
Index: Repository.pm
===================================================================
RCS file: /cvs/public/p5ee/P5EEx/Blue/P5EEx/Blue/Repository.pm,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -w -r1.22 -r1.23
--- Repository.pm 16 Aug 2002 16:07:06 -0000 1.22
+++ Repository.pm 30 Aug 2002 17:50:25 -0000 1.23
@@ -1,6 +1,6 @@
#############################################################################
-## $Id: Repository.pm,v 1.22 2002/08/16 16:07:06 spadkins Exp $
+## $Id: Repository.pm,v 1.23 2002/08/30 17:50:25 spadkins Exp $
#############################################################################
package P5EEx::Blue::Repository;
@@ -76,6 +76,7 @@
$row = $rep->select_row ($table, \@cols, \@params, \%paramvalues);
$rows = $rep->select_rows($table, \@cols, \@params, \%paramvalues,
\@ordercols, $startrow, $endrow);
@values = $rep->select_values($table, \@cols, \@params, \%paramvalues);
+ @values = $rep->select_values($table, $column, \@params, \%paramvalues);
$ok = $rep->insert_row ($table, \@cols, \@row);
$ok = $rep->insert_rows($table, \@cols, \@rows);
$ok = $rep->update_row ($table, \@cols, \@row, \@keycolidx);
@@ -1066,14 +1067,25 @@
=cut
-# @values = $rep->select_values ($table, \@cols, \@params, \%paramvalues);
+# @values = $rep->select_values ($table, \@cols, \@params, \%paramvalues,
$ordercols);
sub select_values {
- my ($self, $table, $cols, $params, $paramvalues) = @_;
+ my ($self, $table, $cols, $params, $paramvalues, $ordercols) = @_;
+ if (ref($cols) eq "ARRAY") {
my $row = $self->select_row($table, $cols, $params, $paramvalues);
return undef if (!$row);
return undef if ($#$row == -1);
return @$row if (wantarray);
return $row->[0];
+ }
+ else {
+ my (@values, $column);
+ $column = $cols;
+ my $rows = $self->select_rows($table, [ $column ], $params, $paramvalues,
$ordercols);
+ foreach (@$rows) {
+ push(@values, $_->[0]);
+ }
+ return(@values);
+ }
}
#############################################################################