Thread: Bug #755: Error on create a new sequence by using the create table command.
Bug #755: Error on create a new sequence by using the create table command.
From
pgsql-bugs@postgresql.org
Date:
Søren Laursen (sl@scrooge.dk) reports a bug with a severity of 2 The lower the number the more severe it is. Short Description Error on create a new sequence by using the create table command. Long Description In postgresql 7.1 and 7.2.1: Then using a statement like: CREATE TABLE longtablename( longtablenamenr serial NOT NULL UNIQUE PRIMARY KEY,.... ) and later a CREATE TABLE longtablenamestep( longtablenamestepnr serial NOT NULL UNIQUE PRIMARY KEY,.... ) I get an error on creating the last table. This is because the new sequence is named with the same name as the one used bythe first table. The create statement is then terminated and no table is created. I would have to create the sequence myself and then create the table using statements like: not null default nextval('"longtablename_longtablename_sq1"'::text). Regards, Soeren Laursen Sample Code No file was uploaded with this report
7.3 will have 64 byte indentifiers, which should make this less likely. We could randomly pick non-conflicting names, but then the serial names would not be predicable, and because those are used by nextval(), etc, it would be bad. --------------------------------------------------------------------------- pgsql-bugs@postgresql.org wrote: > Søren Laursen (sl@scrooge.dk) reports a bug with a severity of 2 > The lower the number the more severe it is. > > Short Description > Error on create a new sequence by using the create table command. > > Long Description > In postgresql 7.1 and 7.2.1: > > Then using a statement like: > CREATE TABLE longtablename( > longtablenamenr serial NOT NULL UNIQUE PRIMARY KEY,.... > > ) > > and later a > CREATE TABLE longtablenamestep( > longtablenamestepnr serial NOT NULL UNIQUE PRIMARY KEY,.... > > ) > > I get an error on creating the last table. This is because the new sequence is named with the same name as the one usedby the first table. The create statement is then terminated and no table is created. I would have to create the sequencemy self and then create the table using statements like: > not null default nextval('"longtablename_longtablename_sq1"'::text). > > Regards, > > Soeren Laursen > > > Sample Code > > > No file was uploaded with this report > > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/users-lounge/docs/faq.html > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
7.3 will partially fix this issue by extending the length of the NAME data type. Ie. You won't hit it until you have large (32+ character) length names. On Tue, 2002-09-03 at 16:31, pgsql-bugs@postgresql.org wrote: > S=F8ren Laursen (sl@scrooge.dk) reports a bug with a severity of 2 > The lower the number the more severe it is. >=20 > Short Description > Error on create a new sequence by using the create table command. >=20 > Long Description > In postgresql 7.1 and 7.2.1: >=20 > Then using a statement like: > CREATE TABLE longtablename( > longtablenamenr serial NOT NULL UNIQUE PRIMARY KEY,.... >=20 > ) >=20 > and later a=20 > CREATE TABLE longtablenamestep( > longtablenamestepnr serial NOT NULL UNIQUE PRIMARY KEY,.... >=20 > ) >=20 > I get an error on creating the last table. This is because the new sequen= ce is named with the same name as the one used by the first table. The crea= te statement is then terminated and no table is created. I would have to cr= eate the sequence my self and then create the table using statements like: > not null default nextval('"longtablename_longtablename_sq1"'::text). >=20 > Regards, >=20 > Soeren Laursen >=20 >=20 > Sample Code >=20 >=20 > No file was uploaded with this report >=20 >=20 > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? >=20 > http://www.postgresql.org/users-lounge/docs/faq.html >=20