-# $Id: Resultset.pm,v 1.7 2003-03-03 18:27:25 pop Exp $
+# $Id: Resultset.pm,v 1.9 2003-03-06 23:32:10 pop Exp $
#
# Zebra perl API header
# =============================================================================
use IDZebra::Logger qw(:flags :calls);
use Scalar::Util qw(weaken);
use Carp;
- our $VERSION = do { my @r = (q$Revision: 1.7 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+ our $VERSION = do { my @r = (q$Revision: 1.9 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
our @ISA = qw(IDZebra::Logger);
}
my $from = $args{from} ? $args{from} : 1;
my $to = $args{to} ? $args{to} : $self->{recordCount};
+ if (($to-$from) >= 1000) {
+ if ($args{to}) {
+ croak ("Cannot fetch more than 1000 records at a time");
+ } else {
+ $to = $from + 999;
+ }
+ }
+
my $elementSet = $args{elementSet} ? $args{elementSet} : 'R';
my $schema = $args{schema} ? $args{schema} : '';
my $recordSyntax = $args{recordSyntax} ? $args{recordSyntax} : '';
$to,
$ro);
-
my @res = ();
for (my $i=$from; $i<=$to; $i++) {
if ($class) {
} else {
- push (@res, $rec);
+ push (@res, $rec);
}
}
=head1 SORTING
+You can sort resultsets by calling:
+
+ $rs1->sort($sort_expr);
+
+or create a new sorted resultset:
+
+ $rs2 = $rs1->sort($sort_expr);
+
+The sort expression has the same format as described in the I<yaz_client> documentation. For example:
+
+ $rs1->sort('1=4 id');
+
+will sort thr results by title, in a case insensitive way, in descending order, while
+
+ $rs1->sort('1=4 a');
+will sort ascending by titles.
=head1 COPYRIGHT
=head1 SEE ALSO
-IDZebra, IDZebra::Data1, Zebra documentation
+Zebra documentation, IDZebra::ResultSet, IDZebra::RetrievalRecord manpages.
=cut