diff --git a/src/backend/catalog/partition.c b/src/backend/catalog/partition.c
index f9fd1366e26adefe8d8bcb6b169b4c74619da838..ab891f6ef205ce346cdb1d8f9a0c7f6576b90a06 100644
--- a/src/backend/catalog/partition.c
+++ b/src/backend/catalog/partition.c
@@ -1159,7 +1159,7 @@ get_qual_for_list(PartitionKey key, PartitionBoundSpec *spec)
 	ListCell   *cell,
 			   *prev,
 			   *next;
-	Node	   *keyCol;
+	Expr	   *keyCol;
 	Oid			operoid;
 	bool		need_relabel,
 				list_has_null = false;
@@ -1168,14 +1168,14 @@ get_qual_for_list(PartitionKey key, PartitionBoundSpec *spec)
 
 	/* Left operand is either a simple Var or arbitrary expression */
 	if (key->partattrs[0] != 0)
-		keyCol = (Node *) makeVar(1,
+		keyCol = (Expr *) makeVar(1,
 								  key->partattrs[0],
 								  key->parttypid[0],
 								  key->parttypmod[0],
 								  key->parttypcoll[0],
 								  0);
 	else
-		keyCol = (Node *) copyObject(linitial(key->partexprs));
+		keyCol = (Expr *) copyObject(linitial(key->partexprs));
 
 	/*
 	 * We must remove any NULL value in the list; we handle it separately
@@ -1205,7 +1205,7 @@ get_qual_for_list(PartitionKey key, PartitionBoundSpec *spec)
 		 * expressions
 		 */
 		nulltest1 = makeNode(NullTest);
-		nulltest1->arg = (Expr *) keyCol;
+		nulltest1->arg = keyCol;
 		nulltest1->nulltesttype = IS_NOT_NULL;
 		nulltest1->argisrow = false;
 		nulltest1->location = -1;
@@ -1216,7 +1216,7 @@ get_qual_for_list(PartitionKey key, PartitionBoundSpec *spec)
 		 * Gin up a col IS NULL test that will be OR'd with other expressions
 		 */
 		nulltest2 = makeNode(NullTest);
-		nulltest2->arg = (Expr *) keyCol;
+		nulltest2->arg = keyCol;
 		nulltest2->nulltesttype = IS_NULL;
 		nulltest2->argisrow = false;
 		nulltest2->location = -1;
@@ -1237,7 +1237,7 @@ get_qual_for_list(PartitionKey key, PartitionBoundSpec *spec)
 	operoid = get_partition_operator(key, 0, BTEqualStrategyNumber,
 									 &need_relabel);
 	if (need_relabel || key->partcollation[0] != key->parttypcoll[0])
-		keyCol = (Node *) makeRelabelType((Expr *) keyCol,
+		keyCol = (Expr *) makeRelabelType(keyCol,
 										  key->partopcintype[0],
 										  -1,
 										  key->partcollation[0],
@@ -1291,7 +1291,7 @@ get_qual_for_range(PartitionKey key, PartitionBoundSpec *spec)
 	{
 		PartitionRangeDatum *ldatum = lfirst(cell1),
 				   *udatum = lfirst(cell2);
-		Node	   *keyCol;
+		Expr	   *keyCol;
 		Const	   *lower_val = NULL,
 				   *upper_val = NULL;
 		EState	   *estate;
@@ -1307,7 +1307,7 @@ get_qual_for_range(PartitionKey key, PartitionBoundSpec *spec)
 		/* Left operand */
 		if (key->partattrs[i] != 0)
 		{
-			keyCol = (Node *) makeVar(1,
+			keyCol = (Expr *) makeVar(1,
 									  key->partattrs[i],
 									  key->parttypid[i],
 									  key->parttypmod[i],
@@ -1316,7 +1316,7 @@ get_qual_for_range(PartitionKey key, PartitionBoundSpec *spec)
 		}
 		else
 		{
-			keyCol = (Node *) copyObject(lfirst(partexprs_item));
+			keyCol = copyObject(lfirst(partexprs_item));
 			partexprs_item = lnext(partexprs_item);
 		}
 
@@ -1329,7 +1329,7 @@ get_qual_for_range(PartitionKey key, PartitionBoundSpec *spec)
 		if (!IsA(keyCol, Var))
 		{
 			nulltest = makeNode(NullTest);
-			nulltest->arg = (Expr *) keyCol;
+			nulltest->arg = keyCol;
 			nulltest->nulltesttype = IS_NOT_NULL;
 			nulltest->argisrow = false;
 			nulltest->location = -1;
@@ -1384,7 +1384,7 @@ get_qual_for_range(PartitionKey key, PartitionBoundSpec *spec)
 					elog(ERROR, "invalid range bound specification");
 
 				if (need_relabel || key->partcollation[i] != key->parttypcoll[i])
-					keyCol = (Node *) makeRelabelType((Expr *) keyCol,
+					keyCol = (Expr *) makeRelabelType(keyCol,
 													  key->partopcintype[i],
 													  -1,
 													  key->partcollation[i],
@@ -1393,7 +1393,7 @@ get_qual_for_range(PartitionKey key, PartitionBoundSpec *spec)
 								 make_opclause(operoid,
 											   BOOLOID,
 											   false,
-											   (Expr *) keyCol,
+											   keyCol,
 											   (Expr *) lower_val,
 											   InvalidOid,
 											   key->partcollation[i]));
@@ -1415,7 +1415,7 @@ get_qual_for_range(PartitionKey key, PartitionBoundSpec *spec)
 											 &need_relabel);
 
 			if (need_relabel || key->partcollation[i] != key->parttypcoll[i])
-				keyCol = (Node *) makeRelabelType((Expr *) keyCol,
+				keyCol = (Expr *) makeRelabelType(keyCol,
 												  key->partopcintype[i],
 												  -1,
 												  key->partcollation[i],
@@ -1424,7 +1424,7 @@ get_qual_for_range(PartitionKey key, PartitionBoundSpec *spec)
 							 make_opclause(operoid,
 										   BOOLOID,
 										   false,
-										   (Expr *) keyCol,
+										   keyCol,
 										   (Expr *) lower_val,
 										   InvalidOid,
 										   key->partcollation[i]));
@@ -1437,7 +1437,7 @@ get_qual_for_range(PartitionKey key, PartitionBoundSpec *spec)
 											 &need_relabel);
 
 			if (need_relabel || key->partcollation[i] != key->parttypcoll[i])
-				keyCol = (Node *) makeRelabelType((Expr *) keyCol,
+				keyCol = (Expr *) makeRelabelType(keyCol,
 												  key->partopcintype[i],
 												  -1,
 												  key->partcollation[i],
@@ -1447,7 +1447,7 @@ get_qual_for_range(PartitionKey key, PartitionBoundSpec *spec)
 							 make_opclause(operoid,
 										   BOOLOID,
 										   false,
-										   (Expr *) keyCol,
+										   keyCol,
 										   (Expr *) upper_val,
 										   InvalidOid,
 										   key->partcollation[i]));