Struct PlanState

struct PlanState

Public Types

using TableId = int
using ColumnId = int
using DeletedColumnsMap = std::unordered_map<TableId, const ColumnDescriptor *>
using HoistedFiltersSet = std::unordered_set<std::shared_ptr<Analyzer::Expr>>

Public Functions

PlanState(const bool allow_lazy_fetch, const std::vector<InputTableInfo> &query_infos, const DeletedColumnsMap &deleted_columns, const Executor *executor)
deleted_columns_(deleted_columns)
query_infos_(query_infos)
executor_(executor)
void allocateLocalColumnIds(const std::list<std::shared_ptr<const InputColDescriptor>> &global_col_ids)
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)
const ColumnDescriptor *getDeletedColForTable(const TableId table_id)
void addSimpleQual(std::shared_ptr<Analyzer::Expr> simple_qual)
std::list<std::shared_ptr<Analyzer::Expr>> getSimpleQuals() const
void addNonHashtableQualForLeftJoin(size_t idx, std::shared_ptr<Analyzer::Expr> expr)

Public Members

std::vector<int64_t> init_agg_vals_
std::vector<Analyzer::Expr *> target_exprs_
HoistedFiltersSet hoisted_filters_
std::unordered_map<InputColDescriptor, size_t> global_to_local_col_ids_
std::set<std::pair<TableId, ColumnId>> columns_to_fetch_
std::set<std::pair<TableId, ColumnId>> columns_to_not_fetch_
std::unordered_map<size_t, std::vector<std::shared_ptr<Analyzer::Expr>>> left_join_non_hashtable_quals_
bool allow_lazy_fetch_
JoinInfo join_info_
const DeletedColumnsMap deleted_columns_
const std::vector<InputTableInfo> &query_infos_
std::list<std::shared_ptr<Analyzer::Expr>> simple_quals_
const Executor *executor_