[MCOL-1023] Add char(>8) and double to feature extends elimination Created: 2017-11-09 Updated: 2022-02-25 Resolved: 2017-12-08 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | ExeMgr |
| Affects Version/s: | 1.0.0 |
| Fix Version/s: | Icebox |
| Type: | New Feature | Priority: | Major |
| Reporter: | Richard Stracke | Assignee: | Todd Stoffel (Inactive) |
| Resolution: | Duplicate | Votes: | 1 |
| Labels: | extentelimination | ||
| Issue Links: |
|
||||||||||||
| Description |
|
Extent exlimination works regarding "filter value is compared to the minimum and maximum values stored in each extent for the column: If the filter value is outside of a extent's min-max value range, the extent is eliminated." This is not the case for the datatypes char(>8) and double (+real) To Reproduce: Create Table
Activate extends elimination with insert value and select col from table for every column.
CHAR(8) and int will be recognized feature. CHAR(9) also double(real) even if column length is only 8. It would be nice and a performance bonus, if these datatypes will be included into the extents elimination feature. Richard |
| Comments |
| Comment by Andrew Hutchings (Inactive) [ 2017-11-09 ] |
|
These are two different problems to solve that should eventually have their own tickets. The float/double is a problem because the binary representation is not in order (0.1 in binary is more than 1.0 for example). So we would need some interpretation of the data beyond basic binary ordering (it may not matter for display purposes?). The CHAR issue would require re-architecting the system catalog. The data storage for min/max is an 8-byte value and this would need to become a varying length column. It may instead be better to implement a hash index for dictionaries as you are probably more likely to do equality matching than value ranges for CHAR/VARCHAR in ColumnStore (made simpler because a hash index is already partly implemented from InfiniDB days but not completed and disabled). |
| Comment by Dipti Joshi (Inactive) [ 2017-12-08 ] |
|
|