| souffle
    2.0.2-371-g6315b36
    | 
 
 
 
Go to the documentation of this file.
   34 using RamPattern = std::pair<RamBound, RamBound>;
 
   48 class IndexScan : 
public IndexOperation {
 
   58             resQueryPattern.first.emplace_back(
i->clone());
 
   61             resQueryPattern.second.emplace_back(
i->clone());
 
   68     void print(std::ostream& os, 
int tabpos)
 const override {
 
   69         os << 
times(
" ", tabpos);
 
  
const std::string profileText
Text used by the profiler.
VecOwn< Expression > RamBound
Pattern type for lower/upper bound.
Operation & getOperation() const
Get nested operation.
const std::string relation
Search relation.
auto clone(const std::vector< A * > &xs)
detail::multiplying_printer< T > times(const T &value, unsigned num)
A utility printing a given value multiple times.
const std::string & getProfileText() const
Get profile text.
IndexScan(std::string rel, int ident, RamPattern queryPattern, Own< Operation > nested, std::string profileText="")
int getTupleId() const
Get identifier.
void printIndex(std::ostream &os) const
Helper method for printing.
Search for tuples of a relation matching a criteria.
void print(std::ostream &os, int tabpos) const override
Pretty print with indentation.
IndexScan * clone() const override
Create a clone (i.e.
RamPattern queryPattern
Values of index per column of table (if indexable)
std::pair< RamBound, RamBound > RamPattern
void rel(size_t limit, bool showLimit=true)
void print(std::ostream &os, int tabpos) const override
Pretty print with indentation.