<commit_before>module Arel

  class SelectManager
    def as other
      Nodes::TableAlias.new Nodes::SqlLiteral.new(other), Nodes::Grouping.new(@ast)
    end
  end

  class Table
    alias :table_name :name

    def [] name
      ::Arel::Attribute.new self, name.to_sym
    end
  end

  module Nodes
    class Node
      def not
        Nodes::Not.new self
      end
    end

    remove_const :And
    class And < Arel::Nodes::Node
      attr_reader :children

      def initialize children, right = nil
        unless Array === children
          children = [children, right]
        end
        @children = children
      end

      def left
        children.first
      end
<commit_msg>Use "column" cache for attrs in 3.0.x. Fixes #152<commit_after>module Arel

  class SelectManager
    def as other
      Nodes::TableAlias.new Nodes::SqlLiteral.new(other), Nodes::Grouping.new(@ast)
    end
  end

  class Table
    alias :table_name :name

    def [] name
      if table_exists?
        columns.find { |column| column.name == name.to_sym }
      else
        ::Arel::Attribute.new self, name.to_sym
      end
    end
  end

  module Nodes
    class Node
      def not
        Nodes::Not.new self
      end
    end

    remove_const :And
    class And < Arel::Nodes::Node
      attr_reader :children

      def initialize children, right = nil
        unless Array === children
          children = [children, right]
        end
        @children = children
      end

      def left
        children.first
      end

{'fraction_non_alphanumeric': 0.07747866053841103, 'fraction_numerical': 0.003282994090610637, 'mean_word_length': 1.9649805447470816, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 3, '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': '1077521', 'n_tokens_mistral': 463, 'n_tokens_neox': 442, 'n_words': 136}