aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract/database_limits.rb
blob: 4118ea7b31b35dc1882d20c3e6c31532142cef1b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
module ActiveRecord
  module ConnectionAdapters # :nodoc:
    module DatabaseLimits

      # the maximum length of a table alias
      def table_alias_length
        255
      end

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

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

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

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

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

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

      # the maximum number of elements in an IN (x,y,z) clause
      def in_clause_length
        65535
      end

      # the maximum length of a SQL query
      def sql_query_length
        1048575
      end

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

    end
  end
end