Re: create partition table caused server crashed withself-referencing foreign key - Mailing list pgsql-hackers

From amul sul
Subject Re: create partition table caused server crashed withself-referencing foreign key
Date
Msg-id CAAJ_b96iJRtEys3v-=3ke9YysNtH+111uahT2VZ_G=U5guY1+Q@mail.gmail.com
Whole thread Raw
In response to Re: create partition table caused server crashed withself-referencing foreign key  (David Rowley <dgrowleyml@gmail.com>)
Responses Re: create partition table caused server crashed withself-referencing foreign key  (amul sul <sulamul@gmail.com>)
Re: create partition table caused server crashed withself-referencing foreign key  (David Rowley <dgrowleyml@gmail.com>)
List pgsql-hackers


On Wed, Apr 22, 2020 at 2:27 PM David Rowley <dgrowleyml@gmail.com> wrote:
On Wed, 22 Apr 2020 at 20:11, amul sul <sulamul@gmail.com> wrote:
>
> On Wed, Apr 22, 2020 at 1:21 PM Rajkumar Raghuwanshi <rajkumar.raghuwanshi@enterprisedb.com> wrote:
>> #2  0x0000000000acd16a in ExceptionalCondition (conditionName=0xc32310 "numfks == attmap->maplen", errorType=0xc2ea23 "FailedAssertion", fileName=0xc2f0bf "tablecmds.c", lineNumber=9046) at assert.c:67
>
>
> Looks like this assertion is incorrect, I guess it should have check
> numfks <= attmap->maplen instead.

Even that seems like a very strange thing to Assert. Basically it's
saying, make sure the number of columns in the foreign key constraint
is less than or equal to the number of attributes in parentRel.

It's true we do disallow duplicate column names in the foreign key
constraint (at least since 9da867537), but why do we want an Assert to
say that?  I don't see anything about that code that would break if we
did happen to allow duplicate columns in the foreign key.  I'd say the
Assert should just be removed completely.
 
Understood and agree with you. 

Attached patch removes this assertion and does a slight tweak to regression test
to generate case where numfks != attmap->maplen, IMO, we should have this
even if there is nothing that checks it. Thoughts?

Regards,
Amul

Attachment

pgsql-hackers by date:

Previous
From: 曾文旌
Date:
Subject: Re: [Proposal] Global temporary tables
Next
From: amul sul
Date:
Subject: Re: create partition table caused server crashed withself-referencing foreign key