Support min/max index optimizations on boolean columns.
Tom Lane <tgl@sss.pgh.pa.us>
Support min/max index optimizations on boolean columns. Since bool_and() is equivalent to min(), and bool_or() to max(), we might as well let them be index-optimized in the same way. The practical value of this is debatable at best, but it seems nearly cost-free to enable it. Code-wise, we need only adjust the entries in pg_aggregate. There is a measurable planning speed penalty for a query involving one of these aggregates, but it is only a few percent in simple cases, so that seems acceptable. Marti Raudsepp, reviewed by Abhijit Menon-Sen
Files
| Path | Change | +/− |
|---|---|---|
| src/include/catalog/catversion.h | modified | +1 −1 |
| src/include/catalog/pg_aggregate.h | modified | +3 −3 |
| src/test/regress/expected/opr_sanity.out | modified | +18 −12 |
| src/test/regress/sql/opr_sanity.sql | modified | +2 −2 |