-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[Fix](Nereids) ignore match expression logging warning message #41546
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
[Fix](Nereids) ignore match expression logging warning message #41546
Conversation
|
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
bc547fc to
fcc0921
Compare
|
run buildall |
|
run p0 |
|
run cloud_p0 |
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
| } catch (Exception e) { | ||
| LOG.warn("expression {} translate to legacy expr failed. ", expr, e); | ||
| // match expression need to contain slotReference so it can not be folded pr:#39652 | ||
| if (!(expr.containsType(Match.class))) { |
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.
i think we should not do tranlate match at all? so we should add match into shouldSkipFold? because we need to fold its children
|
run buildall |
| // This kind of function is often used to change the attributes of columns. | ||
| // Folding will make it impossible to construct columns such as nullable(1). | ||
| if (expr instanceof Nullable || expr instanceof NonNullable) { | ||
| if (expr.containsType(Nullable.class) || expr.containsType(NonNullable.class)) { |
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.
this will traverse expr tree too many times, could we only traverse once by expr.anyMatch(e -> shouldSkipFold(e)) ?
3c1ecaa to
c1c12e9
Compare
|
run buildall |
|
PR approved by at least one committer and no changes requested. |
|
run buildall |
|
run p0 |
|
PR approved by at least one committer and no changes requested. |
…e#41546) when match do not contains slot reference it would throw an exception when translate to original planner expr. this kind of message is not need to be recorded
…e#41546) when match do not contains slot reference it would throw an exception when translate to original planner expr. this kind of message is not need to be recorded
…#41164)(#41331)(#41546) (#41838) cherry-pick: #39723 #41164 #41331 #41546 because later problem is intro by prev one, so put them together when using fold constant by be, the return type of substring('123456',1, 3) would changed to be text, which we want it to be 3 remove windowframe in window expression to avoid folding constant on be
…e#41546) when match do not contains slot reference it would throw an exception when translate to original planner expr. this kind of message is not need to be recorded
when match do not contains slot reference it would throw an exception when translate to original planner expr.
this kind of message is not need to be recorded