souffle  2.0.2-371-g6315b36
Public Member Functions | Data Fields | Private Attributes
souffle::interpreter::ViewContext Class Reference

This class contains information for views (Hints) creation for ram::Query and ram::Parallel operation. More...

#include <ViewContext.h>

Collaboration diagram for souffle::interpreter::ViewContext:
Collaboration graph

Public Member Functions

void addViewFreeOperationForFilter (Own< Node > node)
 Add outer-most filter operation which does not require a view. More...
 
void addViewInfoForFilter (size_t relId, size_t indexPos, size_t viewPos)
 Add View creation information into the list for outer filter. More...
 
void addViewInfoForNested (size_t relId, size_t indexPos, size_t viewPos)
 Add View creation information into the list for nested oprations. More...
 
void addViewOperationForFilter (Own< Node > node)
 Add outer-most filter operation which requires a view. More...
 
void addViewOperationForNested (Own< Node > op)
 Add nested operation which require a View (Hints). More...
 
const VecOwn< Node > & getOuterFilterViewFreeOps ()
 Return views for outer-most filter operations. More...
 
const VecOwn< Node > & getOuterFilterViewOps ()
 Return outer-most filter operations. More...
 
std::vector< std::array< size_t, 3 > > & getViewInfoForFilter ()
 Return Views information for outer filter operation. More...
 
std::vector< std::array< size_t, 3 > > & getViewInfoForNested ()
 Return Views information for nested operation. More...
 
VecOwn< Node > & getViewsInNestedOperation ()
 Return nested operations. More...
 

Data Fields

bool isParallel = false
 If this context has information for parallel operation. More...
 

Private Attributes

VecOwn< NodenestedViewOps
 Vector of nested operations. More...
 
VecOwn< NodeouterFilterViewFreeOps
 Vector of filter operations, no views required. More...
 
VecOwn< NodeouterFilterViewOps
 Vector of filter operation, views required. More...
 
std::vector< std::array< size_t, 3 > > viewInfoForFilter
 Vector of View information in filter operations. More...
 
std::vector< std::array< size_t, 3 > > viewInfoForNested
 Vector of View information in nested operations. More...
 

Detailed Description

This class contains information for views (Hints) creation for ram::Query and ram::Parallel operation.

Definition at line 39 of file ViewContext.h.

Member Function Documentation

◆ addViewFreeOperationForFilter()

void souffle::interpreter::ViewContext::addViewFreeOperationForFilter ( Own< Node node)
inline

Add outer-most filter operation which does not require a view.


Definition at line 47 of file ViewContext.h.

50  {

◆ addViewInfoForFilter()

void souffle::interpreter::ViewContext::addViewInfoForFilter ( size_t  relId,
size_t  indexPos,
size_t  viewPos 
)
inline

Add View creation information into the list for outer filter.


Definition at line 82 of file ViewContext.h.

87  :
88  /** Vector of filter operation, views required */

◆ addViewInfoForNested()

void souffle::interpreter::ViewContext::addViewInfoForNested ( size_t  relId,
size_t  indexPos,
size_t  viewPos 
)
inline

Add View creation information into the list for nested oprations.

Definition at line 87 of file ViewContext.h.

87  :
88  /** Vector of filter operation, views required */
89  VecOwn<Node> outerFilterViewOps;

◆ addViewOperationForFilter()

void souffle::interpreter::ViewContext::addViewOperationForFilter ( Own< Node node)
inline

Add outer-most filter operation which requires a view.


Definition at line 42 of file ViewContext.h.

45  {

◆ addViewOperationForNested()

void souffle::interpreter::ViewContext::addViewOperationForNested ( Own< Node op)
inline

Add nested operation which require a View (Hints).


Definition at line 52 of file ViewContext.h.

55  {

◆ getOuterFilterViewFreeOps()

const VecOwn<Node>& souffle::interpreter::ViewContext::getOuterFilterViewFreeOps ( )
inline

Return views for outer-most filter operations.


Definition at line 62 of file ViewContext.h.

Referenced by souffle::interpreter::Engine::execute().

◆ getOuterFilterViewOps()

const VecOwn<Node>& souffle::interpreter::ViewContext::getOuterFilterViewOps ( )
inline

Return outer-most filter operations.


Definition at line 57 of file ViewContext.h.

60  {

Referenced by souffle::interpreter::Engine::execute().

◆ getViewInfoForFilter()

std::vector<std::array<size_t, 3> >& souffle::interpreter::ViewContext::getViewInfoForFilter ( )
inline

Return Views information for outer filter operation.

Definition at line 72 of file ViewContext.h.

75  {

Referenced by souffle::interpreter::Engine::execute().

◆ getViewInfoForNested()

std::vector<std::array<size_t, 3> >& souffle::interpreter::ViewContext::getViewInfoForNested ( )
inline

Return Views information for nested operation.

Definition at line 77 of file ViewContext.h.

80  {

Referenced by souffle::interpreter::Engine::execute().

◆ getViewsInNestedOperation()

VecOwn<Node>& souffle::interpreter::ViewContext::getViewsInNestedOperation ( )
inline

Return nested operations.

Definition at line 67 of file ViewContext.h.

Field Documentation

◆ isParallel

bool souffle::interpreter::ViewContext::isParallel = false

If this context has information for parallel operation.


Definition at line 92 of file ViewContext.h.

Referenced by souffle::interpreter::Engine::execute().

◆ nestedViewOps

VecOwn<Node> souffle::interpreter::ViewContext::nestedViewOps
private

Vector of nested operations.

Definition at line 100 of file ViewContext.h.

◆ outerFilterViewFreeOps

VecOwn<Node> souffle::interpreter::ViewContext::outerFilterViewFreeOps
private

Vector of filter operations, no views required.

Definition at line 98 of file ViewContext.h.

◆ outerFilterViewOps

VecOwn<Node> souffle::interpreter::ViewContext::outerFilterViewOps
private

Vector of filter operation, views required.

Definition at line 96 of file ViewContext.h.

◆ viewInfoForFilter

std::vector<std::array<size_t, 3> > souffle::interpreter::ViewContext::viewInfoForFilter
private

Vector of View information in filter operations.

Definition at line 102 of file ViewContext.h.

◆ viewInfoForNested

std::vector<std::array<size_t, 3> > souffle::interpreter::ViewContext::viewInfoForNested
private

Vector of View information in nested operations.

Definition at line 104 of file ViewContext.h.


The documentation for this class was generated from the following file:
souffle::interpreter::ViewContext::outerFilterViewOps
VecOwn< Node > outerFilterViewOps
Vector of filter operation, views required.
Definition: ViewContext.h:96