Re: [HACKERS] Re: Serial Data Type Failure
От | Thomas G. Lockhart |
---|---|
Тема | Re: [HACKERS] Re: Serial Data Type Failure |
Дата | |
Msg-id | 3605E705.3E9A0ADA@alumni.caltech.edu обсуждение исходный текст |
Ответ на | Serial Data Type Failure (David Hartwig <daveh@insightdist.com>) |
Список | pgsql-hackers |
> > ERROR: Cannot create index: 'bar_id_key' already exists > > -- This is bad. Sorry. postgres=> CREATE TABLE bar ( postgres-> id serial, postgres-> name varchar(32) postgres-> ); NOTICE: CREATE TABLE will create implicit sequence bar_id_seq for SERIAL column bar.id NOTICE: CREATE TABLE/UNIQUE will create implicit index bar_id_key for table bar CREATE I hadn't noticed that there was a positional dependency in the code I had moved around to implement the SERIAL PRIMARY KEY feature. Sorry about that. Patch enclosed. Will commit to source tree soon... - Tom *** analyze.c.orig Wed Sep 16 14:59:22 1998 --- analyze.c Mon Sep 21 05:18:07 1998 *************** *** 517,528 **** if (column->is_sequence) { ! char *cstring; CreateSeqStmt *sequence; constraint = makeNode(Constraint); constraint->contype = CONSTR_DEFAULT; ! constraint->name = makeTableName(stmt->relname, column->colname, "seq", NULL); cstring = palloc(9 + strlen(constraint->name) + 2 + 1); strcpy(cstring, "nextval('"); strcat(cstring, constraint->name); --- 517,529 ---- if (column->is_sequence) { ! char *sname; ! char *cstring; CreateSeqStmt *sequence; constraint = makeNode(Constraint); constraint->contype = CONSTR_DEFAULT; ! constraint->name = sname = makeTableName(stmt->relname, column->colname, "seq", NULL); cstring = palloc(9 + strlen(constraint->name) + 2 + 1); strcpy(cstring, "nextval('"); strcat(cstring, constraint->name); *************** *** 551,557 **** } sequence = makeNode(CreateSeqStmt); ! sequence->seqname = pstrdup(constraint->name); sequence->options = NIL; elog(NOTICE, "CREATE TABLE will create implicit sequence %s for SERIAL column %s.%s", --- 552,558 ---- } sequence = makeNode(CreateSeqStmt); ! sequence->seqname = pstrdup(sname); sequence->options = NIL; elog(NOTICE, "CREATE TABLE will create implicit sequence %s for SERIAL column %s.%s",
В списке pgsql-hackers по дате отправления: