code: public ResultSet executeQuery(final String sql) throws SQLException {
          checkClosed();
  
          // Not an update, so no update count or generated keys
          this.updateCount = -1;
          this.generatedKeys = EMPTY_GENERATED_KEYS.withStatement(this);
  
          try {
              final QueryResult res = this.handler.whenSQLQuery(sql, NO_PARAMS);
              
              this.warning = res.getWarning();
  
              return (this.result = res.getRowList().resultSet(this.maxRows).
                      withStatement(this).withWarning(this.warning));
  
          } catch (SQLException se) {
              throw se;
          } catch (Exception e) {
              throw new SQLException(e.getMessage(), e);
          } // end of catch
      }
docs: {@inheritDoc}