Re: shadow variables - pg15 edition
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: pgsql-hackers@postgresql.org, Tomas Vondra <tomas.vondra@postgresql.org>, Peter Smith <smithpb2250@gmail.com>
Date: 2022-08-25T01:46:11Z
Lists: pgsql-hackers
Attachments
- shadow_refactor_fixes.patch (text/plain) patch
On Wed, 24 Aug 2022 at 22:47, David Rowley <dgrowleyml@gmail.com> wrote: > 5. "Refactor" (fix the code to make it better) > I have some ideas on how to fix the two #5s, so I'm going to go and do that now. I've attached a patch which I think improves the code in gistRelocateBuildBuffersOnSplit() so that there's no longer a shadowed variable. I also benchmarked this method in a tight loop and can measure no performance change from getting the loop index this way vs the old way. This only fixes one of the #5s I mentioned. I ended up scraping my idea to fix the shadowed 'i' in get_qual_for_range() as it became too complex. The idea was to use list_cell_number() to find out how far we looped in the forboth() loop. It turned out that 'i' was used in the subsequent loop in "j = i;". The fix just became too complex and I didn't think it was worth the risk of breaking something just to get rid of the showed 'i'. David
Commits
-
Fix shadow variable in postgres.c
- 4574eb9d38c6 16.0 landed
-
Add -Wshadow=compatible-local to the standard compilation flags
- 0fe954c28584 16.0 landed
-
Fix final warnings produced by -Wshadow=compatible-local
- cd4e8caaa0eb 16.0 landed
-
Fix final compiler warning produced by -Wshadow=compatible-local
- d8df67bb1ad9 16.0 landed
-
Add optional parameter to PG_TRY() macros
- 112f0225dbfe 16.0 landed
-
Small refactor to get rid of -Wshadow=compatible-local warning
- d389487525bc 16.0 landed
-
More -Wshadow=compatible-local warning fixes
- 3e0fff2e6888 16.0 landed
-
Further -Wshadow=compatible-local warning fixes
- f959bf9a5b9c 16.0 landed
-
Further reduce warnings with -Wshadow=compatible-local
- 421892a192b8 16.0 landed
-
Reduce warnings with -Wshadow=compatible-local builds
- 92fce4e1eda9 16.0 landed
-
Remove shadowed local variables that are new in v15
- 24f457aa2b70 15.0 landed
- f01592f91577 16.0 landed