Attean::API::Plan3pm
Query plan
Version
This document describes Attean::API::Plan version 0.035
Overview
The Attean::API::Plan role defines a common API for all query plans.
Attributes
- "cost"
- "distinct"
- "item_type"
- "in_scope_variables"
- "ordered"
Required methods
The following methods are required by the Attean::API::Plan role:
- impl( $model )
-
Returns a code reference that when called (without arguments), returns an Attean::API::Iterator object.
Methods
- "has_cost"
- "as_string"
-
Returns a tree-structured string representation of this plan, including children.
- evaluate( $model )
-
Evaluates this plan and returns the resulting iterator.
- in_scope_variables_union( @plans )
-
Returns the set union of
"in_scope_variables"of the given plan objects.
- subplans_of_type_are_variable_connected( $type )
-
Returns true if the subpatterns of the given
$typeare all connected through their"in_scope_variables", false otherwise (implying a cartesian product if the connecting plans perform some form of join.
- children_are_variable_connected( $type )
-
Returns true if the children of this plan are all connected through their
"in_scope_variables", false otherwise (implying a cartesian product if this plan performs some form of join.
Releases
5 releases since Debian 9 (Stretch); the text changed 4 times.