-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feature](nereids) extend infer predicates #40878
base: master
Are you sure you want to change the base?
[feature](nereids) extend infer predicates #40878
Conversation
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
run buildall |
TPC-H: Total hot run time: 41977 ms
|
TPC-DS: Total hot run time: 199707 ms
|
ClickBench: Total hot run time: 31.11 s
|
run buildall |
TPC-H: Total hot run time: 41685 ms
|
TPC-DS: Total hot run time: 195312 ms
|
ClickBench: Total hot run time: 32.44 s
|
5903fb1
to
db0de10
Compare
run buildall |
db0de10
to
0129675
Compare
run buildall |
0129675
to
3ab2b20
Compare
run buildall |
// KIND, either express or implied. See the License for the | ||
// specific language governing permissions and limitations | ||
// under the License. | ||
suite("extend_infer_equal_predicate") { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- add ut for non-inner join cases
- add ut containing subquery, e.g, with constant propagation, etc.
- add ut which outer->inner may happen.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
case: select * from t1 where t1.c1 exists (select t2.c2 from t2, t3 where t1.c2 = t2.c3 and t2.c3 = t3.c1) and t1.c2 = 1;
968e382
to
5f3dee6
Compare
run buildall |
6a35e96
to
895d95b
Compare
run buildall |
2 similar comments
run buildall |
run buildall |
de5a696
to
647b637
Compare
run buildall |
647b637
to
e81e6bb
Compare
run buildall |
e81e6bb
to
1cc9075
Compare
run buildall |
[Feature](nereids) extend derivation of equivalence predicate [Feature](nereids) extend derivation of equivalence predicate literal should not be targetExpr and produce new predicate delete useless code delete useless code [Feature](nereids) extend derivation of equivalence predicate fix a=1 b=1 a=2 deduce to a=b [Feature](nereids) extend derivation of equivalence predicate [Feature](nereids) extend derivation of equivalence predicate [Feature](nereids) extend derivation of equivalence predicate [Feature](nereids) extend derivation of equivalence predicate add feut only support slot equalTo infer, remove the expr equalTo infer support fix feut change the logic of pull up predicate from join, and support a=1 b=1 infer a=b not infer same table predicates revert 'change the logic of pull up predicate from join, and support a=1 b=1 infer a=b' sort the equal set, and infer a=b a=c to b=c in order
…ualTo in unequal infer and change pull up join predicates
… decimalv3, and add feut for unequal predicate infer
…qual with literal(t1.a=t2.b=t3.c=1)
…predicates. keep the order of predicates
…literal in infer, add try catch in generate fitlers
7c96790
to
c2e5ad2
Compare
run buildall |
run buildall |
This pr refactors the PredicatePropagation module and adds support for predicate deduction, including:
But still has something to do in predicate inference:
tpcds 1000 total time
before pr:
689804 | 554230 | 550065 | 546197
after pr:
670477 | 551991 | 544594 | 542985
No performance degradation was observed