Re: create partition table caused server crashed with self-referencing foreign key

From: amul sul <sulamul(at)gmail(dot)com>
To: David Rowley <dgrowleyml(at)gmail(dot)com>
Cc: Rajkumar Raghuwanshi <rajkumar(dot)raghuwanshi(at)enterprisedb(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: create partition table caused server crashed with self-referencing foreign key
Date: 2020-04-22 09:44:27
Message-ID: CAAJ_b96i+Trkr+=J+wzei4OFTKfGG410Q8-s=mpYH2jEzh2vvg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Apr 22, 2020 at 2:59 PM amul sul <sulamul(at)gmail(dot)com> wrote:

>
>
> On Wed, Apr 22, 2020 at 2:27 PM David Rowley <dgrowleyml(at)gmail(dot)com> wrote:
>
>> On Wed, 22 Apr 2020 at 20:11, amul sul <sulamul(at)gmail(dot)com> wrote:
>> >
>> > On Wed, Apr 22, 2020 at 1:21 PM Rajkumar Raghuwanshi <
>> rajkumar(dot)raghuwanshi(at)enterprisedb(dot)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?
>

Kindly ignore the previously attached patch, correct patch attached here.

Regards,
Amul

Attachment Content-Type Size
v2-0001-Remove-unwanted-assert-check-and-a-slight-tweak-t.patch application/octet-stream 4.5 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David Rowley 2020-04-22 10:21:21 Re: create partition table caused server crashed with self-referencing foreign key
Previous Message amul sul 2020-04-22 09:29:38 Re: create partition table caused server crashed with self-referencing foreign key