zhangshunyu created CARBONDATA-187:
--------------------------------------
Summary: when using Decimal type as dictionary the generated
surrogate key would mismatch for the same values during increment load
Key: CARBONDATA-187
URL: https://issues.apache.org/jira/browse/CARBONDATA-187
Project: CarbonData
Issue Type: Bug
Reporter: zhangshunyu
Assignee: zhangshunyu
Fix bug: when using Decimal type as dictionary gen surrogate key will mismatch
for the same values during increment load.
For example, when we specify Decimal type column using dictionary, as the using
of DataTypeUtil.normalizeColumnValueForItsDataType, deciaml data for example
45, if we specify the precision of this column as 3, parsedValue would be
45.000, and this 45.000 would be written into dic file by
writer.write(parsedValue). As a result, the second time we load the same data
45, dictionary.getSurrogateKey(value) would compare the value with dic value,
but here the value is 45, our dic value is 45.000 stored as string, so dic
would think that i don not have 45, this would lead to repeated values in dic.
The dic would be like this: @NU#LL$!100.050 100.055 �45.000� 100.050 �45.000,
this is a bug.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)