code: public ResultSet getResults() {
          final SQLListenerContextImpl context = startContext(connection(), queryMixin.getMetadata());
          String queryString = null;
          List<Object> constants = ImmutableList.of();
  
          try {
              listeners.preRender(context);
              SQLSerializer serializer = serialize(false);
              queryString = serializer.toString();
              logQuery(queryString, serializer.getConstants());
              context.addSQL(getSQL(serializer));
              listeners.rendered(context);
  
              listeners.notifyQuery(queryMixin.getMetadata());
  
              constants = serializer.getConstants();
  
              listeners.prePrepare(context);
              final PreparedStatement stmt = getPreparedStatement(queryString);
              setParameters(stmt, constants, serializer.getConstantPaths(), getMetadata().getParams());
              context.addPreparedStatement(stmt);
              listeners.prepared(context);
  
              listeners.preExecute(context);
              final ResultSet rs = stmt.executeQuery();
              listeners.executed(context);
  
              return new ResultSetAdapter(rs) {
                  @Override
                  public void close() throws SQLException {
                      try {
                          super.close();
                      } finally {
                          stmt.close();
                          reset();
                          endContext(context);
                      }
                  }
              };
          } catch (SQLException e) {
              onException(context, e);
              reset();
              endContext(context);
              throw configuration.translate(queryString, constants, e);
          }
      }
docs: Get the results as a JDBC ResultSet
  
  @return results as ResultSet