protected void setResultSetInternal()

in src/main/java/com/aliyun/odps/jdbc/OdpsStatement.java [859:888]


  protected void setResultSetInternal() throws OdpsException, IOException {
    if (getExecuteMode() == ExecuteMode.OFFLINE && !enableLimit && resultSizeLimit == null) {
      connHandle.log.info(
          "Get result by instance tunnel (" + connHandle.getFetchResultThreadNum() + " Thread, "
          + connHandle.getFetchResultSplitSize() + " records per split, cache "
          + connHandle.getFetchResultPreloadSplitNum() + " split in memory" + ").");
      executeInstance.waitForSuccess();
      Instance instance = executeInstance;
      InstanceDataIterator
          instanceDataIterator =
          new InstanceDataIterator(connHandle.getOdps(), instance, 0, resultCountLimit,
                                   connHandle.getFetchResultSplitSize(),
                                   connHandle.getFetchResultPreloadSplitNum(),
                                   connHandle.getFetchResultThreadNum());
      odpsResultSet = new com.aliyun.odps.data.ResultSet(
          instanceDataIterator,
          instanceDataIterator.getSchema(),
          instanceDataIterator.getRecordCount());
    } else {
      if (sqlExecutor.isUseInstanceTunnel()) {
        connHandle.log.info("Get result by instance tunnel.");
        odpsResultSet =
            sqlExecutor
                .getResultSet(0L, resultCountLimit, resultSizeLimit, enableLimit);
      } else {
        connHandle.log.info("Get result by rest api.");
        odpsResultSet = sqlExecutor.getResultSet();
      }
    }
  }