25 if (!do_not_fetch_column || dynamic_cast<const Analyzer::Var*>(do_not_fetch_column)) {
28 if (do_not_fetch_column->get_table_id() > 0) {
30 do_not_fetch_column->get_table_id(),
32 if (cd->isVirtualCol) {
36 std::set<std::pair<int, int>> intersect;
41 std::inserter(intersect, intersect.begin()));
42 if (!intersect.empty()) {
46 do_not_fetch_column->get_column_id())) ==
51 const std::list<std::shared_ptr<const InputColDescriptor>>& global_col_ids) {
52 for (
const auto& col_id : global_col_ids) {
63 const bool fetch_column) {
78 std::shared_ptr<Analyzer::Expr> expr) {
81 std::vector<std::shared_ptr<Analyzer::Expr>> expr_vec{expr};
84 it->second.emplace_back(expr);
std::unordered_map< size_t, std::vector< std::shared_ptr< Analyzer::Expr > > > left_join_non_hashtable_quals_
std::unordered_map< InputColDescriptor, size_t > global_to_local_col_ids_
std::set< std::pair< TableId, ColumnId > > columns_to_fetch_
void addNonHashtableQualForLeftJoin(size_t idx, std::shared_ptr< Analyzer::Expr > expr)
const Executor * executor_
std::set< std::pair< TableId, ColumnId > > columns_to_not_fetch_
int getLocalColumnId(const Analyzer::ColumnVar *col_var, const bool fetch_column)
bool isLazyFetchColumn(const Analyzer::Expr *target_expr) const
void allocateLocalColumnIds(const std::list< std::shared_ptr< const InputColDescriptor >> &global_col_ids)
int get_column_id() const
const ColumnDescriptor * get_column_descriptor(const int col_id, const int table_id, const Catalog_Namespace::Catalog &cat)