fix(plugin): MCOL-6088 This ensures that `SELECT col AS alias ... GRO… #3859
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix for GROUP BY Ambiguous Column Reference Bug
Problem Description
When a GROUP BY clause contains a column name that is ambiguous (i.e., it matches both a table column and a SELECT list alias pointing to a different column), ColumnStore was throwing an error:
The expected behavior is to handle the ambiguity gracefully, similar to how standard MariaDB would handle it (with a warning if appropriate).
Example Query
Root Cause
In the
processGroupBy()function inha_mcs_execplan.cpp, when processing aFIELD_ITEMin the GROUP BY clause:buildSimpleColumn()was called to create a column referencenonSupportItem, triggering the errorSolution
Modified
processGroupBy()function inha_mcs_execplan.cppto handle ambiguous column references more gracefully:buildSimpleColumn()succeeds, use the table column and check SELECT list bysameColumn()matchbuildSimpleColumn()returns NULL or non-SimpleColumn, match by alias name in SELECT list