Enum rincon_client::aql::types::ExecutionNodeType
[−]
[src]
pub enum ExecutionNodeType { SingletonNode, EnumerateCollectionNode, IndexNode, EnumerateListNode, FilterNode, LimitNode, CalculationNode, SubQueryNode, SortNode, AggregateNode, ReturnNode, InsertNode, RemoveNode, ReplaceNode, UpdateNode, UpsertNode, NoResultsNode, ScatterNode, GatherNode, DistributeNode, RemoteNode, Unlisted(String), }
The execution node types will appear in the execution plan as output of the explain method.
This enum defines all possible execution nodes as listed in the official documentation of ArangoDB.
Source: https://docs.arangodb.com/devel/AQL/ExecutionAndPerformance/Optimizer.html#list-of-execution-nodes
Last update: 10/08/2017
Variants
SingletonNode
the purpose of a SingletonNode is to produce an empty document that is used as input for other processing steps. Each execution plan will contain exactly one SingletonNode as its top node.
EnumerateCollectionNode
enumeration over documents of a collection (given in its collection attribute) without using an index.
IndexNode
enumeration over one or many indexes (given in its indexes attribute) of a collection. The index ranges are specified in the condition attribute of the node.
EnumerateListNode
enumeration over a list of (non-collection) values.
FilterNode
only lets values pass that satisfy a filter condition. Will appear once per FILTER statement.
LimitNode
limits the number of results passed to other processing steps. Will appear once per LIMIT statement.
CalculationNode
evaluates an expression. The expression result may be used by other nodes, e.g. FilterNode, EnumerateListNode, SortNode etc.
SubQueryNode
executes a sub-query.
SortNode
performs a sort of its input values.
AggregateNode
aggregates its input and produces new output variables. This will appear once per COLLECT statement.
ReturnNode
returns data to the caller. Will appear in each read-only query at least once. Sub-queries will also contain ReturnNodes.
InsertNode
inserts documents into a collection (given in its collection attribute).Will appear exactly once in a query that contains an INSERT statement.
RemoveNode
removes documents from a collection (given in its collection attribute).Will appear exactly once in a query that contains a REMOVE statement.
ReplaceNode
replaces documents in a collection (given in its collection attribute).Will appear exactly once in a query that contains a REPLACE statement.
UpdateNode
updates documents in a collection (given in its collection attribute).Will appear exactly once in a query that contains an UPDATE statement.
UpsertNode
upserts documents in a collection (given in its collection attribute).Will appear exactly once in a query that contains an UPSERT statement.
NoResultsNode
will be inserted if FILTER statements turn out to be never satisfiable. The NoResultsNode will pass an empty result set into the processing pipeline.
ScatterNode
used on a coordinator to fan-out data to one or multiple shards.
GatherNode
used on a coordinator to aggregate results from one or many shards into a combined stream of results.
DistributeNode
used on a coordinator to fan-out data to one or multiple shards, taking into account a collection's shard key.
RemoteNode
a RemoteNode will perform communication with another ArangoDB instances in the cluster. For example, the cluster coordinator will need to communicate with other servers to fetch the actual data from the shards. It will do so via RemoteNodes. The data servers themselves might again pull further data from the coordinator, and thus might also employ RemoteNodes. So, all of the above cluster relevant nodes will be accompanied by a RemoteNode.
Unlisted(String)
Can be used to specify an execution node that has not been added to this enum yet.
Methods
impl ExecutionNodeType
[src]
pub fn from_api_str(api_str: &str) -> Self
[src]
Constructs an execution node from the string slice as used in the ArangoDB API.
pub fn as_api_str(&self) -> &str
[src]
Returns this execution node as a string slice to be used with the ArangoDB API.
Trait Implementations
impl Debug for ExecutionNodeType
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl Clone for ExecutionNodeType
[src]
fn clone(&self) -> ExecutionNodeType
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl PartialEq for ExecutionNodeType
[src]
fn eq(&self, __arg_0: &ExecutionNodeType) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &ExecutionNodeType) -> bool
[src]
This method tests for !=
.
impl Eq for ExecutionNodeType
[src]
impl Hash for ExecutionNodeType
[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
[src]
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl<'de> Deserialize<'de> for ExecutionNodeType
[src]
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
[src]
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more