create table not null
This commit is contained in:
@ -620,7 +620,7 @@ static int errstate;
|
|||||||
|
|
||||||
%type <node> TableConstraint TableLikeClause ForeignTableLikeClause
|
%type <node> TableConstraint TableLikeClause ForeignTableLikeClause
|
||||||
%type <ival> excluding_option_list TableLikeOptionList TableLikeIncludingOption TableLikeExcludingOption
|
%type <ival> excluding_option_list TableLikeOptionList TableLikeIncludingOption TableLikeExcludingOption
|
||||||
%type <list> ColQualList
|
%type <list> ColQualList WithOptions
|
||||||
%type <node> ColConstraint ColConstraintElem ConstraintAttr InformationalConstraintElem
|
%type <node> ColConstraint ColConstraintElem ConstraintAttr InformationalConstraintElem
|
||||||
%type <ival> key_actions key_delete key_match key_update key_action
|
%type <ival> key_actions key_delete key_match key_update key_action
|
||||||
%type <ival> ConstraintAttributeSpec ConstraintAttributeElem
|
%type <ival> ConstraintAttributeSpec ConstraintAttributeElem
|
||||||
@ -5793,7 +5793,7 @@ ColCmprsMode: DELTA {$$ = ATT_CMPR_DELTA;} /* delta compression */
|
|||||||
| /* EMPTY */ {$$ = ATT_CMPR_UNDEFINED;} /* not specified by user */
|
| /* EMPTY */ {$$ = ATT_CMPR_UNDEFINED;} /* not specified by user */
|
||||||
;
|
;
|
||||||
|
|
||||||
columnOptions: ColId WITH OPTIONS ColQualList
|
columnOptions: ColId WithOptions ColQualList
|
||||||
{
|
{
|
||||||
ColumnDef *n = makeNode(ColumnDef);
|
ColumnDef *n = makeNode(ColumnDef);
|
||||||
n->colname = $1;
|
n->colname = $1;
|
||||||
@ -5806,12 +5806,16 @@ columnOptions: ColId WITH OPTIONS ColQualList
|
|||||||
n->raw_default = NULL;
|
n->raw_default = NULL;
|
||||||
n->cooked_default = NULL;
|
n->cooked_default = NULL;
|
||||||
n->collOid = InvalidOid;
|
n->collOid = InvalidOid;
|
||||||
SplitColQualList($4, &n->constraints, &n->collClause, &n->clientLogicColumnRef,
|
SplitColQualList($3, &n->constraints, &n->collClause, &n->clientLogicColumnRef,
|
||||||
yyscanner);
|
yyscanner);
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
WithOptions:
|
||||||
|
WITH OPTIONS {$$ = NIL; }
|
||||||
|
| /*EMPTY*/ {$$ = NIL; }
|
||||||
|
|
||||||
ColQualList:
|
ColQualList:
|
||||||
ColQualList ColConstraint { $$ = lappend($1, $2); }
|
ColQualList ColConstraint { $$ = lappend($1, $2); }
|
||||||
| /*EMPTY*/ { $$ = NIL; }
|
| /*EMPTY*/ { $$ = NIL; }
|
||||||
|
@ -386,7 +386,7 @@ extern THR_LOCAL bool stmt_contains_operator_plus;
|
|||||||
|
|
||||||
%type <node> TableConstraint TableLikeClause
|
%type <node> TableConstraint TableLikeClause
|
||||||
%type <ival> excluding_option_list TableLikeOptionList TableLikeIncludingOption TableLikeExcludingOption
|
%type <ival> excluding_option_list TableLikeOptionList TableLikeIncludingOption TableLikeExcludingOption
|
||||||
%type <list> ColQualList
|
%type <list> ColQualList WithOptions
|
||||||
%type <node> ColConstraint ColConstraintElem ConstraintAttr InformationalConstraintElem
|
%type <node> ColConstraint ColConstraintElem ConstraintAttr InformationalConstraintElem
|
||||||
%type <ival> key_actions key_delete key_match key_update key_action
|
%type <ival> key_actions key_delete key_match key_update key_action
|
||||||
%type <ival> ConstraintAttributeSpec ConstraintAttributeElem
|
%type <ival> ConstraintAttributeSpec ConstraintAttributeElem
|
||||||
@ -4846,7 +4846,7 @@ ColCmprsMode: DELTA {$$ = ATT_CMPR_DELTA;} /* delta compression */
|
|||||||
| /* EMPTY */ {$$ = ATT_CMPR_UNDEFINED;} /* not specified by user */
|
| /* EMPTY */ {$$ = ATT_CMPR_UNDEFINED;} /* not specified by user */
|
||||||
;
|
;
|
||||||
|
|
||||||
columnOptions: ColId WITH OPTIONS ColQualList
|
columnOptions: ColId WithOptions ColQualList
|
||||||
{
|
{
|
||||||
ColumnDef *n = makeNode(ColumnDef);
|
ColumnDef *n = makeNode(ColumnDef);
|
||||||
n->colname = $1;
|
n->colname = $1;
|
||||||
@ -4861,11 +4861,15 @@ columnOptions: ColId WITH OPTIONS ColQualList
|
|||||||
n->collOid = InvalidOid;
|
n->collOid = InvalidOid;
|
||||||
n->clientLogicColumnRef=NULL;
|
n->clientLogicColumnRef=NULL;
|
||||||
|
|
||||||
SplitColQualList($4, &n->constraints, &n->collClause,&n->clientLogicColumnRef, yyscanner);
|
SplitColQualList($3, &n->constraints, &n->collClause,&n->clientLogicColumnRef, yyscanner);
|
||||||
$$ = (Node *)n;
|
$$ = (Node *)n;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
WithOptions:
|
||||||
|
WITH OPTIONS {$$ = NIL; }
|
||||||
|
| /*EMPTY*/ {$$ = NIL; }
|
||||||
|
|
||||||
ColQualList:
|
ColQualList:
|
||||||
ColQualList ColConstraint { $$ = lappend($1, $2); }
|
ColQualList ColConstraint { $$ = lappend($1, $2); }
|
||||||
| /*EMPTY*/ { $$ = NIL; }
|
| /*EMPTY*/ { $$ = NIL; }
|
||||||
|
Reference in New Issue
Block a user