From: Norbert Buchmuller Date: Wed, 2 Sep 2009 03:52:09 +0000 (+0200) Subject: Further improvement in the bind value column names in the SQL literal + bind examples. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=0a7ed5b00ca9ee32e7c2efa7d3481e9619252cf3;p=dbsrgits%2FDBIx-Class-Historic.git Further improvement in the bind value column names in the SQL literal + bind examples. --- diff --git a/lib/DBIx/Class/Manual/Cookbook.pod b/lib/DBIx/Class/Manual/Cookbook.pod index 7885f15..2769ded 100644 --- a/lib/DBIx/Class/Manual/Cookbook.pod +++ b/lib/DBIx/Class/Manual/Cookbook.pod @@ -423,23 +423,24 @@ specification as you would any column: With quoting on, or for a more portable solution, use literal SQL values with placeholders: - $rs->search(\[ 'YEAR(date_of_birth) = ?', [ date_of_birth => 1979 ] ]); + $rs->search(\[ 'YEAR(date_of_birth) = ?', [ plain_value => 1979 ] ]); # Equivalent SQL: # SELECT * FROM employee WHERE YEAR(date_of_birth) = ? $rs->search({ name => 'Bob', - -nest => \[ 'YEAR(date_of_birth) = ?', [ date_of_birth => 1979 ] ], + -nest => \[ 'YEAR(date_of_birth) = ?', [ plain_value => 1979 ] ], }); # Equivalent SQL: # SELECT * FROM employee WHERE name = ? AND YEAR(date_of_birth) = ? -Note: the C string in the C<< [ date_of_birth => 1979 ] >> part -should be the same as the name of the column. It is used by L to -handle special column types. (If no column is involved in your expression, just -invent a column name.) +Note: the C string in the C<< [ plain_value => 1979 ] >> part +should be either the same as the name of the column (do this if the type of the +return value of the function is the same as the type of the column) or +otherwise it's essentially a dummy string currently (use C as a +habit). It is used by L to handle special column types. See also L. diff --git a/lib/DBIx/Class/Manual/FAQ.pod b/lib/DBIx/Class/Manual/FAQ.pod index b21fd3a..4a5d7ba 100644 --- a/lib/DBIx/Class/Manual/FAQ.pod +++ b/lib/DBIx/Class/Manual/FAQ.pod @@ -247,12 +247,13 @@ documentation for details. To use an SQL function on the left hand side of a comparison: - ->search({ -nest => \[ 'YEAR(date_of_birth) = ?', [ date_of_birth => 1979 ] ] }); + ->search({ -nest => \[ 'YEAR(date_of_birth) = ?', [ plain_value => 1979 ] ] }); -Note: the C string in the C<< [ date_of_birth => 1979 ] >> part -should be the same as the name of the column. It is used by L to -handle special column types. (If no column is involved in your expression, just -invent a column name.) +Note: the C string in the C<< [ plain_value => 1979 ] >> part +should be either the same as the name of the column (do this if the type of the +return value of the function is the same as the type of the column) or +otherwise it's essentially a dummy string currently (use C as a +habit). It is used by L to handle special column types. Or, if you have quoting off: