]> granicus.if.org Git - postgresql/blobdiff - src/backend/nodes/copyfuncs.c
Add CASCADE option to TRUNCATE. Joachim Wieland
[postgresql] / src / backend / nodes / copyfuncs.c
index a5efda5a30b413f4aac18b58368657bbdb271446..1e79857d80739d26ae18721521c4b8ed4866273b 100644 (file)
@@ -15,7 +15,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/nodes/copyfuncs.c,v 1.317 2005/11/14 23:54:12 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/nodes/copyfuncs.c,v 1.328 2006/03/03 03:30:52 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -325,7 +325,7 @@ _copyTidScan(TidScan *from)
        /*
         * copy remainder of node
         */
-       COPY_NODE_FIELD(tideval);
+       COPY_NODE_FIELD(tidquals);
 
        return newnode;
 }
@@ -862,10 +862,8 @@ _copySubLink(SubLink *from)
        SubLink    *newnode = makeNode(SubLink);
 
        COPY_SCALAR_FIELD(subLinkType);
-       COPY_SCALAR_FIELD(useOr);
-       COPY_NODE_FIELD(lefthand);
+       COPY_NODE_FIELD(testexpr);
        COPY_NODE_FIELD(operName);
-       COPY_NODE_FIELD(operOids);
        COPY_NODE_FIELD(subselect);
 
        return newnode;
@@ -880,8 +878,7 @@ _copySubPlan(SubPlan *from)
        SubPlan    *newnode = makeNode(SubPlan);
 
        COPY_SCALAR_FIELD(subLinkType);
-       COPY_SCALAR_FIELD(useOr);
-       COPY_NODE_FIELD(exprs);
+       COPY_NODE_FIELD(testexpr);
        COPY_NODE_FIELD(paramIds);
        COPY_NODE_FIELD(plan);
        COPY_SCALAR_FIELD(plan_id);
@@ -1033,6 +1030,23 @@ _copyRowExpr(RowExpr *from)
        return newnode;
 }
 
+/*
+ * _copyRowCompareExpr
+ */
+static RowCompareExpr *
+_copyRowCompareExpr(RowCompareExpr *from)
+{
+       RowCompareExpr    *newnode = makeNode(RowCompareExpr);
+
+       COPY_SCALAR_FIELD(rctype);
+       COPY_NODE_FIELD(opnos);
+       COPY_NODE_FIELD(opclasses);
+       COPY_NODE_FIELD(largs);
+       COPY_NODE_FIELD(rargs);
+
+       return newnode;
+}
+
 /*
  * _copyCoalesceExpr
  */
@@ -1277,6 +1291,22 @@ _copyRestrictInfo(RestrictInfo *from)
        return newnode;
 }
 
+/*
+ * _copyOuterJoinInfo
+ */
+static OuterJoinInfo *
+_copyOuterJoinInfo(OuterJoinInfo *from)
+{
+       OuterJoinInfo *newnode = makeNode(OuterJoinInfo);
+
+       COPY_BITMAPSET_FIELD(min_lefthand);
+       COPY_BITMAPSET_FIELD(min_righthand);
+       COPY_SCALAR_FIELD(is_full_join);
+       COPY_SCALAR_FIELD(lhs_strict);
+
+       return newnode;
+}
+
 /*
  * _copyInClauseInfo
  */
@@ -1292,6 +1322,25 @@ _copyInClauseInfo(InClauseInfo *from)
        return newnode;
 }
 
