liuchang0520 opened a new issue #6715:
URL: https://github.com/apache/incubator-pinot/issues/6715


   Currently in 
[FieldSpec](https://github.com/apache/incubator-pinot/blob/master/pinot-spi/src/main/java/org/apache/pinot/spi/data/FieldSpec.java),
 
[_defaultNullValue](https://github.com/apache/incubator-pinot/blob/master/pinot-spi/src/main/java/org/apache/pinot/spi/data/FieldSpec.java#L69)
 is set in this way:
   (1) If this field has a user-defined default value, set _defaultNullValue to 
the user-defined one.  
   (2) If not, set _defaultNullValue based on fieldType and dataType.
   The detail is in 
[getDefaultNullValue](https://github.com/apache/incubator-pinot/blob/master/pinot-spi/src/main/java/org/apache/pinot/spi/data/FieldSpec.java#L189).
   
   As a result, we cannot distinguish whether the default value is set from 
user or not. Adding a flag(e.g. isUserDefinedDefaultValue) can resolve this 
issue.
   
   
[_stringDefaultNullValue](https://github.com/apache/incubator-pinot/blob/master/pinot-spi/src/main/java/org/apache/pinot/spi/data/FieldSpec.java#L182)
 is set based on the user-defined default value, but it is a transient field.
   
   This change is required for integration [Null Value Support
   ](https://docs.pinot.apache.org/developers/advanced/null-value-support) with 
our internal Pinot streaming message decoder. Previously we set the null field 
to be default value. After the change, we want to use this flag when the null 
value appears in one field:
   (1) If it has a user-defined default value, set the result as the 
user-defined one.
   (2) If not, set the result as null.
   
   
   CC @chenboat and @Jackie-Jiang  as they are aware of this issue.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to