Matt S Trout > DBIx-Class-0.08901-TRIAL > DBIx::Class::SQLMaker

Download:
DBIx-Class-0.08901-TRIAL.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

New  11
Open  18
Stalled  11
View/Report Bugs
Source   Latest Release: DBIx-Class-0.08270

NAME ^

DBIx::Class::SQLMaker - An SQL::Abstract-based SQL maker class

DESCRIPTION ^

This module is a subclass of SQL::Abstract and includes a number of DBIC-specific workarounds, not yet suitable for inclusion into the SQL::Abstract core. It also provides all (and more than) the functionality of SQL::Abstract::Limit, see DBIx::Class::SQLMaker::LimitDialects for more info.

Currently the enhancements to SQL::Abstract are:

OPERATORS ^

-ident

Used to explicitly specify an SQL identifier. Takes a plain string as value which is then invariably treated as a column name (and is being properly quoted if quoting has been requested). Most useful for comparison of two columns:

    my %where = (
        priority => { '<', 2 },
        requestor => { -ident => 'submitter' }
    );

which results in:

    $stmt = 'WHERE "priority" < ? AND "requestor" = "submitter"';
    @bind = ('2');

-value

The -value operator signals that the argument to the right is a raw bind value. It will be passed straight to DBI, without invoking any of the SQL::Abstract condition-parsing logic. This allows you to, for example, pass an array as a column value for databases that support array datatypes, e.g.:

    my %where = (
        array => { -value => [1, 2, 3] }
    );

which results in:

    $stmt = 'WHERE array = ?';
    @bind = ([1, 2, 3]);

AUTHORS ^

See "CONTRIBUTORS" in DBIx::Class.

LICENSE ^

You may distribute this code under the same terms as Perl itself.

syntax highlighting: