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]
