public synchronized ResultSet executeQuery()

in src/main/java/com/aliyun/odps/jdbc/OdpsStatement.java [208:237]


  public synchronized ResultSet executeQuery(String query) throws SQLException {
    Properties properties = new Properties();

    if (!connHandle.isSkipSqlCheck()) {
      SettingParser.ParseResult parseResult = SettingParser.parse(query);
      query = parseResult.getRemainingQuery();
      properties.putAll(parseResult.getSettings());
    }
    if (StringUtils.isBlank(query)) {
      // only settings, just set properties
      processSetClause(properties);
      return EMPTY_RESULT_SET;
    } else {
      try {
        processSetClauseExtra(properties);
      } catch (OdpsException e) {
        throw new SQLException(e.getMessage(), e);
      }
    }
    // otherwise those properties is just for this query

    if (processUseClause(query)) {
      return EMPTY_RESULT_SET;
    }
    checkClosed();
    beforeExecute();
    runSQL(query, properties, false);

    return hasResultSet() ? getResultSet() : EMPTY_RESULT_SET;
  }