[MCOL-4388] Equality does not respect the NOPAD collation attribute Created: 2020-11-12 Updated: 2021-02-15 Resolved: 2020-12-04 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | PrimProc |
| Affects Version/s: | 5.4.3 |
| Fix Version/s: | 5.5.1 |
| Type: | Bug | Priority: | Major |
| Reporter: | Alexander Barkov | Assignee: | Daniel Lee (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | datatype | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||
| Description |
|
I create a table with a VARCHAR column using latin1_swedish_nopad_ci as a collation. I expect strings that have different number of trailing spaces to be compared as not equal. But in fact ColumnStore ignores the NOPAD collation attribute in the equality operator and compares 'a' and 'a ' as equal. This script demonstrates the problem:
Notice, it returned two rows. Only the row with the hex value 61 is expected.
Notice, it returned two rows. Only the row with the hex value 6120 is expected. Note, if I run the same script with another engine, e.g. InnoDB, it returns a correct result:
|
| Comments |
| Comment by Alexander Barkov [ 2020-11-12 ] | ||||||||||
|
Note, comparison of two fields seems to work fine:
| ||||||||||
| Comment by Daniel Lee (Inactive) [ 2020-12-04 ] | ||||||||||
|
Build verified: 5.5.1 (Drone 1265) The query now returns the same result as innodb. |