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

version 0.40

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.

See Fey for details on how to report bugs.

Dave Rolsky <autarch@urth.org>

This software is Copyright (c) 2011 by Dave Rolsky.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)