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:29:38
Message-ID: CAAJ_b96iJRtEys3v-=3ke9YysNtH+111uahT2VZ_G=U5guY1+Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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?

Regards,
Amul

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message amul sul 2020-04-22 09:44:27 Re: create partition table caused server crashed with self-referencing foreign key
Previous Message 曾文旌 2020-04-22 09:19:04 Re: [Proposal] Global temporary tables