From 8252d9085e6b1087cfb7c86f079a8c8b9cdcf44d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E4=B8=80=E6=8C=83?= <yizhi.fzh@alibaba-inc.com>
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

