This PR adds a ton of different things before we move over the optimizer to terrier:
Reorganize the optimizer directory. All stats related files are under optimizer/stats, and all cost model files are under optimizer/cost_model
Cost models are now entirely in header files. This is to fit with a theme of portability or "plug-and-play", similar to how indexes are entirely in header files.
Add in the postgres cost model from 15721 that was never merged in
Addition of a trivial cost model under optimizer/cost_model/trivial_cost_model.h. This can be used for debugging or trivial execution. It does not use any statistics, it can be thought of as heuristic based.
Fixes a bug involving MurmurHash in optimizer/stats/stats_util.h
Coverage increased (+0.03%) to 76.54% when pulling 49ba11a4c2f062d1e324e83307a941470d879946 on GustavoAngulo:postgres_cost_model into 3bc6d461dcd10e8f5b8dd6bdcdb0dbfe23d0256e on cmu-db:master.
This PR adds a ton of different things before we move over the optimizer to terrier:
optimizer/stats
, and all cost model files are underoptimizer/cost_model
optimizer/cost_model/trivial_cost_model.h
. This can be used for debugging or trivial execution. It does not use any statistics, it can be thought of as heuristic based.optimizer/stats/stats_util.h