1Attean::API::Plan(3)  User Contributed Perl Documentation Attean::API::Plan(3)
2
3
4

NAME

6       Attean::API::Plan - Query plan
7

VERSION

9       This document describes Attean::API::Plan version 0.030
10

DESCRIPTION

12       The Attean::API::Plan role defines a common API for all query plans.
13

ATTRIBUTES

15       "cost"
16       "distinct"
17       "item_type"
18       "in_scope_variables"
19       "ordered"
20

REQUIRED METHODS

22       The following methods are required by the Attean::API::Plan role:
23
24       "impl( $model )"
25           Returns a code reference that when called (without arguments),
26           returns an Attean::API::Iterator object.
27

METHODS

29       "has_cost"
30       "as_string"
31           Returns a tree-structured string representation of this plan,
32           including children.
33
34       "evaluate( $model )"
35           Evaluates this plan and returns the resulting iterator.
36
37       "in_scope_variables_union( @plans )"
38           Returns the set union of "in_scope_variables" of the given plan
39           objects.
40
41       "subplans_of_type_are_variable_connected( $type )"
42           Returns true if the subpatterns of the given $type are all
43           connected through their "in_scope_variables", false otherwise
44           (implying a cartesian product if the connecting plans perform some
45           form of join.
46
47       "children_are_variable_connected( $type )"
48           Returns true if the children of this plan are all connected through
49           their "in_scope_variables", false otherwise (implying a cartesian
50           product if this plan performs some form of join.
51

BUGS

53       Please report any bugs or feature requests to through the GitHub web
54       interface at <https://github.com/kasei/attean/issues>.
55

SEE ALSO

AUTHOR

58       Gregory Todd Williams  "<gwilliams@cpan.org>"
59
61       Copyright (c) 2014--2020 Gregory Todd Williams.  This program is free
62       software; you can redistribute it and/or modify it under the same terms
63       as Perl itself.
64
65
66
67perl v5.34.0                      2022-01-20              Attean::API::Plan(3)
Impressum