Rename field "relkind" to "objtype" for CTAS and ALTER TABLE nodes
"relkind" normally refers to the char field from pg_class. However, in the parse nodes AlterTableStmt and CreateTableAsStmt, "relkind" was used for a field of type enum ObjectType, that could refer to other object types than those possible for a relkind. Such fields being usually named "objtype", switch the name in both structures to make things more consistent. Note that this led to some confusion in functions that also operate on a RangeTableEntry object, which also has a field named "relkind". This naming goes back to commit 09d4e96, where only OBJECT_TABLE and OBJECT_INDEX were used. This got extended later to use as well OBJECT_TYPE with e440e12, not really a relation kind. Author: Mark Dilger Reviewed-by: Daniel Gustafsson, Álvaro Herrera, Michael Paquier Discussion: https://postgr.es/m/609181AE-E399-47C7-9221-856E0F96BF93@enterprisedb.com
This commit is contained in:
parent
df646509f3
commit
cc35d8933a
@ -4709,7 +4709,7 @@ ATParseTransformCmd(List **wqueue, AlteredTableInfo *tab, Relation rel,
|
|||||||
-1);
|
-1);
|
||||||
atstmt->relation->inh = recurse;
|
atstmt->relation->inh = recurse;
|
||||||
atstmt->cmds = list_make1(cmd);
|
atstmt->cmds = list_make1(cmd);
|
||||||
atstmt->relkind = OBJECT_TABLE; /* needn't be picky here */
|
atstmt->objtype = OBJECT_TABLE; /* needn't be picky here */
|
||||||
atstmt->missing_ok = false;
|
atstmt->missing_ok = false;
|
||||||
|
|
||||||
/* Transform the AlterTableStmt */
|
/* Transform the AlterTableStmt */
|
||||||
@ -15594,7 +15594,7 @@ RangeVarCallbackForAlterRelation(const RangeVar *rv, Oid relid, Oid oldrelid,
|
|||||||
reltype = ((AlterObjectSchemaStmt *) stmt)->objectType;
|
reltype = ((AlterObjectSchemaStmt *) stmt)->objectType;
|
||||||
|
|
||||||
else if (IsA(stmt, AlterTableStmt))
|
else if (IsA(stmt, AlterTableStmt))
|
||||||
reltype = ((AlterTableStmt *) stmt)->relkind;
|
reltype = ((AlterTableStmt *) stmt)->objtype;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
elog(ERROR, "unrecognized node type: %d", (int) nodeTag(stmt));
|
elog(ERROR, "unrecognized node type: %d", (int) nodeTag(stmt));
|
||||||
|
@ -3204,7 +3204,7 @@ _copyAlterTableStmt(const AlterTableStmt *from)
|
|||||||
|
|
||||||
COPY_NODE_FIELD(relation);
|
COPY_NODE_FIELD(relation);
|
||||||
COPY_NODE_FIELD(cmds);
|
COPY_NODE_FIELD(cmds);
|
||||||
COPY_SCALAR_FIELD(relkind);
|
COPY_SCALAR_FIELD(objtype);
|
||||||
COPY_SCALAR_FIELD(missing_ok);
|
COPY_SCALAR_FIELD(missing_ok);
|
||||||
|
|
||||||
return newnode;
|
return newnode;
|
||||||
@ -3980,7 +3980,7 @@ _copyCreateTableAsStmt(const CreateTableAsStmt *from)
|
|||||||
|
|
||||||
COPY_NODE_FIELD(query);
|
COPY_NODE_FIELD(query);
|
||||||
COPY_NODE_FIELD(into);
|
COPY_NODE_FIELD(into);
|
||||||
COPY_SCALAR_FIELD(relkind);
|
COPY_SCALAR_FIELD(objtype);
|
||||||
COPY_SCALAR_FIELD(is_select_into);
|
COPY_SCALAR_FIELD(is_select_into);
|
||||||
COPY_SCALAR_FIELD(if_not_exists);
|
COPY_SCALAR_FIELD(if_not_exists);
|
||||||
|
|
||||||
|
@ -1087,7 +1087,7 @@ _equalAlterTableStmt(const AlterTableStmt *a, const AlterTableStmt *b)
|
|||||||
{
|
{
|
||||||
COMPARE_NODE_FIELD(relation);
|
COMPARE_NODE_FIELD(relation);
|
||||||
COMPARE_NODE_FIELD(cmds);
|
COMPARE_NODE_FIELD(cmds);
|
||||||
COMPARE_SCALAR_FIELD(relkind);
|
COMPARE_SCALAR_FIELD(objtype);
|
||||||
COMPARE_SCALAR_FIELD(missing_ok);
|
COMPARE_SCALAR_FIELD(missing_ok);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -1735,7 +1735,7 @@ _equalCreateTableAsStmt(const CreateTableAsStmt *a, const CreateTableAsStmt *b)
|
|||||||
{
|
{
|
||||||
COMPARE_NODE_FIELD(query);
|
COMPARE_NODE_FIELD(query);
|
||||||
COMPARE_NODE_FIELD(into);
|
COMPARE_NODE_FIELD(into);
|
||||||
COMPARE_SCALAR_FIELD(relkind);
|
COMPARE_SCALAR_FIELD(objtype);
|
||||||
COMPARE_SCALAR_FIELD(is_select_into);
|
COMPARE_SCALAR_FIELD(is_select_into);
|
||||||
COMPARE_SCALAR_FIELD(if_not_exists);
|
COMPARE_SCALAR_FIELD(if_not_exists);
|
||||||
|
|
||||||
|
@ -229,7 +229,7 @@ transformOptionalSelectInto(ParseState *pstate, Node *parseTree)
|
|||||||
|
|
||||||
ctas->query = parseTree;
|
ctas->query = parseTree;
|
||||||
ctas->into = stmt->intoClause;
|
ctas->into = stmt->intoClause;
|
||||||
ctas->relkind = OBJECT_TABLE;
|
ctas->objtype = OBJECT_TABLE;
|
||||||
ctas->is_select_into = true;
|
ctas->is_select_into = true;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -2572,7 +2572,7 @@ transformCreateTableAsStmt(ParseState *pstate, CreateTableAsStmt *stmt)
|
|||||||
stmt->query = (Node *) query;
|
stmt->query = (Node *) query;
|
||||||
|
|
||||||
/* additional work needed for CREATE MATERIALIZED VIEW */
|
/* additional work needed for CREATE MATERIALIZED VIEW */
|
||||||
if (stmt->relkind == OBJECT_MATVIEW)
|
if (stmt->objtype == OBJECT_MATVIEW)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Prohibit a data-modifying CTE in the query used to create a
|
* Prohibit a data-modifying CTE in the query used to create a
|
||||||
|
@ -1844,7 +1844,7 @@ AlterTableStmt:
|
|||||||
AlterTableStmt *n = makeNode(AlterTableStmt);
|
AlterTableStmt *n = makeNode(AlterTableStmt);
|
||||||
n->relation = $3;
|
n->relation = $3;
|
||||||
n->cmds = $4;
|
n->cmds = $4;
|
||||||
n->relkind = OBJECT_TABLE;
|
n->objtype = OBJECT_TABLE;
|
||||||
n->missing_ok = false;
|
n->missing_ok = false;
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
@ -1853,7 +1853,7 @@ AlterTableStmt:
|
|||||||
AlterTableStmt *n = makeNode(AlterTableStmt);
|
AlterTableStmt *n = makeNode(AlterTableStmt);
|
||||||
n->relation = $5;
|
n->relation = $5;
|
||||||
n->cmds = $6;
|
n->cmds = $6;
|
||||||
n->relkind = OBJECT_TABLE;
|
n->objtype = OBJECT_TABLE;
|
||||||
n->missing_ok = true;
|
n->missing_ok = true;
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
@ -1862,7 +1862,7 @@ AlterTableStmt:
|
|||||||
AlterTableStmt *n = makeNode(AlterTableStmt);
|
AlterTableStmt *n = makeNode(AlterTableStmt);
|
||||||
n->relation = $3;
|
n->relation = $3;
|
||||||
n->cmds = list_make1($4);
|
n->cmds = list_make1($4);
|
||||||
n->relkind = OBJECT_TABLE;
|
n->objtype = OBJECT_TABLE;
|
||||||
n->missing_ok = false;
|
n->missing_ok = false;
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
@ -1871,7 +1871,7 @@ AlterTableStmt:
|
|||||||
AlterTableStmt *n = makeNode(AlterTableStmt);
|
AlterTableStmt *n = makeNode(AlterTableStmt);
|
||||||
n->relation = $5;
|
n->relation = $5;
|
||||||
n->cmds = list_make1($6);
|
n->cmds = list_make1($6);
|
||||||
n->relkind = OBJECT_TABLE;
|
n->objtype = OBJECT_TABLE;
|
||||||
n->missing_ok = true;
|
n->missing_ok = true;
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
@ -1902,7 +1902,7 @@ AlterTableStmt:
|
|||||||
AlterTableStmt *n = makeNode(AlterTableStmt);
|
AlterTableStmt *n = makeNode(AlterTableStmt);
|
||||||
n->relation = $3;
|
n->relation = $3;
|
||||||
n->cmds = $4;
|
n->cmds = $4;
|
||||||
n->relkind = OBJECT_INDEX;
|
n->objtype = OBJECT_INDEX;
|
||||||
n->missing_ok = false;
|
n->missing_ok = false;
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
@ -1911,7 +1911,7 @@ AlterTableStmt:
|
|||||||
AlterTableStmt *n = makeNode(AlterTableStmt);
|
AlterTableStmt *n = makeNode(AlterTableStmt);
|
||||||
n->relation = $5;
|
n->relation = $5;
|
||||||
n->cmds = $6;
|
n->cmds = $6;
|
||||||
n->relkind = OBJECT_INDEX;
|
n->objtype = OBJECT_INDEX;
|
||||||
n->missing_ok = true;
|
n->missing_ok = true;
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
@ -1920,7 +1920,7 @@ AlterTableStmt:
|
|||||||
AlterTableStmt *n = makeNode(AlterTableStmt);
|
AlterTableStmt *n = makeNode(AlterTableStmt);
|
||||||
n->relation = $3;
|
n->relation = $3;
|
||||||
n->cmds = list_make1($4);
|
n->cmds = list_make1($4);
|
||||||
n->relkind = OBJECT_INDEX;
|
n->objtype = OBJECT_INDEX;
|
||||||
n->missing_ok = false;
|
n->missing_ok = false;
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
@ -1951,7 +1951,7 @@ AlterTableStmt:
|
|||||||
AlterTableStmt *n = makeNode(AlterTableStmt);
|
AlterTableStmt *n = makeNode(AlterTableStmt);
|
||||||
n->relation = $3;
|
n->relation = $3;
|
||||||
n->cmds = $4;
|
n->cmds = $4;
|
||||||
n->relkind = OBJECT_SEQUENCE;
|
n->objtype = OBJECT_SEQUENCE;
|
||||||
n->missing_ok = false;
|
n->missing_ok = false;
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
@ -1960,7 +1960,7 @@ AlterTableStmt:
|
|||||||
AlterTableStmt *n = makeNode(AlterTableStmt);
|
AlterTableStmt *n = makeNode(AlterTableStmt);
|
||||||
n->relation = $5;
|
n->relation = $5;
|
||||||
n->cmds = $6;
|
n->cmds = $6;
|
||||||
n->relkind = OBJECT_SEQUENCE;
|
n->objtype = OBJECT_SEQUENCE;
|
||||||
n->missing_ok = true;
|
n->missing_ok = true;
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
@ -1969,7 +1969,7 @@ AlterTableStmt:
|
|||||||
AlterTableStmt *n = makeNode(AlterTableStmt);
|
AlterTableStmt *n = makeNode(AlterTableStmt);
|
||||||
n->relation = $3;
|
n->relation = $3;
|
||||||
n->cmds = $4;
|
n->cmds = $4;
|
||||||
n->relkind = OBJECT_VIEW;
|
n->objtype = OBJECT_VIEW;
|
||||||
n->missing_ok = false;
|
n->missing_ok = false;
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
@ -1978,7 +1978,7 @@ AlterTableStmt:
|
|||||||
AlterTableStmt *n = makeNode(AlterTableStmt);
|
AlterTableStmt *n = makeNode(AlterTableStmt);
|
||||||
n->relation = $5;
|
n->relation = $5;
|
||||||
n->cmds = $6;
|
n->cmds = $6;
|
||||||
n->relkind = OBJECT_VIEW;
|
n->objtype = OBJECT_VIEW;
|
||||||
n->missing_ok = true;
|
n->missing_ok = true;
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
@ -1987,7 +1987,7 @@ AlterTableStmt:
|
|||||||
AlterTableStmt *n = makeNode(AlterTableStmt);
|
AlterTableStmt *n = makeNode(AlterTableStmt);
|
||||||
n->relation = $4;
|
n->relation = $4;
|
||||||
n->cmds = $5;
|
n->cmds = $5;
|
||||||
n->relkind = OBJECT_MATVIEW;
|
n->objtype = OBJECT_MATVIEW;
|
||||||
n->missing_ok = false;
|
n->missing_ok = false;
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
@ -1996,7 +1996,7 @@ AlterTableStmt:
|
|||||||
AlterTableStmt *n = makeNode(AlterTableStmt);
|
AlterTableStmt *n = makeNode(AlterTableStmt);
|
||||||
n->relation = $6;
|
n->relation = $6;
|
||||||
n->cmds = $7;
|
n->cmds = $7;
|
||||||
n->relkind = OBJECT_MATVIEW;
|
n->objtype = OBJECT_MATVIEW;
|
||||||
n->missing_ok = true;
|
n->missing_ok = true;
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
@ -2027,7 +2027,7 @@ AlterTableStmt:
|
|||||||
AlterTableStmt *n = makeNode(AlterTableStmt);
|
AlterTableStmt *n = makeNode(AlterTableStmt);
|
||||||
n->relation = $4;
|
n->relation = $4;
|
||||||
n->cmds = $5;
|
n->cmds = $5;
|
||||||
n->relkind = OBJECT_FOREIGN_TABLE;
|
n->objtype = OBJECT_FOREIGN_TABLE;
|
||||||
n->missing_ok = false;
|
n->missing_ok = false;
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
@ -2036,7 +2036,7 @@ AlterTableStmt:
|
|||||||
AlterTableStmt *n = makeNode(AlterTableStmt);
|
AlterTableStmt *n = makeNode(AlterTableStmt);
|
||||||
n->relation = $6;
|
n->relation = $6;
|
||||||
n->cmds = $7;
|
n->cmds = $7;
|
||||||
n->relkind = OBJECT_FOREIGN_TABLE;
|
n->objtype = OBJECT_FOREIGN_TABLE;
|
||||||
n->missing_ok = true;
|
n->missing_ok = true;
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
@ -2856,7 +2856,7 @@ AlterCompositeTypeStmt:
|
|||||||
/* can't use qualified_name, sigh */
|
/* can't use qualified_name, sigh */
|
||||||
n->relation = makeRangeVarFromAnyName($3, @3, yyscanner);
|
n->relation = makeRangeVarFromAnyName($3, @3, yyscanner);
|
||||||
n->cmds = $4;
|
n->cmds = $4;
|
||||||
n->relkind = OBJECT_TYPE;
|
n->objtype = OBJECT_TYPE;
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
@ -4072,7 +4072,7 @@ CreateAsStmt:
|
|||||||
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
|
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
|
||||||
ctas->query = $6;
|
ctas->query = $6;
|
||||||
ctas->into = $4;
|
ctas->into = $4;
|
||||||
ctas->relkind = OBJECT_TABLE;
|
ctas->objtype = OBJECT_TABLE;
|
||||||
ctas->is_select_into = false;
|
ctas->is_select_into = false;
|
||||||
ctas->if_not_exists = false;
|
ctas->if_not_exists = false;
|
||||||
/* cram additional flags into the IntoClause */
|
/* cram additional flags into the IntoClause */
|
||||||
@ -4085,7 +4085,7 @@ CreateAsStmt:
|
|||||||
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
|
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
|
||||||
ctas->query = $9;
|
ctas->query = $9;
|
||||||
ctas->into = $7;
|
ctas->into = $7;
|
||||||
ctas->relkind = OBJECT_TABLE;
|
ctas->objtype = OBJECT_TABLE;
|
||||||
ctas->is_select_into = false;
|
ctas->is_select_into = false;
|
||||||
ctas->if_not_exists = true;
|
ctas->if_not_exists = true;
|
||||||
/* cram additional flags into the IntoClause */
|
/* cram additional flags into the IntoClause */
|
||||||
@ -4131,7 +4131,7 @@ CreateMatViewStmt:
|
|||||||
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
|
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
|
||||||
ctas->query = $7;
|
ctas->query = $7;
|
||||||
ctas->into = $5;
|
ctas->into = $5;
|
||||||
ctas->relkind = OBJECT_MATVIEW;
|
ctas->objtype = OBJECT_MATVIEW;
|
||||||
ctas->is_select_into = false;
|
ctas->is_select_into = false;
|
||||||
ctas->if_not_exists = false;
|
ctas->if_not_exists = false;
|
||||||
/* cram additional flags into the IntoClause */
|
/* cram additional flags into the IntoClause */
|
||||||
@ -4144,7 +4144,7 @@ CreateMatViewStmt:
|
|||||||
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
|
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
|
||||||
ctas->query = $10;
|
ctas->query = $10;
|
||||||
ctas->into = $8;
|
ctas->into = $8;
|
||||||
ctas->relkind = OBJECT_MATVIEW;
|
ctas->objtype = OBJECT_MATVIEW;
|
||||||
ctas->is_select_into = false;
|
ctas->is_select_into = false;
|
||||||
ctas->if_not_exists = true;
|
ctas->if_not_exists = true;
|
||||||
/* cram additional flags into the IntoClause */
|
/* cram additional flags into the IntoClause */
|
||||||
@ -10695,7 +10695,7 @@ ExecuteStmt: EXECUTE name execute_param_clause
|
|||||||
n->params = $8;
|
n->params = $8;
|
||||||
ctas->query = (Node *) n;
|
ctas->query = (Node *) n;
|
||||||
ctas->into = $4;
|
ctas->into = $4;
|
||||||
ctas->relkind = OBJECT_TABLE;
|
ctas->objtype = OBJECT_TABLE;
|
||||||
ctas->is_select_into = false;
|
ctas->is_select_into = false;
|
||||||
ctas->if_not_exists = false;
|
ctas->if_not_exists = false;
|
||||||
/* cram additional flags into the IntoClause */
|
/* cram additional flags into the IntoClause */
|
||||||
@ -10712,7 +10712,7 @@ ExecuteStmt: EXECUTE name execute_param_clause
|
|||||||
n->params = $11;
|
n->params = $11;
|
||||||
ctas->query = (Node *) n;
|
ctas->query = (Node *) n;
|
||||||
ctas->into = $7;
|
ctas->into = $7;
|
||||||
ctas->relkind = OBJECT_TABLE;
|
ctas->objtype = OBJECT_TABLE;
|
||||||
ctas->is_select_into = false;
|
ctas->is_select_into = false;
|
||||||
ctas->if_not_exists = true;
|
ctas->if_not_exists = true;
|
||||||
/* cram additional flags into the IntoClause */
|
/* cram additional flags into the IntoClause */
|
||||||
|
@ -829,7 +829,7 @@ transformColumnDefinition(CreateStmtContext *cxt, ColumnDef *column)
|
|||||||
stmt = makeNode(AlterTableStmt);
|
stmt = makeNode(AlterTableStmt);
|
||||||
stmt->relation = cxt->relation;
|
stmt->relation = cxt->relation;
|
||||||
stmt->cmds = NIL;
|
stmt->cmds = NIL;
|
||||||
stmt->relkind = OBJECT_FOREIGN_TABLE;
|
stmt->objtype = OBJECT_FOREIGN_TABLE;
|
||||||
stmt->cmds = lappend(stmt->cmds, cmd);
|
stmt->cmds = lappend(stmt->cmds, cmd);
|
||||||
|
|
||||||
cxt->alist = lappend(cxt->alist, stmt);
|
cxt->alist = lappend(cxt->alist, stmt);
|
||||||
@ -2508,7 +2508,7 @@ transformIndexConstraint(Constraint *constraint, CreateStmtContext *cxt)
|
|||||||
|
|
||||||
alterstmt->relation = copyObject(cxt->relation);
|
alterstmt->relation = copyObject(cxt->relation);
|
||||||
alterstmt->cmds = notnullcmds;
|
alterstmt->cmds = notnullcmds;
|
||||||
alterstmt->relkind = OBJECT_TABLE;
|
alterstmt->objtype = OBJECT_TABLE;
|
||||||
alterstmt->missing_ok = false;
|
alterstmt->missing_ok = false;
|
||||||
|
|
||||||
cxt->alist = lappend(cxt->alist, alterstmt);
|
cxt->alist = lappend(cxt->alist, alterstmt);
|
||||||
@ -2610,7 +2610,7 @@ transformFKConstraints(CreateStmtContext *cxt,
|
|||||||
|
|
||||||
alterstmt->relation = cxt->relation;
|
alterstmt->relation = cxt->relation;
|
||||||
alterstmt->cmds = NIL;
|
alterstmt->cmds = NIL;
|
||||||
alterstmt->relkind = OBJECT_TABLE;
|
alterstmt->objtype = OBJECT_TABLE;
|
||||||
|
|
||||||
foreach(fkclist, cxt->fkconstraints)
|
foreach(fkclist, cxt->fkconstraints)
|
||||||
{
|
{
|
||||||
|
@ -2574,7 +2574,7 @@ CreateCommandTag(Node *parsetree)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case T_AlterTableStmt:
|
case T_AlterTableStmt:
|
||||||
tag = AlterObjectTypeCommandTag(((AlterTableStmt *) parsetree)->relkind);
|
tag = AlterObjectTypeCommandTag(((AlterTableStmt *) parsetree)->objtype);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case T_AlterDomainStmt:
|
case T_AlterDomainStmt:
|
||||||
@ -2752,7 +2752,7 @@ CreateCommandTag(Node *parsetree)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case T_CreateTableAsStmt:
|
case T_CreateTableAsStmt:
|
||||||
switch (((CreateTableAsStmt *) parsetree)->relkind)
|
switch (((CreateTableAsStmt *) parsetree)->objtype)
|
||||||
{
|
{
|
||||||
case OBJECT_TABLE:
|
case OBJECT_TABLE:
|
||||||
if (((CreateTableAsStmt *) parsetree)->is_select_into)
|
if (((CreateTableAsStmt *) parsetree)->is_select_into)
|
||||||
|
@ -1776,7 +1776,7 @@ typedef struct AlterTableStmt
|
|||||||
NodeTag type;
|
NodeTag type;
|
||||||
RangeVar *relation; /* table to work on */
|
RangeVar *relation; /* table to work on */
|
||||||
List *cmds; /* list of subcommands */
|
List *cmds; /* list of subcommands */
|
||||||
ObjectType relkind; /* type of object */
|
ObjectType objtype; /* type of object */
|
||||||
bool missing_ok; /* skip error if table missing */
|
bool missing_ok; /* skip error if table missing */
|
||||||
} AlterTableStmt;
|
} AlterTableStmt;
|
||||||
|
|
||||||
@ -3275,7 +3275,7 @@ typedef struct CreateTableAsStmt
|
|||||||
NodeTag type;
|
NodeTag type;
|
||||||
Node *query; /* the query (see comments above) */
|
Node *query; /* the query (see comments above) */
|
||||||
IntoClause *into; /* destination table */
|
IntoClause *into; /* destination table */
|
||||||
ObjectType relkind; /* OBJECT_TABLE or OBJECT_MATVIEW */
|
ObjectType objtype; /* OBJECT_TABLE or OBJECT_MATVIEW */
|
||||||
bool is_select_into; /* it was written as SELECT INTO */
|
bool is_select_into; /* it was written as SELECT INTO */
|
||||||
bool if_not_exists; /* just do nothing if it already exists? */
|
bool if_not_exists; /* just do nothing if it already exists? */
|
||||||
} CreateTableAsStmt;
|
} CreateTableAsStmt;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user