From 8252d9085e6b1087cfb7c86f079a8c8b9cdcf44d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=80=E6=8C=83?= Date: Thu, 18 Feb 2021 20:36:39 +0800 Subject: [PATCH v3 2/2] Some hack for local testing only. --- src/backend/optimizer/path/allpaths.c | 40 +++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/backend/optimizer/path/allpaths.c b/src/backend/optimizer/path/allpaths.c index 709d2f82ca..f01d1bc33f 100644 --- a/src/backend/optimizer/path/allpaths.c +++ b/src/backend/optimizer/path/allpaths.c @@ -176,6 +176,25 @@ make_one_rel(PlannerInfo *root, List *joinlist) root->all_baserels = bms_add_member(root->all_baserels, brel->relid); } + { + ListCell *lc; + foreach(lc, root->processed_tlist) + { + TargetEntry *tle = lfirst_node(TargetEntry, lc); + if (IsA(tle->expr, Var)) + { + Var *var = (Var *) tle->expr; + // (void)var; + elog(INFO, "rt=%d attno=%d nullable: %d", + var->varno, + var->varattno, + is_var_nullable(root, var) + ); + } + } + } + + /* Mark base rels as to whether we care about fast-start plans */ set_base_rel_consider_startup(root); @@ -1083,6 +1102,27 @@ set_append_rel_size(PlannerInfo *root, RelOptInfo *rel, childrel->notnullattrs = bms_add_member(childrel->notnullattrs, child_attno - FirstLowInvalidHeapAttributeNumber); + + { + ListCell *lc; + foreach(lc, childrel->reltarget->exprs) + { + if (IsA(lfirst(lc), Var)) + { + Var *var = (Var *)lfirst(lc); + + char *colname = strVal( + lfirst(list_nth_cell(root->simple_rte_array[var->varno]->eref->colnames, var->varattno - 1))); + elog(INFO, "parentRT: %d childRT: %d colname: %s varattno: %d, nullable: %d", + rel->relid, + childrel->relid, + colname, + var->varattno, + is_var_nullable(root, var) + ); + } + } + } } /* -- 2.21.0