Dave Rolsky > Fey-ORM-0.45 > Fey::Object::Iterator::FromSelect::Caching

Download:
Fey-ORM-0.45.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
Stalled  1
View/Report Bugs
Module Version: 0.45   Source   Latest Release: Fey-ORM-0.46

NAME ^

Fey::Object::Iterator::FromSelect::Caching - A caching subclass of Fey::Object::Iterator::FromSelect

VERSION ^

version 0.45

SYNOPSIS ^

  use Fey::Object::Iterator::FromSelect::Caching;

  my $iter = Fey::Object::Iterator::FromSelect::Caching->new(
      classes     => 'MyApp::User',
      select      => $select,
      dbh         => $dbh,
      bind_params => \@bind,
  );

  print $iter->index();    # 0

  while ( my $user = $iter->next() ) {
      print $iter->index();    # 1, 2, 3, ...
      print $user->username();
  }

  # will return cached objects now
  $iter->reset();

DESCRIPTION ^

This class implements a caching subclass of Fey::Object::Iterator::FromSelect. This means that it caches objects it creates internally. When $iterator->reset() is called it will re-use those objects before fetching more data from the DBMS.

METHODS ^

This class provides the following methods:

$iterator->reset()

Resets the iterator so that the next call to $iterator->next() returns the first objects. Internally, this does not reset the DBI statement handle, it simply makes the iterator use cached objects.

$iterator->clone()

Clones the iterator while sharing its cached data with the original object. This is really intended for internal use, so use at your own risk.

ROLES ^

This class does the Fey::ORM::Role::Iterator role.

AUTHOR ^

Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2011 by Dave Rolsky.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: