NAME

DBIx::DataModel::Statement::Oracle - Statement for interacting with DBD::Oracle

SYNOPSIS

DBIx::DataModel->Schema("MySchema",
   statement_class => "DBIx::DataModel::Statement::Oracle",
);

my $rows = $source->select(
  ...,
  -limit  => 50,
  -offset => 200,
);

DESCRIPTION

This subclass redefines some parent methods from DBIx::DataModel::Statement in order to take advantage of "Scrollable Cursor Methods" in DBD::Oracle.

This is interesting for applications that need to do pagination within result sets, because Oracle prior to version 12 had no support for LIMIT/OFFSET in SQL. So here we use some special methods of the Oracle driver to jump to a specific row within a resultset, and then extract a limited number of rows.

The API is exactly the same as other, regular DBIx::DataModel implementations.

AUTHOR

Laurent Dami, <laurent.dami AT etat ge ch>, April 2012.

COPYRIGHT AND LICENSE

Copyright 2011 by Laurent Dami.

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