-
-
06 Feb 2021 18:54:32 UTC
- Distribution: Attean
- Module version: 0.030
- Source (raw)
- Browse (raw)
- Changes
- Homepage
- How to Contribute
- Repository
- Issues (30)
- Testers (58 / 0 / 4)
- Kwalitee
Bus factor: 1- 66.75% Coverage
- License: perl_5
- Perl: v5.14.0
- Activity
24 month- Tools
- Download (245KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
- Dependencies
- Algorithm::Combinatorics
- DateTime::Format::W3CDTF
- Exporter::Tiny
- File::Slurp
- HTTP::Negotiate
- IRI
- JSON
- LWP::UserAgent
- List::MoreUtils
- Math::Cartesian::Product
- Module::Pluggable
- Moo
- MooX::Log::Any
- PerlIO::Layers
- Role::Tiny
- Set::Scalar
- Sub::Install
- Sub::Util
- Test::Modern
- Test::Moose
- Test::Roo
- Text::CSV
- Text::Table
- Try::Tiny
- Type::Tiny
- URI::Escape
- URI::NamespaceMap
- UUID::Tiny
- XML::SAX
- namespace::clean
- and possibly others
- Reverse dependencies
- CPAN Testers List
- Dependency graph
NAME
Attean::API::Plan - Query plan
VERSION
This document describes Attean::API::Plan version 0.030
DESCRIPTION
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
$type
are all connected through theirin_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.
BUGS
Please report any bugs or feature requests to through the GitHub web interface at https://github.com/kasei/attean/issues.
SEE ALSO
AUTHOR
Gregory Todd Williams
<gwilliams@cpan.org>
COPYRIGHT
Copyright (c) 2014--2020 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Module Install Instructions
To install Attean, copy and paste the appropriate command in to your terminal.
cpanm Attean
perl -MCPAN -e shell install Attean
For more information on module installation, please visit the detailed CPAN module installation guide.