]> granicus.if.org Git - postgresql/commitdiff
Improve Node vs Expr use a bit
authorPeter Eisentraut <peter_e@gmx.net>
Wed, 29 Mar 2017 01:55:58 +0000 (21:55 -0400)
committerPeter Eisentraut <peter_e@gmx.net>
Wed, 29 Mar 2017 01:59:23 +0000 (21:59 -0400)
Author: Mark Dilger <hornschnorter@gmail.com>

src/backend/catalog/partition.c

index f9fd1366e26adefe8d8bcb6b169b4c74619da838..ab891f6ef205ce346cdb1d8f9a0c7f6576b90a06 100644 (file)
@@ -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]));