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) {
std::unordered_map< InputColDescriptor, size_t > global_to_local_col_ids_
std::set< std::pair< TableId, ColumnId > > columns_to_fetch_
const Executor * executor_
std::set< std::pair< TableId, ColumnId > > columns_to_not_fetch_
int getLocalColumnId(const Analyzer::ColumnVar *col_var, const bool fetch_column)
void allocateLocalColumnIds(const std::list< std::shared_ptr< const InputColDescriptor >> &global_col_ids)
int get_column_id() const
bool isLazyFetchColumn(const Analyzer::Expr *target_expr)
const ColumnDescriptor * get_column_descriptor(const int col_id, const int table_id, const Catalog_Namespace::Catalog &cat)