aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/parser')
-rw-r--r--src/backend/parser/gram.y6
-rw-r--r--src/backend/parser/parse_utilcmd.c2
2 files changed, 6 insertions, 2 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index cf97be512d9..174773bdf31 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -3941,7 +3941,11 @@ SeqOptList: SeqOptElem { $$ = list_make1($1); }
| SeqOptList SeqOptElem { $$ = lappend($1, $2); }
;
-SeqOptElem: CACHE NumericOnly
+SeqOptElem: AS SimpleTypename
+ {
+ $$ = makeDefElem("as", (Node *)$2, @1);
+ }
+ | CACHE NumericOnly
{
$$ = makeDefElem("cache", (Node *)$2, @1);
}
diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c
index 8d1939445b5..0f78abaae20 100644
--- a/src/backend/parser/parse_utilcmd.c
+++ b/src/backend/parser/parse_utilcmd.c
@@ -469,7 +469,7 @@ transformColumnDefinition(CreateStmtContext *cxt, ColumnDef *column)
*/
seqstmt = makeNode(CreateSeqStmt);
seqstmt->sequence = makeRangeVar(snamespace, sname, -1);
- seqstmt->options = NIL;
+ seqstmt->options = list_make1(makeDefElem("as", (Node *) makeTypeNameFromOid(column->typeName->typeOid, -1), -1));
/*
* If this is ALTER ADD COLUMN, make sure the sequence will be owned