1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Merge pull request #26689 from kamipo/deprecate_passing_name_to_indexes

Deprecate passing `name` to `indexes` like `tables`
This commit is contained in:
Rafael Mendonça França 2017-01-03 19:25:14 -05:00
commit fdc219e0f8
No known key found for this signature in database
GPG key ID: FC23B6D0F1EEE948
7 changed files with 29 additions and 5 deletions

View file

@ -1,9 +1,13 @@
* Deprecate passing `name` to `indexes`.
*Ryuta Kamizono*
* Remove deprecated tasks: `db:test:clone`, `db:test:clone_schema`, `db:test:clone_structure`.
*Rafel Mendonça França*
* Compare deserialized values for `PostgreSQL::OID::Hstore` types when
calling `ActiveRecord::Dirty#changed_in_place?`
calling `ActiveRecord::Dirty#changed_in_place?`.
Fixes #27502.

View file

@ -69,7 +69,9 @@ module ActiveRecord
end
# Returns an array of indexes for the given table.
# def indexes(table_name, name = nil) end
def indexes(table_name, name = nil)
raise NotImplementedError, "#indexes is not implemented"
end
# Checks to see if an index exists on a table for a given index definition.
#

View file

@ -367,6 +367,12 @@ module ActiveRecord
# Returns an array of indexes for the given table.
def indexes(table_name, name = nil) #:nodoc:
if name
ActiveSupport::Deprecation.warn(<<-MSG.squish)
Passing name to #indexes is deprecated without replacement.
MSG
end
indexes = []
current_index = nil
execute_and_free("SHOW KEYS FROM #{quote_table_name(table_name)}", "SCHEMA") do |result|

View file

@ -166,7 +166,13 @@ module ActiveRecord
end
# Returns an array of indexes for the given table.
def indexes(table_name, name = nil)
def indexes(table_name, name = nil) # :nodoc:
if name
ActiveSupport::Deprecation.warn(<<-MSG.squish)
Passing name to #indexes is deprecated without replacement.
MSG
end
table = Utils.extract_schema_qualified_name(table_name.to_s)
result = query(<<-SQL, "SCHEMA")

View file

@ -316,6 +316,12 @@ module ActiveRecord
# Returns an array of indexes for the given table.
def indexes(table_name, name = nil) #:nodoc:
if name
ActiveSupport::Deprecation.warn(<<-MSG.squish)
Passing name to #indexes is deprecated without replacement.
MSG
end
exec_query("PRAGMA index_list(#{quote_table_name(table_name)})", "SCHEMA").map do |row|
sql = <<-SQL
SELECT sql

View file

@ -95,7 +95,7 @@ module ActiveRecord
end
def test_indexes_logs_name
@connection.indexes("items", "hello")
assert_deprecated { @connection.indexes("items", "hello") }
assert_equal "SCHEMA", @subscriber.logged[0][1]
end

View file

@ -287,7 +287,7 @@ module ActiveRecord
def test_indexes_logs_name
with_example_table do
assert_logged [["PRAGMA index_list(\"ex\")", "SCHEMA", []]] do
@conn.indexes("ex", "hello")
assert_deprecated { @conn.indexes("ex", "hello") }
end
end
end