The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Teng::Plugin::SQLPager - Paginate with SQL

SYNOPSIS

    package My::DB;
    use parent qw/Teng/;
    __PACKAGE__->load_plugin(qw/SQLPager/);

    # in your application
    $db->search_by_sql_with_pager(
        q{SELECT * FROM member ORDER BY id DESC},
        [],
        {page => 1, rows => 20}
    );

DESCRIPTION

This module searches database by SQL with paginate.

search_by_sql_with_pager method adds LIMIT clause automatically.

ARGUMENTS FOR search_by_sql_with_pager

You can pass arguments as following.

    $db->search_by_sql_with_pager($sql, $binds, $opt[, $table_name]);
$sql: Str

This is a SQL statement in string.

$binds: ArrayRef[Str]

This is a bind values in arrayref.

$opt: HashRef

Options for search_by_sql_with_pager. Important options are 'page' and 'rows'.

page is a current page number. rows is a entries per page.

$table_name: Str

You can pass a table name.

This argument is optional. If you don't pass a table name, Teng guess table name automatically.

LIMITATIONS

This module does not work with Oracle since Oracle does not support limit clause.