19 #include <unordered_set>
29 JoinInfo(
const std::vector<std::shared_ptr<Analyzer::BinOper>>& equi_join_tautologies,
30 const std::vector<std::shared_ptr<HashJoin>>& join_hash_tables)
34 std::vector<std::shared_ptr<Analyzer::BinOper>>
47 const std::vector<InputTableInfo>& query_infos,
49 const Executor* executor)
51 ,
join_info_({std::vector<std::shared_ptr<Analyzer::BinOper>>{}, {}})
62 std::unordered_map<size_t, std::vector<std::shared_ptr<Analyzer::Expr>>>
72 const std::list<std::shared_ptr<const InputColDescriptor>>& global_col_ids);
89 return deleted_cols_it->second;
Defines data structures for the semantic analysis phase of query processing.
std::list< std::shared_ptr< Analyzer::Expr > > simple_quals_
std::unordered_map< size_t, std::vector< std::shared_ptr< Analyzer::Expr > > > left_join_non_hashtable_quals_
std::unordered_map< shared::TableKey, const ColumnDescriptor * > DeletedColumnsMap
std::unordered_map< InputColDescriptor, size_t > global_to_local_col_ids_
std::unordered_set< std::shared_ptr< Analyzer::Expr >> HoistedFiltersSet
JoinInfo(const std::vector< std::shared_ptr< Analyzer::BinOper >> &equi_join_tautologies, const std::vector< std::shared_ptr< HashJoin >> &join_hash_tables)
void addNonHashtableQualForLeftJoin(size_t idx, std::shared_ptr< Analyzer::Expr > expr)
std::unordered_set< size_t > sharded_range_table_indices_
const Executor * executor_
std::vector< int64_t > init_agg_vals_
std::vector< std::shared_ptr< Analyzer::BinOper > > equi_join_tautologies_
int getLocalColumnId(const Analyzer::ColumnVar *col_var, const bool fetch_column)
bool isLazyFetchColumn(const Analyzer::Expr *target_expr) const
bool isLazyFetchColumn(const InputColDescriptor &col_desc)
PlanState(const bool allow_lazy_fetch, const std::vector< InputTableInfo > &query_infos, const DeletedColumnsMap &deleted_columns, const Executor *executor)
std::set< shared::ColumnKey > columns_to_not_fetch_
const std::vector< InputTableInfo > & query_infos_
specifies the content in-memory of a row in the column metadata table
void allocateLocalColumnIds(const std::list< std::shared_ptr< const InputColDescriptor >> &global_col_ids)
const ColumnDescriptor * getDeletedColForTable(const shared::TableKey &table_key)
Executor(const ExecutorId id, Data_Namespace::DataMgr *data_mgr, const size_t block_size_x, const size_t grid_size_x, const size_t max_gpu_slab_size, const std::string &debug_dir, const std::string &debug_file)
void addSimpleQual(std::shared_ptr< Analyzer::Expr > simple_qual)
const DeletedColumnsMap deleted_columns_
HoistedFiltersSet hoisted_filters_
std::list< std::shared_ptr< Analyzer::Expr > > getSimpleQuals() const
std::set< shared::ColumnKey > columns_to_fetch_
std::vector< Analyzer::Expr * > target_exprs_
std::vector< std::shared_ptr< HashJoin > > join_hash_tables_