Do ScalarArrayOp estimation correctly when array is a stable expression. Most estimation functions apply estimate_expression_value to see if they can reduce an expression to a constant; the key difference is that it allows evaluation of stable as well as immutable functions in hopes of ending up with a simple Const node. scalararraysel didn't get the memo though, and neither did gincost_opexpr/gincost_scalararrayopexpr. Fix that, and remove a now-unnecessary estimate_expression_value step in the subsidiary function scalararraysel_containment.
Per complaint from Alexey Klyukin. Back-patch to 9.3. The problem goes back further, but I'm hesitant to change estimation behavior in long-stable release branches. Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/77585bce03042e8fee62d8df0dde9c008a904699 Modified Files -------------- src/backend/utils/adt/array_selfuncs.c | 15 ++++++++------- src/backend/utils/adt/selfuncs.c | 22 ++++++++++++++++++---- 2 files changed, 26 insertions(+), 11 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
