-
- Downloads
Rethink the order of expression preprocessing: eval_const_expressions
really ought to run before canonicalize_qual, because it can now produce forms that canonicalize_qual knows how to improve (eg, NOT clauses). Also, because eval_const_expressions already knows about flattening nested ANDs and ORs into N-argument form, the initial flatten_andors pass in canonicalize_qual is now completely redundant and can be removed. This doesn't save a whole lot of code, but the time and palloc traffic eliminated is a useful gain on large expression trees.
Showing
- src/backend/optimizer/path/indxpath.c 3 additions, 3 deletionssrc/backend/optimizer/path/indxpath.c
- src/backend/optimizer/plan/planner.c 11 additions, 12 deletionssrc/backend/optimizer/plan/planner.c
- src/backend/optimizer/prep/prepqual.c 24 additions, 103 deletionssrc/backend/optimizer/prep/prepqual.c
- src/backend/optimizer/util/clauses.c 6 additions, 3 deletionssrc/backend/optimizer/util/clauses.c
- src/backend/optimizer/util/restrictinfo.c 2 additions, 2 deletionssrc/backend/optimizer/util/restrictinfo.c
- src/backend/utils/cache/relcache.c 14 additions, 15 deletionssrc/backend/utils/cache/relcache.c
- src/include/optimizer/prep.h 1 addition, 2 deletionssrc/include/optimizer/prep.h
Loading
Please register or sign in to comment