#ifdef out assorted unused GEQO code. I'd always assumed that backend/optimizer/geqo/'s remarkably poor showing on code coverage metrics was because we weren't exercising it much in the regression tests. But it turns out that a good chunk of the problem is that there's a bunch of code that is physically unreachable (because the calls to it are #ifdef'd out in geqo_main.c) but is being built anyway. Making the called code have #if guards similar to the calling code saves a couple of kilobytes of executable size and should make the coverage numbers more reflective of reality.
It's arguable that we should just delete all the unused recombination mechanisms altogether, but I didn't feel a need to go that far today. Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/9db7d47f909482ac2b76c28f5e9a2ef48fb19b9d Modified Files -------------- src/backend/optimizer/geqo/geqo_cx.c | 3 +++ src/backend/optimizer/geqo/geqo_erx.c | 3 +++ src/backend/optimizer/geqo/geqo_main.c | 4 ++-- src/backend/optimizer/geqo/geqo_mutation.c | 4 ++++ src/backend/optimizer/geqo/geqo_ox1.c | 3 +++ src/backend/optimizer/geqo/geqo_ox2.c | 3 +++ src/backend/optimizer/geqo/geqo_pmx.c | 3 +++ src/backend/optimizer/geqo/geqo_px.c | 3 +++ src/backend/optimizer/geqo/geqo_recombination.c | 5 +++++ src/include/optimizer/geqo.h | 2 +- 10 files changed, 30 insertions(+), 3 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers