aboutsummaryrefslogtreecommitdiff
path: root/src/include/nodes/parsenodes.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/nodes/parsenodes.h')
-rw-r--r--src/include/nodes/parsenodes.h23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h
index 67db2fe3e96..e832ab52c59 100644
--- a/src/include/nodes/parsenodes.h
+++ b/src/include/nodes/parsenodes.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: parsenodes.h,v 1.122 2000/11/24 20:16:40 petere Exp $
+ * $Id: parsenodes.h,v 1.123 2001/01/05 06:34:21 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -89,6 +89,13 @@ typedef struct Query
} Query;
+typedef enum InhOption
+{
+ INH_NO, /* Do NOT scan child tables */
+ INH_YES, /* DO scan child tables */
+ INH_DEFAULT /* Use current SQL_inheritance option */
+} InhOption;
+
/*****************************************************************************
* Other Statements (no optimizations required)
*
@@ -100,9 +107,11 @@ typedef struct Query
/* ----------------------
* Alter Table
+ *
+ * The fields are used in different ways by the different variants of
+ * this command.
* ----------------------
*/
-/* The fields are used in different ways by the different variants of this command */
typedef struct AlterTableStmt
{
NodeTag type;
@@ -111,7 +120,7 @@ typedef struct AlterTableStmt
* E = add toast table,
* U = change owner */
char *relname; /* table to work on */
- bool inh; /* recursively on children? */
+ InhOption inhOpt; /* recursively act on children? */
char *name; /* column or constraint name to act on, or new owner */
Node *def; /* definition of new column or constraint */
int behavior; /* CASCADE or RESTRICT drop behavior */
@@ -554,7 +563,7 @@ typedef struct RenameStmt
{
NodeTag type;
char *relname; /* relation to be altered */
- bool inh; /* recursively alter children? */
+ InhOption inhOpt; /* recursively act on children? */
char *column; /* if NULL, rename the relation name to
* the new name. Otherwise, rename this
* column name. */
@@ -807,7 +816,7 @@ typedef struct DeleteStmt
NodeTag type;
char *relname; /* relation to delete from */
Node *whereClause; /* qualifications */
- bool inh; /* delete from subclasses */
+ InhOption inhOpt; /* recursively act on children? */
} DeleteStmt;
/* ----------------------
@@ -821,7 +830,7 @@ typedef struct UpdateStmt
List *targetList; /* the target list (of ResTarget) */
Node *whereClause; /* qualifications */
List *fromClause; /* the from clause */
- bool inh; /* update subclasses */
+ InhOption inhOpt; /* recursively act on children? */
} UpdateStmt;
/* ----------------------
@@ -1125,7 +1134,7 @@ typedef struct RangeVar
{
NodeTag type;
char *relname; /* the relation name */
- bool inh; /* expand rel by inheritance? */
+ InhOption inhOpt; /* expand rel by inheritance? */
Attr *name; /* optional table alias & column aliases */
} RangeVar;