From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | David Rowley <dgrowleyml(at)gmail(dot)com> |
Cc: | Onder Kalaci <onderk(at)microsoft(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Assertion failure with LEFT JOINs among >500 relations |
Date: | 2020-10-16 17:00:29 |
Message-ID: | 4159951.1602867629@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I wrote:
> David Rowley <dgrowleyml(at)gmail(dot)com> writes:
>> I've ended up leaving the NaN checks in the join costing functions.
>> There was no case mentioned in [1] that showed how we hit that
>> reported test case, so I'm not really confident enough to know I'm not
>> just reintroducing the same problem again by removing that. The path
>> row estimate that had the NaN might not have been through
>> clamp_row_est(). Many don't.
> Hmm, I will try to find some time tomorrow to reconstruct that.
I'm confused now, because the v2 patch does remove those isnan calls?
I rechecked the archives, and I agree that there's no data about
exactly how we could have gotten a NaN here. My guess though is
infinity-times-zero in some earlier relation size estimate. So
hopefully the clamp to 1e100 will make that impossible, or if it
doesn't then clamp_row_est() should still prevent a NaN from
propagating to the next level up.
I'm good with the v2 patch.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Anastasia Lubennikova | 2020-10-16 18:04:45 | Re: Commitfest manager 2020-11 |
Previous Message | Alvaro Herrera | 2020-10-16 16:59:34 | Re: CREATE TABLE .. PARTITION OF fails to preserve tgenabled for inherited row triggers |