#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(-)