Hi!
On 09.09.2024 13:36, Alexander Korotkov wrote:
On Wed, Sep 4, 2024 at 6:42 PM Alena Rybakina<a.rybak...@postgrespro.ru> wrote:
On 04.09.2024 18:31, Alena Rybakina wrote:
I rewrote the tests with integer types. Thanks for your suggestion. If
you don't mind, I've updated the diff file you attached earlier to
include the tests.
Sorry, I've just noticed that one of your changes with the regression
test wasn't included. I fixed it here.
Please, find the revised patchset attached. I've integrated the fixes
by you and Andrei in the thread.
Thank you for your work! It is fine now.
Also, I've addressed the note from
Andrei [1] about construction of RestrictInfos.
I decided to use make_simple_restrictinfo() in
match_orclause_to_indexcol(), because I've seen its usage in
get_index_clause_from_support().
I agree with that. I noticed this function is used for formation quals
from modified clauses. We have the same case in our patch.
Also, I agree it get it's wrong to directly copy RestrictInfo struct
in group_similar_or_args(). Instead, I've renamed
make_restrictinfo_internal() to make_plain_restrictinfo(), which is
intended to handle non-recursive cases when you've children already
wrapped with RestrictInfos.
I am willing to agree with renaming function because it processes the
plain expression without recursive functionality sub expression.
make_plain_restrictinfo() now used in
group_similar_or_args().
Hopefully, this item is resolved by now.
Links.
1.https://www.postgresql.org/message-id/60760203-4917-4c6c-ac74-a5ee764735a4%40gmail.com
I think the case didn't resolve. As I understood the problem is related
to uncleared cached estimations to default values, namely eval_cost,
norm_selec, outer_selec variables in RestrictInfo.
I assume we should reset it only for RestrictInfo including
ScalarArrayOpExpr object that we got before after transformation.
--
Regards,
Alena Rybakina
Postgres Professional