@Override
  public CliFunctionResult executeFunction(FunctionContext<Object[]> context)
      throws Exception {
    JdbcConnectorService service = FunctionContextArgumentProvider.getJdbcConnectorService(context);
    // input
    Object[] arguments = context.getArguments();
    RegionMapping regionMapping = (RegionMapping) arguments[0];
    boolean synchronous = (boolean) arguments[1];

    String regionName = regionMapping.getRegionName();
    Region<?, ?> region = verifyRegionExists(context.getCache(), regionName);

    // action
    String member = context.getMemberName();
    String queueName = MappingCommandUtils.createAsyncEventQueueName(regionName);
    alterRegion(region, queueName, synchronous);
    if (isAccessor(region)) {
      return new CliFunctionResult(member, true,
          MappingConstants.THERE_IS_NO_JDBC_MAPPING_ON_PROXY_REGION);
    } else if (!synchronous) {
      createAsyncEventQueue(context.getCache(), queueName,
          region.getAttributes().getDataPolicy().withPartitioning());
    }
    createRegionMapping(service, regionMapping);

    // output
    String message =
        "Created JDBC mapping for region " + regionMapping.getRegionName() + " on " + member;
    return new CliFunctionResult(member, true, message);
  }
The Object[] must always be of size two.
The first element must be a RegionMapping.
The second element must be a Boolean that is true if synchronous.
geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingFunction.java