Reword the having attribute reference
Olaf Alders [Tue, 5 Aug 2014 16:25:23 +0000 (12:25 -0400)]
lib/DBIx/Class.pm
lib/DBIx/Class/ResultSet.pm

index 05f2f49..4d4edda 100644 (file)
@@ -480,6 +480,8 @@ nuba: Nuba Princigalli <nuba@cpan.org>
 
 Numa: Dan Sully <daniel@cpan.org>
 
+oalders: Olaf Alders <olaf@wundersolutions.com>
+
 ovid: Curtis "Ovid" Poe <ovid@cpan.org>
 
 oyse: E<Oslash>ystein Torget <oystein.torget@dnv.com>
index d15696d..18cc57d 100644 (file)
@@ -4546,15 +4546,20 @@ A arrayref of columns to group by. Can include columns of joined tables.
 
 =back
 
-HAVING is a select statement attribute that is applied between GROUP BY and
-ORDER BY. It is applied to the after the grouping calculations have been
-done.
+The HAVING operator specifies a B<secondary> condition applied to the set
+after the grouping calculations have been done. In other words it is a
+constraint just like L</where> (and accepting the same
+L<SQL::Abstract syntax|SQL::Abstract/WHERE CLAUSES>) applied to the data
+as it exists after GROUP BY has taken place. Specifying L</having> without
+L</group_by> is a logical mistake, and a fatal error on most RDBMS engines.
+
+E.g.
 
   having => { 'count_employee' => { '>=', 100 } }
 
 or with an in-place function in which case literal SQL is required:
 
-  having => \[ 'count(employee) >= ?', [ count => 100 ] ]
+  having => \[ 'count(employee) >= ?', 100 ]
 
 =head2 distinct