DBIx::Class::SQLMaker - An SQL::Abstract-based SQL maker class
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:
Support for JOIN statements (via extended table/from support)
JOIN
table/from
Support of functions in SELECT lists
SELECT
GROUP BY/HAVING support (via extensions to the order_by parameter)
GROUP BY
HAVING
Support of ...FOR UPDATE type of select statement modifiers
...FOR UPDATE
The "-ident" operator
The "-value" operator
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');
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] } );
$stmt = 'WHERE array = ?'; @bind = ([1, 2, 3]);
See "CONTRIBUTORS" in DBIx::Class.
You may distribute this code under the same terms as Perl itself.
To install DBIx::Class, copy and paste the appropriate command in to your terminal.
cpanm
cpanm DBIx::Class
CPAN shell
perl -MCPAN -e shell install DBIx::Class
For more information on module installation, please visit the detailed CPAN module installation guide.