Re: Possible copy and past error? (\usr\backend\commands\analyze.c) - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Possible copy and past error? (\usr\backend\commands\analyze.c)
Date
Msg-id 31619.1585352965@sss.pgh.pa.us
Whole thread Raw
In response to Possible copy and past error? (\usr\backend\commands\analyze.c)  (Ranier Vilela <ranier.vf@gmail.com>)
Responses Re: Possible copy and past error? (\usr\backend\commands\analyze.c)  (Ranier Vilela <ranier.vf@gmail.com>)
List pgsql-hackers
Ranier Vilela <ranier.vf@gmail.com> writes:
> Can someone check if there is a copy and paste error, at file:
> \usr\backend\commands\analyze.c, at lines 2225 and 2226?
> int num_mcv = stats->attr->attstattarget;
> int num_bins = stats->attr->attstattarget;

No, that's intentional I believe.  Those are independent variables
that just happen to start out with the same value.

> If they really are the same values, it could be changed to:

> int num_mcv = stats->attr->attstattarget;
> int num_bins = num_mcv;

That would make it look like they are interdependent, which they are not.

> To silence this alert.

If you have a tool that complains about that coding, I think the
tool needs a solid whack upside the head.  There's nothing wrong
with the code, and it clearly expresses the intent, which the other
way doesn't.  (Or in other words: it's the compiler's job to
optimize away the duplicate fetch.  Not the programmer's.)

            regards, tom lane



pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: allow online change primary_conninfo
Next
From: Tom Lane
Date:
Subject: Re: pgbench - refactor init functions with buffers