
Fey::Role::SetOperation - A role for things that are a set operation

use Moose;
with 'Fey::Role::SetOperation' => { keyword => $keyword };

Classes which do this role represent a query which can include multiple SELECT queries or set operations.

The SQL keyword for this set operation (i.e. UNION, INTERSECT, EXCEPT).

This role provides the following methods, where $keyword is the keyword parameter, above:
$union->union($select1, $select2, $select3); $union->union($select, $except->except($select2, $select3));
Adds SELECT queries or set operations to the list of queries that this set operation includes.
A set operation must include at least two queries, so the first time this is called, at least two arguments must be provided; subsequent calls do not suffer this constraint.
Sets whether or not ALL is included in the SQL for this set operation (e.g. UNION ALL).
Returns true if $query->all() has previously been called.
Returns the SQL keyword and possible ALL for this set operation.
print $query->union_clause();
Returns each of the selects for this set operation, joined by the keyword_clause.

This class includes Fey::Role::SQL::HasOrderByClause, Fey::Role::SQL::HasLimitClause, and Fey::Role::SQL::HasAliasName.

Hans Dieter Pearcey <hdp.cpan.fey@weftsoar.net>

See Fey for details on how to report bugs.

Copyright 2006-2009 Dave Rolsky, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.