-
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
[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 |
…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
9948b07
to
6ebca0b
Compare
run buildall |
run buildall |
PR approved by at least one committer and no changes requested. |
This pr refactors the PredicatePropagation module and adds support for predicate deduction, including: 1. Support for predicate deduction of like, not in, !=; 2. Support for predicate deduction of abs(b)=1 for a=b and abs(a)=1; 3. Support for transitive deduction of non-equivalent relations, for example, a>b b>1 leads to a>1. 4. Deleted useless predicates. But still has something to do in predicate inference: 1. support expr in infer predicate, e.g. abs(t1.c1)>abs(t2.c2) and abs(t1.c1)<1 2. need to add expr qualifier info, to determine whether abs(t1.c1) and abs(t2.c2) is from same table.
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