[MCOL-1968] wrong string comparisation after dataimport and extents Created: 2018-11-26 Updated: 2020-08-25 Resolved: 2019-06-18 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | None |
| Affects Version/s: | 1.1.5, 1.1.6, 1.2.5 |
| Fix Version/s: | 1.1.0 |
| Type: | Bug | Priority: | Major |
| Reporter: | Richard Stracke | Assignee: | Daniel Lee (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
||||||||||||||||
| Issue Links: |
|
||||||||||||||||
| Sprint: | 2019-06 | ||||||||||||||||
| Description |
|
To Reproduce Copy attached export-fc.csv to /usr/local/mariadb/columnstore/mysql/db
Comparisation result in where clause is everytime 0
It works with converting
Interesting is, if we create random strings into an innodb table and inserting into a columnstore table, the opposite is the case Testcase:
|
| Comments |
| Comment by Andrew Hutchings (Inactive) [ 2019-06-10 ] | ||||
|
Somehow during the LDI the min/max values are getting bad data. This is causing PBE on equality matching when not part of a function. | ||||
| Comment by Andrew Hutchings (Inactive) [ 2019-06-10 ] | ||||
|
There is bad data in the import file. One value is hex C2 AB 33. For some reason the Min value is getting set to the first 2 bytes of this (with reversed byte order). This doesn't happen with direct cpimport which seems to imply some kind of bad manipulation when LDI is used. | ||||
| Comment by Andrew Hutchings (Inactive) [ 2019-06-11 ] | ||||
|
If the first byte of a char/varchar was >= 0x80 the min/max would break for that extent. Submitted patch fixes that. | ||||
| Comment by Daniel Lee (Inactive) [ 2019-06-18 ] | ||||
|
Build verified: 1.1.8-1 nightly [root@localhost ~]# cat gitversionInfo.txt Reproduced the issue in 1.1.6-1 and verified the fix in 1.1.8-1 nightly. [root@localhost ~]# mcsmysql mytest Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [mytest]> DROP TABLE IF EXISTS t1; MariaDB [mytest]> MariaDB [mytest]> LOAD DATA INFILE '/tmp/export-fc.csv' MariaDB [mytest]> select COUNT
----------
---------- MariaDB [mytest]> select COUNT
----------
---------- |