nizarhejazi commented on code in PR #8503:
URL: https://github.com/apache/pinot/pull/8503#discussion_r849168926


##########
pinot-core/src/main/java/org/apache/pinot/core/common/DataBlockCache.java:
##########
@@ -255,9 +255,10 @@ public String[] getStringValuesForSVColumn(String column) {
    * @param column Column name
    * @param evaluator transform evaluator
    * @param buffer values to fill
+   * @param parseExactBigDecimal parse exact BigDecimal values
    */
-  public void fillValues(String column, TransformEvaluator evaluator, String[] 
buffer) {
-    _dataFetcher.fetchStringValues(column, evaluator, _docIds, _length, 
buffer);
+  public void fillValues(String column, TransformEvaluator evaluator, String[] 
buffer, boolean parseExactBigDecimal) {

Review Comment:
   @Jackie-Jiang Many transformations (e.g. 
`JsonExtractScalarTransformFunction`, `PushDownTransformFunction`) don't 
override `transformToBytesValuesSV` from `BaseTransformFunction` while it 
overrides `transformTo[INT|LONG|FLOAT|DOUBLE]ValuesSV`. Also, `ProjectionBlock` 
and `DataBlockCache` don't implement a method that takes TransformEvaluator: 
`fillValues(ProjectionBlock, TransformEvaluator, byte[][])`.
   
   In case of `JsonExtractScalarTransformFunction`, we need to read BigDecimals 
as strings rather than bytes. I will simplify the logic and abstract the 
details of BigDecimal away.



-- 
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.

To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to