diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2014-02-21 17:10:49 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2014-02-21 17:10:49 -0500 |
commit | e8655a77f327bd3fca0f4aaf14b86b540c64ecdf (patch) | |
tree | ba1908a325a4e45b445d5d9f9dc68770b8432fc1 /src/backend/regex/regexec.c | |
parent | 5a7e75849cb595943fc605c4532716e9dd69f8a0 (diff) | |
download | postgresql-e8655a77f327bd3fca0f4aaf14b86b540c64ecdf.tar.gz postgresql-e8655a77f327bd3fca0f4aaf14b86b540c64ecdf.zip |
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.
Diffstat (limited to 'src/backend/regex/regexec.c')
0 files changed, 0 insertions, 0 deletions