shenyu0127 commented on PR #10650: URL: https://github.com/apache/pinot/pull/10650#issuecomment-1550448591
> > 1. Before [1], the behavior was: a thrift (long, 1) -> a literal (long, 1) -> a literal transform function (int, 1) > > 2. After [1], the behavior is: a thrift (long, 1) -> a literal (long, 1) -> a literal transform function (long, 1) > > 3. In this PR, the behavior is: a thrift (long, 1) -> a literal (int, 1) -> a literal transform function (int, 1) > > > > > > * To me behavior 2 is correct and behavior 1 is incorrect. > > * If we want to keep behavior 1 for backward compatibility, then the behavior 3 is different from behavior 1, will this cause any issues? > > > > [1] #10380 > > So before [1], A. literal (long, 1), literal(int, 1) => thrift(string, 1) => number => literal(int, 1) B. literal (long, INT_MAX+1), => thrift(string, INT_MAX+1) => number => literal(long, 1) Same for floating point. After [1] Behavior A changes, literal(long, 1), literal(int, 1)=> thrift(long,1)=>literal(int,1) Behavior B stays the same. Had an offline discussion with @61yao - The `LiteralContext.getType` method is not used anywhere so we are good. - A minor improvement we can do is to remove the `_literal` and `_dataType` private members in `LiteralTransformFunction` and add two methods `getLiteral` and `getDataType`, which get the value from the member `LiteralContext`. -- 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