Hello!
I was looking into how pg_trgm index support works with regular expressions.
When building HEAD with the TRGM_REGEXP_DEBUG option, my compiler warns:
./configure CFLAGS="-DTRGM_REGEXP_DEBUG"
cd contrib/pg_trgm/
make -s
trgm_regexp.c: In function ‘printSourceNFA’:
trgm_regexp.c:2142:41: warning: declaration of ‘i’ shadows a previous local
[-Wshadow=compatible-local]
2142 | int i,
| ^
trgm_regexp.c:2133:33: note: shadowed declaration is here
2133 | int i;
I am using gcc (Debian 12.2.0-14+deb12u1) 12.2.0.
Does it make sense to fix this warning? It is possible to either rename this
variable or remove the second declaration (the variable is used in another loop
after this code).
--- a/contrib/pg_trgm/trgm_regexp.c
+++ b/contrib/pg_trgm/trgm_regexp.c
@@ -2139,8 +2139,7 @@ printSourceNFA(regex_t *regex, TrgmColorInfo *colors, int
ncolors)
for (state = 0; state < nstates; state++)
{
regex_arc_t *arcs;
- int i,
- arcsCount;
+ int arcsCount;
appendStringInfo(&buf, "s%d", state);
if (pg_reg_getfinalstate(regex) == state)
regards, Sergei