1Attean::API::Plan(3) User Contributed Perl Documentation Attean::API::Plan(3)
2
3
4
6 Attean::API::Plan - Query plan
7
9 This document describes Attean::API::Plan version 0.030
10
12 The Attean::API::Plan role defines a common API for all query plans.
13
15 "cost"
16 "distinct"
17 "item_type"
18 "in_scope_variables"
19 "ordered"
20
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
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
53 Please report any bugs or feature requests to through the GitHub web
54 interface at <https://github.com/kasei/attean/issues>.
55
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.32.1 2021-02-08 Attean::API::Plan(3)