MSQ window functions: Reject MVDs during window processing#17036
MSQ window functions: Reject MVDs during window processing#17036cryptoe merged 3 commits intoapache:masterfrom
Conversation
|
Based on offline discussion, we can wait for GlueingPartitioningOperator to be used, which would make it return a proper error message. So I'll close this PR. |
|
We had some queries like the following giving incorrect results, because the MVDs (List object) were getting converted to string: As per offline discussion with @sreemanamala, have opened this PR and have added another check in This is a temporary measure and would be removed once we have the GlueingPartitioningOperator approach as mentioned previously. |
kgyrtkirk
left a comment
There was a problem hiding this comment.
I'm not sure how frequently people will run into this - but the updates which supposed to be made to this part will make this check as well go away.
Let's have it for now
| { | ||
| return accessor.getObject(pointers[start + rowNum]); | ||
| Object value = accessor.getObject(pointers[start + rowNum]); | ||
| if (ColumnType.STRING.equals(getType()) && value instanceof List) { |
There was a problem hiding this comment.
Since we require this check for druid 31, we can live with this "hackery". Once #17038 gets merged, please remove this check.
cc @Akshat-Jain

Description
This PR aims to reject MVDs when used as
partition bycolumns during window function processing for MSQ engine.Prior to this change, a MSQ query like the following was failing with ClassCastException:
This is a follow-up on #17002, where a similar thing was done for sql-native engine.
This PR has: