Re: Identity columns should own only one sequence

Поиск
Список
Период
Сортировка
От Laurenz Albe
Тема Re: Identity columns should own only one sequence
Дата
Msg-id 3916586ef7f33948235fe60f54a3750046f5d940.camel@cybertec.at
обсуждение исходный текст
Ответ на Re: Identity columns should own only one sequence  (Michael Paquier <michael@paquier.xyz>)
Список pgsql-hackers
On Thu, 2019-04-25 at 09:55 +0900, Michael Paquier wrote:
> On Sun, Apr 14, 2019 at 05:51:47PM +0200, Laurenz Albe wrote:
> > test=> INSERT INTO ser (id) VALUES (DEFAULT);
> > ERROR:  more than one owned sequence found
> 
> Yes this should never be user-triggerable, so it seems that we need to
> fix and back-patch something if possible.
> 
> > I propose that we check if there already is a dependent sequence
> > before adding an identity column.
> 
> That looks awkward.  Souldn't we make sure that when dropping the
> default associated with a serial column then the dependency between
> the column and the sequence is removed instead?  This implies more
> complication in ATExecColumnDefault().
> 
> > The attached patch does that, and also forbids setting the ownership
> > of a sequence to an identity column.
> > 
> > I think this should be backpatched.
> 
> Could you add some test cases with what you think is adapted?

You are right!  Dropping the dependency with the DEFAULT is the
cleanest approach.

I have left the checks to prevent double sequence ownership from
happening.

I added regression tests covering all added code.

Yours,
Laurenz Albe


Вложения

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

Предыдущее
От: Rajkumar Raghuwanshi
Дата:
Сообщение: Re: [HACKERS] advanced partition matching algorithm forpartition-wise join
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: "Routine Reindexing" docs should be updated to reference REINDEXCONCURRENTLY