[MCOL-4823] WHERE varchar_col<char_col returns a wrong result on a large table Created: 2021-07-29 Updated: 2021-12-10 Resolved: 2021-08-24 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | PrimProc |
| Affects Version/s: | 6.1.1 |
| Fix Version/s: | 6.2.1, 6.2.2 |
| Type: | Bug | Priority: | Major |
| Reporter: | Alexander Barkov | Assignee: | Daniel Lee (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Sprint: | 2021-10 | ||||||||
| Description |
|
I create a MyISAM table with some string columns with the latin1_bin collation, insert 122881 records and run a query with a WHERE condition which matches all those records:
It returns all records as expected:
Now I make a ColumnStore table with the same structure and data and run the same SELECT query:
Notice, it returns a wrong result. Moreover, if I repeat the last query multiple times, it can also return a result like this:
But it never returns the expected result 122881. The problem happens because this method:
misses these two lines:
Note, the same method of the parent class, i.e. FilterCommand::duplicate(), does have these two lines! StrFilterCmd::duplicate() fully duplicates FilterCommand::duplicate() with the exeption that the mentioned two members are not coppied. To fix this problem and to avoid similar bugs in the future, the duplicate code should be removed. |
| Comments |
| Comment by Daniel Lee (Inactive) [ 2021-08-05 ] |
|
Build verified: Drone build # 2929 (develop-6 branch) The fixed has been committed to both develop and develop-6 branches. |
| Comment by Daniel Lee (Inactive) [ 2021-08-24 ] |
|
This ticket has been reassigned to 6.2.1, which has been verified (branch develop-6) |