+/*
+ * _copyAppendRelInfo
+ */
+static AppendRelInfo *
+_copyAppendRelInfo(AppendRelInfo *from)
+{
+       AppendRelInfo *newnode = makeNode(AppendRelInfo);
+
+       COPY_SCALAR_FIELD(parent_relid);
+       COPY_SCALAR_FIELD(child_relid);
+       COPY_SCALAR_FIELD(parent_reltype);
+       COPY_SCALAR_FIELD(child_reltype);
+       COPY_NODE_FIELD(col_mappings);
+       COPY_NODE_FIELD(translated_vars);
+       COPY_SCALAR_FIELD(parent_reloid);
+
+       return newnode;
+}
+
 /* ****************************************************************
  *                                     parsenodes.h copy functions
  * ****************************************************************
@@ -1613,6 +1662,8 @@ _copyQuery(Query *from)
        COPY_SCALAR_FIELD(resultRelation);
        COPY_NODE_FIELD(into);
        COPY_SCALAR_FIELD(intoHasOids);
+       COPY_SCALAR_FIELD(intoOnCommit);
+       COPY_STRING_FIELD(intoTableSpaceName);
        COPY_SCALAR_FIELD(hasAggs);
        COPY_SCALAR_FIELD(hasSubLinks);
        COPY_NODE_FIELD(rtable);
@@ -1680,6 +1731,8 @@ _copySelectStmt(SelectStmt *from)
        COPY_NODE_FIELD(into);
        COPY_NODE_FIELD(intoColNames);
        COPY_SCALAR_FIELD(intoHasOids);
+       COPY_SCALAR_FIELD(intoOnCommit);
+       COPY_STRING_FIELD(intoTableSpaceName);
        COPY_NODE_FIELD(targetList);
        COPY_NODE_FIELD(fromClause);
        COPY_NODE_FIELD(whereClause);
@@ -1897,6 +1950,7 @@ _copyDropStmt(DropStmt *from)
        COPY_NODE_FIELD(objects);
        COPY_SCALAR_FIELD(removeType);
        COPY_SCALAR_FIELD(behavior);
+       COPY_SCALAR_FIELD(missing_ok);
 
        return newnode;
 }
@@ -1907,6 +1961,7 @@ _copyTruncateStmt(TruncateStmt *from)
        TruncateStmt *newnode = makeNode(TruncateStmt);
 
        COPY_NODE_FIELD(relations);
+       COPY_SCALAR_FIELD(behavior);
 
        return newnode;
 }
@@ -2260,6 +2315,7 @@ _copyDropdbStmt(DropdbStmt *from)
        DropdbStmt *newnode = makeNode(DropdbStmt);
 
        COPY_STRING_FIELD(dbname);
+       COPY_SCALAR_FIELD(missing_ok);
 
        return newnode;
 }
@@ -2467,6 +2523,7 @@ _copyDropRoleStmt(DropRoleStmt *from)
        DropRoleStmt *newnode = makeNode(DropRoleStmt);
 
        COPY_NODE_FIELD(roles);
+       COPY_SCALAR_FIELD(missing_ok);
 
        return newnode;
 }
@@ -2579,6 +2636,10 @@ _copyExecuteStmt(ExecuteStmt *from)
 
        COPY_STRING_FIELD(name);
        COPY_NODE_FIELD(into);
+       COPY_SCALAR_FIELD(into_contains_oids);
+       COPY_SCALAR_FIELD(into_has_oids);
+       COPY_SCALAR_FIELD(into_on_commit);
+       COPY_STRING_FIELD(into_tbl_space);
        COPY_NODE_FIELD(params);
 
        return newnode;
@@ -2594,6 +2655,27 @@ _copyDeallocateStmt(DeallocateStmt *from)
        return newnode;
 }
 
+static DropOwnedStmt *
+_copyDropOwnedStmt(DropOwnedStmt * from)
+{
+       DropOwnedStmt *newnode = makeNode(DropOwnedStmt);
+
+       COPY_NODE_FIELD(roles);
+       COPY_SCALAR_FIELD(behavior);
+
+       return newnode;
+}
+
+static ReassignOwnedStmt *
+_copyReassignOwnedStmt(ReassignOwnedStmt * from)
+{
+       ReassignOwnedStmt *newnode = makeNode(ReassignOwnedStmt);
+
+       COPY_NODE_FIELD(roles);
+       COPY_SCALAR_FIELD(newrole);
+
+       return newnode;
+}
 
 /* ****************************************************************
  *                                     pg_list.h copy functions
@@ -2837,6 +2919,9 @@ copyObject(void *from)
                case T_RowExpr:
                        retval = _copyRowExpr(from);
                        break;
+               case T_RowCompareExpr:
+                       retval = _copyRowCompareExpr(from);
+                       break;
                case T_CoalesceExpr:
                        retval = _copyCoalesceExpr(from);
                        break;
@@ -2883,9 +2968,15 @@ copyObject(void *from)
                case T_RestrictInfo:
                        retval = _copyRestrictInfo(from);
                        break;
+               case T_OuterJoinInfo:
+                       retval = _copyOuterJoinInfo(from);
+                       break;
                case T_InClauseInfo:
                        retval = _copyInClauseInfo(from);
                        break;
+               case T_AppendRelInfo:
+                       retval = _copyAppendRelInfo(from);
+                       break;
 
                        /*
                         * VALUE NODES
@@ -3145,6 +3236,12 @@ copyObject(void *from)
                case T_DeallocateStmt:
                        retval = _copyDeallocateStmt(from);
                        break;
+               case T_DropOwnedStmt:
+                       retval = _copyDropOwnedStmt(from);
+                       break;
+               case T_ReassignOwnedStmt:
+                       retval = _copyReassignOwnedStmt(from);
+                       break;
 
                case T_A_Expr:
                        retval = _copyAExpr(from);