@@ -690,17 +690,6 @@ def last_inserted_id(result)
690690 end
691691 end unless defined? ActiveRecord ::Result
692692
693- # Helper to easily override #table_definition (on AR 3.x/4.0) as :
694- # ```
695- # def table_definition(*args)
696- # new_table_definition(TableDefinition, *args)
697- # end
698- # ```
699- def new_table_definition ( table_definition , *args )
700- table_definition . new ( self ) # args ignored only used for 4.0
701- end
702- private :new_table_definition
703-
704693 # NOTE: make sure if adapter overrides #table_definition that it will
705694 # work on AR 3.x as well as 4.0
706695 if ActiveRecord ::VERSION ::MAJOR > 3
@@ -718,12 +707,19 @@ def create_table_definition(*args)
718707 end
719708
720709 # @note AR-4x arguments expected: `(name, temporary, options)`
721- # @private documented above
710+ # @private documented bellow
722711 def new_table_definition ( table_definition , *args )
723712 table_definition . new native_database_types , *args
724713 end
725714 private :new_table_definition
726715
716+ # @private
717+ def new_index_definition ( table , name , unique , columns , lengths ,
718+ orders = nil , where = nil , type = nil , using = nil )
719+ IndexDefinition . new ( table , name , unique , columns , lengths , orders , where , type , using )
720+ end
721+ private :new_index_definition
722+
727723 #
728724
729725 # Provides backwards-compatibility on ActiveRecord 4.1 for DB adapters
@@ -738,6 +734,31 @@ def add_column_options!(sql, options)
738734 end
739735 public :add_column_options!
740736
737+ else # AR < 4.0
738+
739+ # Helper to easily override #table_definition (on AR 3.x/4.0) as :
740+ # ```
741+ # def table_definition(*args)
742+ # new_table_definition(TableDefinition, *args)
743+ # end
744+ # ```
745+ def new_table_definition ( table_definition , *args )
746+ table_definition . new ( self ) # args ignored only used for 4.0
747+ end
748+ private :new_table_definition
749+
750+ # @private (:table, :name, :unique, :columns, :lengths, :orders)
751+ def new_index_definition ( table , name , unique , columns , lengths ,
752+ orders = nil , where = nil , type = nil , using = nil )
753+ IndexDefinition . new ( table , name , unique , columns , lengths , orders )
754+ end
755+ # @private (:table, :name, :unique, :columns, :lengths)
756+ def new_index_definition ( table , name , unique , columns , lengths ,
757+ orders = nil , where = nil , type = nil , using = nil )
758+ IndexDefinition . new ( table , name , unique , columns , lengths )
759+ end if ActiveRecord ::VERSION ::STRING < '3.2'
760+ private :new_index_definition
761+
741762 end
742763
743764 # @return whether `:prepared_statements` are to be used
0 commit comments