From: Naveed Massjouni Date: Sat, 23 Apr 2011 09:28:00 +0000 (-0400) Subject: Added documentation for the -ident/-value operators in SQLMaker. X-Git-Tag: v0.08191~1 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=2bb4c37b6a5f36d851c4a8ee6f5791e179491fd0;p=dbsrgits%2FDBIx-Class.git Added documentation for the -ident/-value operators in SQLMaker. --- diff --git a/lib/DBIx/Class.pm b/lib/DBIx/Class.pm index 7d217ca..a633aa7 100644 --- a/lib/DBIx/Class.pm +++ b/lib/DBIx/Class.pm @@ -356,6 +356,8 @@ ilmari: Dagfinn Ilmari MannsEker initself: Mike Baas +ironcamel: Naveed Massjouni + jawnsy: Jonathan Yu jasonmay: Jason May diff --git a/lib/DBIx/Class/ResultSet.pm b/lib/DBIx/Class/ResultSet.pm index 71fa590..2d1380f 100644 --- a/lib/DBIx/Class/ResultSet.pm +++ b/lib/DBIx/Class/ResultSet.pm @@ -251,7 +251,8 @@ call it as C. For a list of attributes that can be passed to C, see L. For more examples of using this function, see L. For a complete -documentation for the first argument, see L. +documentation for the first argument, see L +and its extension L. For more help on using joins with search, see L. diff --git a/lib/DBIx/Class/SQLMaker.pm b/lib/DBIx/Class/SQLMaker.pm index 7686ff0..66b6c73 100644 --- a/lib/DBIx/Class/SQLMaker.pm +++ b/lib/DBIx/Class/SQLMaker.pm @@ -27,9 +27,9 @@ Currently the enhancements to L are: =item * Support of C<...FOR UPDATE> type of select statement modifiers -=item * The -ident operator +=item * The L operator -=item * The -value operator +=item * The L operator =back @@ -496,6 +496,41 @@ sub _join_condition { 1; +=head1 OPERATORS + +=head2 -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'); + +=head2 -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]); + =head1 AUTHORS See L.