diff options
Diffstat (limited to 'src/backend/commands/sequence.c')
-rw-r--r-- | src/backend/commands/sequence.c | 31 |
1 files changed, 12 insertions, 19 deletions
diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c index 2d6d1928639..5638f4fe9b7 100644 --- a/src/backend/commands/sequence.c +++ b/src/backend/commands/sequence.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/sequence.c,v 1.128 2006/03/05 15:58:24 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/commands/sequence.c,v 1.129 2006/03/14 22:48:18 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -21,6 +21,7 @@ #include "commands/tablecmds.h" #include "commands/sequence.h" #include "miscadmin.h" +#include "nodes/makefuncs.h" #include "utils/acl.h" #include "utils/builtins.h" #include "utils/resowner.h" @@ -112,16 +113,8 @@ DefineSequence(CreateSeqStmt *seq) stmt->tableElts = NIL; for (i = SEQ_COL_FIRSTCOL; i <= SEQ_COL_LASTCOL; i++) { - ColumnDef *coldef; - TypeName *typnam; + ColumnDef *coldef = makeNode(ColumnDef); - typnam = makeNode(TypeName); - typnam->setof = FALSE; - typnam->arrayBounds = NIL; - typnam->typmod = -1; - - coldef = makeNode(ColumnDef); - coldef->typename = typnam; coldef->inhcount = 0; coldef->is_local = true; coldef->is_not_null = true; @@ -135,48 +128,48 @@ DefineSequence(CreateSeqStmt *seq) switch (i) { case SEQ_COL_NAME: - typnam->typeid = NAMEOID; + coldef->typename = makeTypeNameFromOid(NAMEOID, -1); coldef->colname = "sequence_name"; namestrcpy(&name, seq->sequence->relname); value[i - 1] = NameGetDatum(&name); break; case SEQ_COL_LASTVAL: - typnam->typeid = INT8OID; + coldef->typename = makeTypeNameFromOid(INT8OID, -1); coldef->colname = "last_value"; value[i - 1] = Int64GetDatumFast(new.last_value); break; case SEQ_COL_INCBY: - typnam->typeid = INT8OID; + coldef->typename = makeTypeNameFromOid(INT8OID, -1); coldef->colname = "increment_by"; value[i - 1] = Int64GetDatumFast(new.increment_by); break; case SEQ_COL_MAXVALUE: - typnam->typeid = INT8OID; + coldef->typename = makeTypeNameFromOid(INT8OID, -1); coldef->colname = "max_value"; value[i - 1] = Int64GetDatumFast(new.max_value); break; case SEQ_COL_MINVALUE: - typnam->typeid = INT8OID; + coldef->typename = makeTypeNameFromOid(INT8OID, -1); coldef->colname = "min_value"; value[i - 1] = Int64GetDatumFast(new.min_value); break; case SEQ_COL_CACHE: - typnam->typeid = INT8OID; + coldef->typename = makeTypeNameFromOid(INT8OID, -1); coldef->colname = "cache_value"; value[i - 1] = Int64GetDatumFast(new.cache_value); break; case SEQ_COL_LOG: - typnam->typeid = INT8OID; + coldef->typename = makeTypeNameFromOid(INT8OID, -1); coldef->colname = "log_cnt"; value[i - 1] = Int64GetDatum((int64) 1); break; case SEQ_COL_CYCLE: - typnam->typeid = BOOLOID; + coldef->typename = makeTypeNameFromOid(BOOLOID, -1); coldef->colname = "is_cycled"; value[i - 1] = BoolGetDatum(new.is_cycled); break; case SEQ_COL_CALLED: - typnam->typeid = BOOLOID; + coldef->typename = makeTypeNameFromOid(BOOLOID, -1); coldef->colname = "is_called"; value[i - 1] = BoolGetDatum(false); break; |