Shinoda, Noriyoshi wrote:
> I tried this feature with the latest snapshot. When I executed the
> following SQL statement, multiple primary keys were created on the
> Is this the intended behavior?
It turns out that the error check for duplicate PKs is only invoked if
you tell this code that it's being invoked by ALTER TABLE, and my
original patch wasn't. I changed it and now everything seems to behave
I added a test case pretty much like yours, which now works correctly.
I also added another one where the bogus PK is two levels down rather
than one. This is because I had originally developed a different fix --
which fixed the problem for your test case, until I realized that since
this code is recursive, we could cause trouble at a distance.
Thanks for reporting the problem
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services