[MCOL-603] sum of col=value fails with Internal error: std::bad_typeid Created: 2017-03-02 Updated: 2023-02-06 Resolved: 2022-11-28 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | PrimProc |
| Affects Version/s: | 1.0.7 |
| Fix Version/s: | 22.08.8 |
| Type: | Bug | Priority: | Major |
| Reporter: | David Thompson (Inactive) | Assignee: | David Hall (Inactive) |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | community | ||
| Issue Links: |
|
||||||||
| Epic Link: | ColumnStore Compatibility Improvements | ||||||||
| Sprint: | 2017-20, 2021-17, 2022-22 | ||||||||
| Assigned for Review: | |
||||||||
| Assigned for Testing: | |
||||||||
| Description |
|
I have a probleme with this patch https://jira.mariadb.org/browse/MCOL-301 The test is ok :
But I am obliged to add *(1*1) . Too bad
|
| Comments |
| Comment by David Thompson (Inactive) [ 2017-03-02 ] | ||||||||||||||||||||||||||||||||||||||||||
|
group thread: https://groups.google.com/forum/#!topic/mariadb-columnstore/4XJ9VqwLcrQ | ||||||||||||||||||||||||||||||||||||||||||
| Comment by Andrew Hutchings (Inactive) [ 2017-03-03 ] | ||||||||||||||||||||||||||||||||||||||||||
|
The good news is it isn't caused by the fix for A quick assessment and I've found the problem is happening in ExeMgr during the execution instead of the storage engine plugin during the parsing of the query as in It is tripping up on this line:
We get here because we appear to have an AggregateColumn with no functionParms which probably shouldn't happen (the code doesn't handle that). So there are two bugs here: 1. The error message should handle when srcp.get() is NULL | ||||||||||||||||||||||||||||||||||||||||||
| Comment by David Hall (Inactive) [ 2022-10-21 ] | ||||||||||||||||||||||||||||||||||||||||||
|
buildAggregateColumn() calls buildFunctionColumn(), which upon seeing the EQ_FUNC, short circuits out and returns NULL. Nothing notices, so an empty parm list is created and subsequent code isn't able to handle that. By setting fatalParseError here, we get an error rather than an Assert.
Somehow, buildArithmeticFunction – which is called by buildAgggregateColumn in the ((a=1)*1) case – handles the NULL return by calling buildParsseTree after detecting the NULL. I think this may be possible in the failing case as well. In fact, it could conceivably work for all cases of EQ_FUNC and similar. I will investigate. | ||||||||||||||||||||||||||||||||||||||||||
| Comment by David Hall (Inactive) [ 2022-10-24 ] | ||||||||||||||||||||||||||||||||||||||||||
|
The following functions aren't supported in the SELECT clause in columnstore Fixed to emit error message rather than crash. | ||||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Lee (Inactive) [ 2022-11-01 ] | ||||||||||||||||||||||||||||||||||||||||||
|
Build tested: 22.11.01 (#5838) Repeated the test case in the description and got a "Lost connect to ExeMgr" error:
In err.log
| ||||||||||||||||||||||||||||||||||||||||||
| Comment by Daniel Lee (Inactive) [ 2022-11-28 ] | ||||||||||||||||||||||||||||||||||||||||||
|
Build verified: latest in develop branch engine: 93a2e7eb8bfafe905997bbdcc77e58688ed87f79 It now returned the expected error. Please note that "select sum(1) from t1;" returned 6, as innodb did, not 1, as described in the description.
|