19 #include <boost/graph/adjacency_list.hpp> 34 const std::vector<TargetMetaInfo>& targets_meta);
42 ExecutionResult(
const std::vector<PushedDownFilterInfo>& pushed_down_filter_info,
43 bool filter_push_down_enabled);
61 result_->setQueueTime(queue_time_ms);
105 adjacency_list<boost::setS, boost::vecS, boost::bidirectionalS, const RelAlgNode*>;
132 std::optional<size_t> nextStepId(
const bool after_broadcast)
const;
134 bool executionFinished()
const;
138 return descs_[idx].get();
141 size_t size()
const {
return descs_.size(); }
142 bool empty()
const {
return descs_.empty(); }
144 size_t totalDescriptorsCount()
const;
151 size_t current_vertex_ = 0;
152 size_t scan_count_ = 0;
162 size_t stepsToNextBroadcast()
const;
167 std::vector<std::unique_ptr<RaExecutionDesc>>
descs_;
const ExecutionResult & getResult() const
ExecutionResult & operator=(const ExecutionResult &that)
void setQueueTime(const int64_t queue_time_ms)
const std::vector< PushedDownFilterInfo > & getPushedDownFilterInfo() const
ResultSet(const std::vector< TargetInfo > &targets, const ExecutorDeviceType device_type, const QueryMemoryDescriptor &query_mem_desc, const std::shared_ptr< RowSetMemoryOwner > row_set_mem_owner, const Catalog_Namespace::Catalog *catalog, const unsigned block_size, const unsigned grid_size)
std::shared_ptr< ResultSet > ResultSetPtr
std::unordered_set< Vertex > joins_
std::string toString() const
std::vector< std::unique_ptr< RaExecutionDesc > > descs_
A container for relational algebra descriptors defining the execution order for a relational algebra ...
bool filter_push_down_enabled_
RaExecutionDesc(const RelAlgNode *body)
const ResultSetPtr & getDataPtr() const
std::vector< PushedDownFilterInfo > pushed_down_filter_info_
const std::shared_ptr< ResultSet > & getRows() const
std::vector< Vertex > ordering_
Descriptor for the result set buffer layout.
const std::vector< TargetMetaInfo > & getTargetsMeta() const
RaExecutionDesc * getDescriptor(size_t idx) const
Basic constructors and methods of the row set interface.
boost::adjacency_list< boost::setS, boost::vecS, boost::bidirectionalS, const RelAlgNode * > DAG
DAG::vertex_descriptor Vertex
std::vector< TargetMetaInfo > targets_meta_
const bool isFilterPushDownEnabled() const