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::TableFunctionInitInput Struct Reference
Collaboration diagram for duckdb::TableFunctionInitInput:

Public Member Functions

 TableFunctionInitInput (optional_ptr< const FunctionData > bind_data_p, vector< column_t > column_ids_p, const vector< idx_t > &projection_ids_p, optional_ptr< TableFilterSet > filters_p, optional_ptr< SampleOptions > sample_options_p=nullptr, optional_ptr< const PhysicalOperator > op_p=nullptr)
 
 TableFunctionInitInput (optional_ptr< const FunctionData > bind_data_p, vector< ColumnIndex > column_indexes_p, const vector< idx_t > &projection_ids_p, optional_ptr< TableFilterSet > filters_p, optional_ptr< SampleOptions > sample_options_p=nullptr, optional_ptr< const PhysicalOperator > op_p=nullptr)
 
bool CanRemoveFilterColumns () const
 

Public Attributes

optional_ptr< const FunctionData > bind_data
 
vector< column_t > column_ids
 
vector< ColumnIndex > column_indexes
 
const vector< idx_t > projection_ids
 
optional_ptr< TableFilterSet > filters
 
optional_ptr< SampleOptions > sample_options
 
optional_ptr< const PhysicalOperator > op
 

Constructor & Destructor Documentation

◆ TableFunctionInitInput() [1/2]

duckdb::TableFunctionInitInput::TableFunctionInitInput ( optional_ptr< const FunctionData >  bind_data_p,
vector< column_t >  column_ids_p,
const vector< idx_t > &  projection_ids_p,
optional_ptr< TableFilterSet >  filters_p,
optional_ptr< SampleOptions >  sample_options_p = nullptr,
optional_ptr< const PhysicalOperator >  op_p = nullptr 
)
inline
26264 : bind_data(bind_data_p), column_ids(std::move(column_ids_p)), projection_ids(projection_ids_p),
26265 filters(filters_p), sample_options(sample_options_p), op(op_p) {
26266 for (auto &col_id : column_ids) {
26267 column_indexes.emplace_back(col_id);
26268 }
26269 }

◆ TableFunctionInitInput() [2/2]

duckdb::TableFunctionInitInput::TableFunctionInitInput ( optional_ptr< const FunctionData >  bind_data_p,
vector< ColumnIndex >  column_indexes_p,
const vector< idx_t > &  projection_ids_p,
optional_ptr< TableFilterSet >  filters_p,
optional_ptr< SampleOptions >  sample_options_p = nullptr,
optional_ptr< const PhysicalOperator >  op_p = nullptr 
)
inline
26275 : bind_data(bind_data_p), column_indexes(std::move(column_indexes_p)), projection_ids(projection_ids_p),
26276 filters(filters_p), sample_options(sample_options_p), op(op_p) {
26277 for (auto &col_id : column_indexes) {
26278 column_ids.emplace_back(col_id.GetPrimaryIndex());
26279 }
26280 }

Member Function Documentation

◆ CanRemoveFilterColumns()

bool duckdb::TableFunctionInitInput::CanRemoveFilterColumns ( ) const
inline
26290 {
26291 if (projection_ids.empty()) {
26292 // No filter columns to remove.
26293 return false;
26294 }
26295 if (projection_ids.size() == column_ids.size()) {
26296 // Filter column is used in remainder of plan, so we cannot remove it.
26297 return false;
26298 }
26299 // Fewer columns need to be projected out than that we scan.
26300 return true;
26301 }

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