public Object invoke(
      OperatorType operatorType,
      SessionInfo session,
      List<? extends Type> argumentTypes,
      List<Object> arguments) {
    throw new UnsupportedOperationException(
        String.format("OperatorType %s cannot be invoked.", operatorType));
    //    switch (operatorType) {
    //      case ADD:
    //        Object left = arguments.get(0);
    //        Object right = arguments.get(1);
    //        if (left == null || right == null) {
    //          return null;
    //        }
    //
    //        break;
    //      case SUBTRACT:
    //        break;
    //      case MULTIPLY:
    //        break;
    //      case DIVIDE:
    //        break;
    //      case MODULUS:
    //        break;
    //      case NEGATION:
    //        Object value = arguments.get(0);
    //        break;
    //      case EQUAL:
    //        break;
    //      case LESS_THAN:
    //        break;
    //      case LESS_THAN_OR_EQUAL:
    //        break;
    //      default:
    //        throw new UnsupportedOperationException(String.format("OperatorType %s cannot be
    // invoked.", operatorType));
    //    }
  }
Arguments must be the native container type for the corresponding SQL types.

<p>Returns a value in the native container type corresponding to the declared SQL return type
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/InterpretedFunctionInvoker.java