Re: BUG #18247: Integer overflow leads to negative width - Mailing list pgsql-bugs

From Julien Rouhaud
Subject Re: BUG #18247: Integer overflow leads to negative width
Date
Msg-id ZXrfpCxG5wglNVUe@jrouhaud
Whole thread Raw
In response to Re: BUG #18247: Integer overflow leads to negative width  (Richard Guo <guofenglinux@gmail.com>)
List pgsql-bugs
On Thu, Dec 14, 2023 at 06:34:44PM +0800, Richard Guo wrote:
> On Thu, Dec 14, 2023 at 5:29 PM PG Bug reporting form <
> noreply@postgresql.org> wrote:
>
> > EXPLAIN SELECT * FROM t;
> >                          QUERY PLAN
> > ------------------------------------------------------------
> >  Seq Scan on t  (cost=0.00..10.00 rows=1 width=-2113929008)
> > (1 row)
>
>
> Interesting.  In an Assert-enabled build this query will cause the
> Assert failure in set_rel_width().
>
>     Assert(tuple_width >= 0);
>
> Can we just error out when an overflow occurs?

I'm worried that it could have quite a broad impact, as the same problem could
easily arise in some more conventional cases, e.g. after joining some already
large relations.  I'm sure that some people already hit that in production
without looking at explain plans, and wouldn't be happy to see it broken during
the next update.



pgsql-bugs by date:

Previous
From: Richard Guo
Date:
Subject: Re: BUG #18247: Integer overflow leads to negative width
Next
From: Laurenz Albe
Date:
Subject: Re: BUG #18248: Expression is always zero