gyorfimi commented on issue #12285:
URL: https://github.com/apache/pinot/issues/12285#issuecomment-1899032204

   I've made a little change in `TransformOperandFactory`, putting the 'IN' and 
'NOT_IN' operator in the case expression:
   ````
   private static TransformOperand 
getTransformOperand(RexExpression.FunctionCall functionCall, DataSchema 
dataSchema) {
       List<RexExpression> operands = functionCall.getFunctionOperands();
       int numOperands = operands.size();
       String canonicalName = 
OperatorUtils.canonicalizeFunctionName(functionCall.getFunctionName());
       switch (canonicalName) {
         case "IN":
           Preconditions.checkState(numOperands >= 2, "IN takes >=2 arguments, 
got: %s", numOperands);
           return new FilterOperand.In(operands, dataSchema, false);
         case "NOT_IN":
           Preconditions.checkState(numOperands >= 2, "NOT_IN takes >=2 
arguments, got: %s", numOperands);
           return new FilterOperand.In(operands, dataSchema, true);
         case "AND":
        .....
   ````         
   
   And I've implemented the `In` class, the engine starts working well. I'm not 
sure, this is the good solution, but it seems to be a fix.
         


-- 
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: [email protected]

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