Sha256: e8633fc35890c008001ad455afcc24a5e340b0766f3e82d1f758b2f6767609a8

Contents?: true

Size: 1.66 KB

Versions: 25

Compression:

Stored size: 1.66 KB

Contents

# frozen_string_literal: true

module ActiveRecord
  module ConnectionAdapters # :nodoc:
    module DatabaseLimits
      # Returns the maximum length of a table alias.
      def table_alias_length
        255
      end

      # Returns the maximum length of a column name.
      def column_name_length
        64
      end

      # Returns the maximum length of a table name.
      def table_name_length
        64
      end

      # Returns the maximum allowed length for an index name. This
      # limit is enforced by \Rails and is less than or equal to
      # #index_name_length. The gap between
      # #index_name_length is to allow internal \Rails
      # operations to use prefixes in temporary operations.
      def allowed_index_name_length
        index_name_length
      end

      # Returns the maximum length of an index name.
      def index_name_length
        64
      end

      # Returns the maximum number of columns per table.
      def columns_per_table
        1024
      end

      # Returns the maximum number of indexes per table.
      def indexes_per_table
        16
      end

      # Returns the maximum number of columns in a multicolumn index.
      def columns_per_multicolumn_index
        16
      end

      # Returns the maximum number of elements in an IN (x,y,z) clause.
      # +nil+ means no limit.
      def in_clause_length
        nil
      end

      # Returns the maximum length of an SQL query.
      def sql_query_length
        1048575
      end

      # Returns maximum number of joins in a single query.
      def joins_per_query
        256
      end

      private
        def bind_params_length
          65535
        end
    end
  end
end

Version data entries

25 entries across 25 versions & 3 rubygems

Version Path
activerecord-5.2.8.1 lib/active_record/connection_adapters/abstract/database_limits.rb
activerecord-5.2.8 lib/active_record/connection_adapters/abstract/database_limits.rb
activerecord-5.2.7.1 lib/active_record/connection_adapters/abstract/database_limits.rb
activerecord-5.2.7 lib/active_record/connection_adapters/abstract/database_limits.rb
activerecord-5.2.6.3 lib/active_record/connection_adapters/abstract/database_limits.rb
activerecord-5.2.6.2 lib/active_record/connection_adapters/abstract/database_limits.rb
activerecord-5.2.6.1 lib/active_record/connection_adapters/abstract/database_limits.rb
activerecord-5.2.6 lib/active_record/connection_adapters/abstract/database_limits.rb
activerecord-5.2.4.6 lib/active_record/connection_adapters/abstract/database_limits.rb
activerecord-5.2.5 lib/active_record/connection_adapters/abstract/database_limits.rb
activerecord-5.2.4.5 lib/active_record/connection_adapters/abstract/database_limits.rb
activerecord-5.2.4.4 lib/active_record/connection_adapters/abstract/database_limits.rb
activerecord-5.2.4.3 lib/active_record/connection_adapters/abstract/database_limits.rb
activerecord-5.2.4.2 lib/active_record/connection_adapters/abstract/database_limits.rb
activerecord-5.2.4.1 lib/active_record/connection_adapters/abstract/database_limits.rb
activerecord-5.2.4 lib/active_record/connection_adapters/abstract/database_limits.rb
activerecord-5.2.4.rc1 lib/active_record/connection_adapters/abstract/database_limits.rb
spiral_form-0.1.1 vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_limits.rb
spiral_form-0.1.0 vendor/bundle/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/database_limits.rb
activerecord-5.2.3 lib/active_record/connection_adapters/abstract/database_limits.rb