souffle
2.0.2-371-g6315b36
|
A relational algebra query. More...
#include <Query.h>
Public Member Functions | |
void | apply (const NodeMapper &map) override |
Apply the mapper to all child nodes. More... | |
Query * | clone () const override |
Create a clone (i.e. More... | |
std::vector< const Node * > | getChildNodes () const override |
Obtain list of all embedded child nodes. More... | |
const Operation & | getOperation () const |
Get RAM operation. More... | |
Query (Own< Operation > o) | |
Public Member Functions inherited from souffle::ram::Node | |
bool | operator!= (const Node &other) const |
Inequality check for two RAM nodes. More... | |
bool | operator== (const Node &other) const |
Equivalence check for two RAM nodes. More... | |
virtual void | rewrite (const Node *oldNode, Own< Node > newNode) |
Rewrite a child node. More... | |
virtual | ~Node ()=default |
Protected Member Functions | |
bool | equal (const Node &node) const override |
Equality check for two RAM nodes. More... | |
void | print (std::ostream &os, int tabpos) const override |
Pretty print with indentation. More... | |
Protected Member Functions inherited from souffle::ram::Statement | |
void | print (std::ostream &os) const override |
Print RAM node. More... | |
Protected Attributes | |
Own< Operation > | operation |
RAM operation. More... | |
Additional Inherited Members | |
Static Protected Member Functions inherited from souffle::ram::Statement | |
static void | print (const Statement *statement, std::ostream &os, int tabpos) |
Pretty print jump-bed. More... | |
A relational algebra query.
Corresponds to the core machinery of semi-naive evaluation
For example:
|
inlineoverridevirtual |
Apply the mapper to all child nodes.
Reimplemented from souffle::ram::Node.
Definition at line 69 of file Query.h.
References operation, and souffle::times().
|
inlineoverridevirtual |
Create a clone (i.e.
deep copy) of this node
Implements souffle::ram::Statement.
Definition at line 65 of file Query.h.
References souffle::map(), and operation.
|
inlineoverrideprotectedvirtual |
Equality check for two RAM nodes.
Default action is that nothing needs to be checked.
Reimplemented from souffle::ram::Node.
|
inlineoverridevirtual |
Obtain list of all embedded child nodes.
Reimplemented from souffle::ram::Node.
Definition at line 61 of file Query.h.
References souffle::clone(), operation, and Query().
|
inline |
Get RAM operation.
Definition at line 57 of file Query.h.
References operation.
Referenced by souffle::ram::transform::HoistAggregateTransformer::hoistAggregate().
|
inlineoverrideprotectedvirtual |
Pretty print with indentation.
Implements souffle::ram::Statement.
Definition at line 74 of file Query.h.
References souffle::equal_ptr(), and operation.
RAM operation.
Definition at line 85 of file Query.h.
Referenced by apply(), clone(), getChildNodes(), getOperation(), print(), and Query().