Use selectedCols from perminfo

Corresponding PG commit a61b1f74823c9c4f79c95226a461f1e7a367764b
pg16_kickoff
onderkalaci 2023-04-26 18:31:04 +03:00
parent 524bfc44e0
commit eca67443de
2 changed files with 5 additions and 2 deletions

View File

@ -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,

View File

@ -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);