OmniSciDB  a5dc49c757
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SortInfo Struct Reference

#include <RelAlgExecutionUnit.h>

Public Member Functions

 SortInfo ()
 
 algorithm (SortAlgorithm::Default)
 
 limit (std::nullopt)
 
 offset (0)
 
 SortInfo (const std::list< Analyzer::OrderEntry > &oe, const SortAlgorithm sa, std::optional< size_t > l, size_t o)
 
SortInfooperator= (const SortInfo &other)
 
size_t hashLimit () const
 

Static Public Member Functions

static SortInfo createFromSortNode (const RelSort *sort_node)
 

Public Attributes

std::list< Analyzer::OrderEntryorder_entries
 
SortAlgorithm algorithm
 
std::optional< size_t > limit
 
size_t offset
 

Detailed Description

Definition at line 117 of file RelAlgExecutionUnit.h.

Constructor & Destructor Documentation

SortInfo::SortInfo ( )
inline

Definition at line 118 of file RelAlgExecutionUnit.h.

119  : order_entries({})
std::list< Analyzer::OrderEntry > order_entries
SortInfo::SortInfo ( const std::list< Analyzer::OrderEntry > &  oe,
const SortAlgorithm  sa,
std::optional< size_t >  l,
size_t  o 
)
inline

Definition at line 124 of file RelAlgExecutionUnit.h.

128  : order_entries(oe), algorithm(sa), limit(l), offset(o) {}
SortAlgorithm algorithm
std::optional< size_t > limit
std::list< Analyzer::OrderEntry > order_entries

Member Function Documentation

SortInfo::algorithm ( SortAlgorithm::Default  )
static SortInfo SortInfo::createFromSortNode ( const RelSort sort_node)
inlinestatic

Definition at line 138 of file RelAlgExecutionUnit.h.

References RelSort::getLimit(), RelSort::getOffset(), RelSort::getOrderEntries(), and SpeculativeTopN.

Referenced by RelAlgExecutor::executeRelAlgStep(), and RaExecutionSequence::next().

138  {
139  return {sort_node->getOrderEntries(),
141  sort_node->getLimit(),
142  sort_node->getOffset()};
143  }
size_t getOffset() const
Definition: RelAlgDag.h:2228
std::list< Analyzer::OrderEntry > getOrderEntries() const
Definition: RelAlgDag.h:2264
std::optional< size_t > getLimit() const
Definition: RelAlgDag.h:2226

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

size_t SortInfo::hashLimit ( ) const
inline

Definition at line 145 of file RelAlgExecutionUnit.h.

References limit.

Referenced by QueryPlanDagExtractor::applyLimitClauseToCacheKey().

145  {
146  size_t hash{0};
147  boost::hash_combine(hash, limit.has_value());
148  boost::hash_combine(hash, limit.value_or(0));
149  return hash;
150  }
std::optional< size_t > limit

+ Here is the caller graph for this function:

SortInfo::limit ( std::nullopt  )
SortInfo::offset ( )
inline

Definition at line 122 of file RelAlgExecutionUnit.h.

122 {}
SortInfo& SortInfo::operator= ( const SortInfo other)
inline

Definition at line 130 of file RelAlgExecutionUnit.h.

References algorithm, limit, offset, and order_entries.

130  {
132  algorithm = other.algorithm;
133  limit = other.limit;
134  offset = other.offset;
135  return *this;
136  }
SortAlgorithm algorithm
std::optional< size_t > limit
std::list< Analyzer::OrderEntry > order_entries

Member Data Documentation


The documentation for this struct was generated from the following file: