Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
duckdb::Pipeline Class Reference

The Pipeline class represents an execution pipeline starting at a. More...

#include <duckdb.hpp>

Inheritance diagram for duckdb::Pipeline:
Collaboration diagram for duckdb::Pipeline:

Public Member Functions

 Pipeline (Executor &execution_context)
 
ClientContextGetClientContext ()
 
void AddDependency (shared_ptr< Pipeline > &pipeline)
 
vector< weak_ptr< Pipeline > > GetDependencies () const
 
void Ready ()
 
void Reset ()
 
void ResetSink ()
 
void ResetSource (bool force)
 
void ClearSource ()
 
void Schedule (shared_ptr< Event > &event)
 
void PrepareFinalize ()
 
string ToString () const
 
void Print () const
 
void PrintDependencies () const
 
bool GetProgress (ProgressData &progress_data)
 Returns query progress.
 
vector< reference< PhysicalOperator > > GetOperators ()
 Returns a list of all operators (including source and sink) involved in this pipeline.
 
vector< const_reference< PhysicalOperator > > GetOperators () const
 
const vector< reference< PhysicalOperator > > & GetIntermediateOperators () const
 
optional_ptr< PhysicalOperatorGetSink ()
 
optional_ptr< PhysicalOperatorGetSource ()
 
bool IsOrderDependent () const
 Returns whether any of the operators in the pipeline care about preserving order.
 
idx_t RegisterNewBatchIndex ()
 Registers a new batch index for a pipeline executor - returns the current minimum batch index.
 
idx_t UpdateBatchIndex (idx_t old_index, idx_t new_index)
 Updates the batch index of a pipeline (and returns the new minimum batch index)
 
- Public Member Functions inherited from duckdb::enable_shared_from_this< Pipeline >
shared_ptr< Pipelineshared_from_this ()
 
shared_ptr< Pipeline constshared_from_this () const
 

Public Attributes

Executorexecutor
 

Private Member Functions

void ScheduleSequentialTask (shared_ptr< Event > &event)
 
bool LaunchScanTasks (shared_ptr< Event > &event, idx_t max_threads)
 
bool ScheduleParallel (shared_ptr< Event > &event)
 

Private Attributes

bool ready
 Whether or not the pipeline has been readied.
 
atomic< bool > initialized
 Whether or not the pipeline has been initialized.
 
optional_ptr< PhysicalOperatorsource
 The source of this pipeline.
 
vector< reference< PhysicalOperator > > operators
 The chain of intermediate operators.
 
optional_ptr< PhysicalOperatorsink
 The sink (i.e. destination) for data; this is e.g. a hash table to-be-built.
 
unique_ptr< GlobalSourceStatesource_state
 The global source state.
 
vector< weak_ptr< Pipeline > > parents
 The parent pipelines (i.e. pipelines that are dependent on this pipeline to finish)
 
vector< weak_ptr< Pipeline > > dependencies
 The dependencies of this pipeline.
 
idx_t base_batch_index = 0
 The base batch index of this pipeline.
 
mutex batch_lock
 Lock for accessing the set of batch indexes.
 
multiset< idx_tbatch_indexes
 

Friends

class Executor
 
class PipelineExecutor
 
class PipelineEvent
 
class PipelineFinishEvent
 
class PipelineBuildState
 
class MetaPipeline
 

Additional Inherited Members

- Protected Member Functions inherited from duckdb::enable_shared_from_this< Pipeline >
 enable_shared_from_this (enable_shared_from_this const &) noexcept
 
enable_shared_from_thisoperator= (enable_shared_from_this const &) noexcept
 

Detailed Description

The Pipeline class represents an execution pipeline starting at a.

Member Function Documentation

◆ GetSink()

optional_ptr< PhysicalOperator > duckdb::Pipeline::GetSink ( )
inline
26908 {
26909 return sink;
26910 }
optional_ptr< PhysicalOperator > sink
The sink (i.e. destination) for data; this is e.g. a hash table to-be-built.
Definition duckdb.hpp:26935

◆ GetSource()

optional_ptr< PhysicalOperator > duckdb::Pipeline::GetSource ( )
inline
26912 {
26913 return source;
26914 }
optional_ptr< PhysicalOperator > source
The source of this pipeline.
Definition duckdb.hpp:26931

Member Data Documentation

◆ batch_indexes

multiset<idx_t> duckdb::Pipeline::batch_indexes
private

The set of batch indexes that are currently being processed Despite batch indexes being unique - this is a multiset The reason is that when we start a new pipeline we insert the current minimum batch index as a placeholder Which leads to duplicate entries in the set of active batch indexes


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