No documentation

# File activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb, line 927def add_index_options(table_name,column_name,options={})#:nodoc:column_names=Array(column_name)index_name=index_name(table_name,column:column_names)options.assert_valid_keys(:unique,:order,:name,:where,:length,:internal,:using,:algorithm,:type)index_type=options[:unique]?"UNIQUE":""index_type=options[:type].to_sifoptions.key?(:type)index_name=options[:name].to_sifoptions.key?(:name)max_index_length=options.fetch(:internal,false)?index_name_length:allowed_index_name_lengthifoptions.key?(:algorithm)algorithm=index_algorithms.fetch(options[:algorithm]){raiseArgumentError.new("Algorithm must be one of the following: #{index_algorithms.keys.map(&:inspect).join(', ')}")}endusing="USING #{options[:using]}"ifoptions[:using].present?ifsupports_partial_index?index_options=options[:where]?" WHERE #{options[:where]}":""endifindex_name.length>max_index_lengthraiseArgumentError,"Index name '#{index_name}' on table '#{table_name}' is too long; the limit is #{max_index_length} characters"endiftable_exists?(table_name)&&index_name_exists?(table_name,index_name,false)raiseArgumentError,"Index name '#{index_name}' on table '#{table_name}' already exists"endindex_columns=quoted_columns_for_index(column_names,options).join(", ")[index_name,index_type,index_columns,index_options,algorithm,using]end