Re: POC, WIP: OR-clause support for indexes
Alena Rybakina <a.rybakina@postgrespro.ru>
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Make group_similar_or_args() reorder clause list as little as possible
- 775a06d44c04 18.0 landed
-
Allow usage of match_orclause_to_indexcol() for joins
- 627d63419e22 18.0 landed
-
Skip not SOAP-supported indexes while transforming an OR clause into SAOP
- 5bba0546eecb 18.0 landed
-
Remove the wrong assertion from match_orclause_to_indexcol()
- d4d11940df94 18.0 landed
-
Teach bitmap path generation about transforming OR-clauses to SAOP's
- ae4569161a27 18.0 landed
-
Transform OR-clauses to SAOP's during index matching
- d4378c0005e6 18.0 landed
-
Fix the value of or_to_any_transform_limit in postgresql.conf.sample
- 2af75e117478 17.0 landed
-
Transform OR clauses to ANY expression
- 72bd38cc99a1 17.0 landed
-
MergeAttributes code deduplication
- 64444ce071f6 17.0 cited
-
SEARCH and CYCLE clauses
- 3696a600e229 14.0 cited
-
Improve estimation of OR clauses using extended statistics.
- 25a9e54d2db3 14.0 cited
-
Teach btree to handle ScalarArrayOpExpr quals natively.
- 9e8da0f75731 9.2.0 cited
-
Revise collation derivation method and expression-tree representation.
- b310b6e31ce5 9.1.0 cited
-
Instead of trying to force WHERE clauses into CNF or DNF normal form,
- 9888192fb773 8.0.0 cited
Hi! On 09.09.2024 13:36, Alexander Korotkov wrote: > On Wed, Sep 4, 2024 at 6:42 PM Alena Rybakina<a.rybakina@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