<commit_before>require 'qreport/report_run'

module Qreport
  class ReportRun
    # Delays pulling in entire result set to determine columns of report result table.
    class Data
      attr_accessor :report_run

      def initialize report_run; @report_run = report_run; end

      def columns; _select0.columns; end
      def type_names; _select0.type_names; end

      def rows
        @rows ||= _select.rows
      end

      # Delegate all other methods to the Connection::Query object.
      def method_missing sel, *args, &blk
        _select.send(sel, *args, &blk)
      end

private

      def _select
        @_select ||= report_run._select
      end

      def _select0
        @_select0 ||= (@_select || report_run._select(:limit => 0))
      end

    end
  end
end
<commit_msg>Dont copy to @rows.<commit_after>require 'qreport/report_run'

module Qreport
  class ReportRun
    # Delays pulling in entire result set to determine columns of report result table.
    class Data
      attr_accessor :report_run

      def initialize report_run; @report_run = report_run; end

      def columns;    _select0.columns; end
      def type_names; _select0.type_names; end
      def rows;       _select.rows; end

      # Delegate all other methods to the Connection::Query object.
      def method_missing sel, *args, &blk
        _select.send(sel, *args, &blk)
      end

private

      def _select
        @_select ||= report_run._select
      end

      def _select0
        @_select0 ||= (@_select || report_run._select(:limit => 0))
      end

    end
  end
end

{'fraction_non_alphanumeric': 0.0751592356687898, 'fraction_numerical': 0.006369426751592357, 'mean_word_length': 2.483370288248337, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7366523', 'n_tokens_mistral': 481, 'n_tokens_neox': 463, 'n_words': 152}