
Class::ReluctantORM::SQL::From::Relation - Base class for SQL relations

Abstract base class to represent a SQL relation.
Known subclasses:

All of these methods are intended to be overridden in subclasses. Some methods provide a default implementation.
Reads or sets the alias used for this relation in SQL.
Returns any children of the object. Results only defined if is_leaf is false.
Returns a boolean indicating whether a column is present in this relation. Only valid if knows_columns() is true.
No default implementation provided.
Returns a boolean indicating whether a column is present in this relation. Only valid if knows_columns() is true.
No default implementation provided.
Indicates if the object is a terminal point on the From tree. Default implementation returns true.
Returns a boolean indicating whether all output columns are known in advance from this relation.
No default implementation provided.
Returns a boolean indicating whether any output columns are known in advance from this relation.
No default implementation provided.
Returns the parent node of the object. If undefined, this is the root node.
Renders a human-readable version of the relation to a string.
Returns a list of all tables referenced in the relation and its children.
Supported options:
Optional boolean, default false. If true, tables mentioned only in subqueries will not be included.
Finds the "base" table, the one added earliest. This will return either a Table or a SubQuery, but never a Join.