[MCOL-677] Columnstore executes join on incompatible types Created: 2017-04-23 Updated: 2017-09-11 Resolved: 2017-05-02 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | ExeMgr |
| Affects Version/s: | 1.0.8, 1.1.0 |
| Fix Version/s: | 1.1.0 |
| Type: | Bug | Priority: | Major |
| Reporter: | Mateusz Zakarczemny | Assignee: | Daniel Lee (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | relnote | ||
| Issue Links: |
|
||||||||
| Sprint: | 2017-8, 2017-9 | ||||||||
| Description |
|
Join on two columns
Produce
But join on single column:
Results in error:
In think in both cases we should have error. I also observed on larger table that even if in first case query was executes results are sometimes incorrect (even it it is left join it behave like ordinary join) |
| Comments |
| Comment by Andrew Hutchings (Inactive) [ 2017-04-24 ] | ||||||||||||||||||||||||||||||
|
Confirmed... This gets marked as an incompatible join in jlf_execplantojoblist.cpp but we skip 1c in jlf_tuplejoblist.cpp because we have a valid join on the tables as well. This means that the incompatible join map doesn't get converted into an error. Suggested fix is to move the incompatible join map check from jlf_tuplejoblist.cpp further up the code. | ||||||||||||||||||||||||||||||
| Comment by Andrew Hutchings (Inactive) [ 2017-04-25 ] | ||||||||||||||||||||||||||||||
|
Patch in develop and regression suite. I have not yet backported this to 1.0 as it affects behaviour of joins in several other cases. | ||||||||||||||||||||||||||||||
| Comment by Daniel Lee (Inactive) [ 2017-05-02 ] | ||||||||||||||||||||||||||||||
|
Build tested: [root@localhost mariadb-columnstore-server]# git show Merge pull request #45 from mariadb-corporation/FixPackageName Change the package name to match engines format [root@localhost mariadb-columnstore-engine]# git show Merge branch ' I reproduced the issue in 1.0.8-1. Also in MariaDB 10.2.5, the same queries returned the results as the following: MariaDB [mytest]> select a., b.
-----
----- MariaDB [mytest]> select a., b.
-----
----- ColumnStore returned the following: MariaDB [mytest]> select a., b. As mentioned in the comment, incompatible data type check has moved higher up in the logic. But should we fixed this issue instead? I am not sure what is involved though. | ||||||||||||||||||||||||||||||
| Comment by Daniel Lee (Inactive) [ 2017-05-02 ] | ||||||||||||||||||||||||||||||
|
Created |