diff --git a/src/backend/columnar/columnar_customscan.c b/src/backend/columnar/columnar_customscan.c index fda726417..e1ac95de3 100644 --- a/src/backend/columnar/columnar_customscan.c +++ b/src/backend/columnar/columnar_customscan.c @@ -33,6 +33,7 @@ #include "optimizer/paths.h" #include "optimizer/plancat.h" #include "optimizer/restrictinfo.h" +#include "parser/parse_relation.h" #include "utils/builtins.h" #include "utils/lsyscache.h" #include "utils/relcache.h" @@ -1371,7 +1372,9 @@ AddColumnarScanPath(PlannerInfo *root, RelOptInfo *rel, RangeTblEntry *rte, cpath->custom_private = list_make2(NIL, NIL); } - int numberOfColumnsRead = bms_num_members(rte->selectedCols); + /* TODO: can perminfo be NULL??? */ + RTEPermissionInfo *perminfo = getRTEPermissionInfo(root->parse->rteperminfos, rte); + int numberOfColumnsRead = bms_num_members(perminfo->selectedCols); int numberOfClausesPushed = list_length(allClauses); CostColumnarScan(root, rel, rte->relid, cpath, numberOfColumnsRead, diff --git a/src/backend/columnar/columnar_metadata.c b/src/backend/columnar/columnar_metadata.c index dc5781bae..f7212bbe9 100644 --- a/src/backend/columnar/columnar_metadata.c +++ b/src/backend/columnar/columnar_metadata.c @@ -1722,7 +1722,7 @@ create_estate_for_relation(Relation rel) rte->relid = RelationGetRelid(rel); rte->relkind = rel->rd_rel->relkind; rte->rellockmode = AccessShareLock; - ExecInitRangeTable(estate, list_make1(rte)); + ExecInitRangeTable(estate, list_make1(rte), NIL /*TODO: fill properly*/); #if PG_VERSION_NUM < PG_VERSION_14 ResultRelInfo *resultRelInfo = makeNode(ResultRelInfo);