Re: BUG #6683: dropping a table with a serial column from an extension needs to explicitely drop the associated seq

Поиск
Список
Период
Сортировка
От Philippe BEAUDOIN
Тема Re: BUG #6683: dropping a table with a serial column from an extension needs to explicitely drop the associated seq
Дата
Msg-id 4FD47776.7050909@free.fr
обсуждение исходный текст
Ответ на Re: BUG #6683: dropping a table with a serial column from an extension needs to explicitely drop the associated seq  (Craig Ringer <ringerc@ringerc.id.au>)
Список pgsql-bugs
Craig Ringer a =E9crit :
> On 06/10/2012 06:14 AM, Tom Lane wrote:
>> phb.emaj@free.fr writes:
>>> When a table having a seial column has been created by a CREATE=20
>>> EXTENSION,
>>> and when this table is later dropped from the extension, the associated
>>> sequence must be also explicitely dropped from the extension.
>> This doesn't really seem like a bug to me.  The sequence is a somewhat
>> independent object.
> I disagree; it is inconsistent with the expectation established in=20
> normal operations that the sequence created to serve a SERIAL column=20
> is owned by that table/column and is dropped when it is.
>
> regress=3D# create table test (x serial primary key);
> NOTICE:  CREATE TABLE will create implicit sequence "test_x_seq" for=20
> serial column "test.x"
> NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index=20
> "test_pkey" for table "test"
> CREATE TABLE
> regress=3D# \d
>            List of relations
>  Schema |    Name    |   Type   | Owner
> --------+------------+----------+-------
>  public | test       | table    | craig
>  public | test_x_seq | sequence | craig
> (2 rows)
>
> regress=3D# drop table test;
> DROP TABLE
> regress=3D# \d
> No relations found.
>
>
>
>
> regress=3D# create table test (x serial primary key);
> NOTICE:  CREATE TABLE will create implicit sequence "test_x_seq" for=20
> serial column "test.x"
> NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index=20
> "test_pkey" for table "test"
> CREATE TABLE
> regress=3D# alter table test drop column x;
> ALTER TABLE
> regress=3D# \d
>        List of relations
>  Schema | Name | Type  | Owner
> --------+------+-------+-------
>  public | test | table | craig
> (1 row)
>
>
>
>
>
> --=20
> Craig Ringer
>
>
I aggree with Craig.
The current rule is not natural (at least for me, as I did the mistake=20
in one of my extension scripts ;-))
If this behaviour remains as is, it should be at least documented.

Finding the best desirable behaviour is probably also linked with the=20
discussion just started for BUG #6682.

Best regards.
Philippe BEAUDOIN.

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Mark Thornton
Дата:
Сообщение: Re: BUG #6685: Concurrency fault in create table
Следующее
От: wbrana@gmail.com
Дата:
Сообщение: BUG #6684: An I/O error occured while sending to the backend