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]));