25 if (!do_not_fetch_column || dynamic_cast<const Analyzer::Var*>(do_not_fetch_column)) {
28 const auto& column_key = do_not_fetch_column->
getColumnKey();
29 if (column_key.table_id > 0) {
31 if (cd->isVirtualCol) {
35 std::set<shared::ColumnKey> intersect;
40 std::inserter(intersect, intersect.begin()));
41 if (!intersect.empty()) {
48 const std::list<std::shared_ptr<const InputColDescriptor>>& global_col_ids) {
49 for (
const auto& col_id : global_col_ids) {
60 const bool fetch_column) {
65 global_col_key.column_id, global_col_key.table_id, global_col_key.db_id, scan_idx);
75 std::shared_ptr<Analyzer::Expr> expr) {
78 std::vector<std::shared_ptr<Analyzer::Expr>> expr_vec{expr};
81 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_
void addNonHashtableQualForLeftJoin(size_t idx, std::shared_ptr< Analyzer::Expr > expr)
int getLocalColumnId(const Analyzer::ColumnVar *col_var, const bool fetch_column)
bool isLazyFetchColumn(const Analyzer::Expr *target_expr) const
const ColumnDescriptor * get_column_descriptor(const shared::ColumnKey &column_key)
std::set< shared::ColumnKey > columns_to_not_fetch_
void allocateLocalColumnIds(const std::list< std::shared_ptr< const InputColDescriptor >> &global_col_ids)
const shared::ColumnKey & getColumnKey() const
std::set< shared::ColumnKey > columns_to_fetch_
int32_t get_rte_idx() const