From 875abbd2f2ed8fd31f30808bbfe7dada0bbd1a5a Mon Sep 17 00:00:00 2001
From: Richard Guo <riguo@pivotal.io>
Date: Wed, 29 Apr 2020 11:32:23 +0000
Subject: [PATCH v1] Remove unnecessary relabel stripping

---
 src/backend/optimizer/path/costsize.c | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/src/backend/optimizer/path/costsize.c b/src/backend/optimizer/path/costsize.c
index f5f9bae..b10b14a 100644
--- a/src/backend/optimizer/path/costsize.c
+++ b/src/backend/optimizer/path/costsize.c
@@ -1842,9 +1842,6 @@ cost_incremental_sort(Path *path,
 	 */
 	foreach(l, pathkeys)
 	{
-		Node	   *expr;
-		Relids		varnos;
-
 		PathKey    *key = (PathKey *) lfirst(l);
 		EquivalenceMember *member = (EquivalenceMember *)
 		linitial(key->pk_eclass->ec_members);
@@ -1853,14 +1850,7 @@ cost_incremental_sort(Path *path,
 		 * Check if the expression contains Var with "varno 0" so that we
 		 * don't call estimate_num_groups in that case.
 		 */
-		expr = (Node *) member->em_expr;
-
-		if (IsA(expr, RelabelType))
-			expr = (Node *) ((RelabelType *) expr)->arg;
-
-		varnos = pull_varnos(expr);
-
-		if (bms_is_member(0, varnos))
+		if (bms_is_member(0, pull_varnos((Node *) member->em_expr)))
 		{
 			unknown_varno = true;
 			break;
-- 
2.7.4

