DBIx::Class::SQLMaker(User Contributed Perl DocumentatDBIx::Class::SQLMaker(3)NAMEDBIx::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:
· Support for "JOIN" statements (via extended "table/from" support)
· Support of functions in "SELECT" lists
· "GROUP BY"/"HAVING" support (via extensions to the order_by
parameter)
· Support of "...FOR UPDATE" type of select statement modifiers
· The "-ident" operator
· The "-value" operator
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.
perl v5.14.2 2012-01-22 DBIx::Class::SQLMaker(3)