aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/adapters/mysql/mysql_adapter_test.rb
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2012-04-19 06:33:19 -0700
committerJeremy Kemper <jeremy@bitsweat.net>2012-04-19 06:33:19 -0700
commit99eae3f82a5a2b7c5e485ee1d370852e65ab8bde (patch)
tree39c181921887b6940ad60057784e5ad96cdbd977 /activerecord/test/cases/adapters/mysql/mysql_adapter_test.rb
parent66ea296bfd03412f0e605cada9825e8d80707221 (diff)
parent851b816f56f6c918d88cbed56f50bffede4ed55a (diff)
downloadrails-99eae3f82a5a2b7c5e485ee1d370852e65ab8bde.tar.gz
rails-99eae3f82a5a2b7c5e485ee1d370852e65ab8bde.tar.bz2
rails-99eae3f82a5a2b7c5e485ee1d370852e65ab8bde.zip
Merge pull request #5900 from amatsuda/ar_mysql_pk_with_using_option
current MySQL driver fails to fetch PK name when the PK has USING option
Diffstat (limited to 'activerecord/test/cases/adapters/mysql/mysql_adapter_test.rb')
-rw-r--r--activerecord/test/cases/adapters/mysql/mysql_adapter_test.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/activerecord/test/cases/adapters/mysql/mysql_adapter_test.rb b/activerecord/test/cases/adapters/mysql/mysql_adapter_test.rb
index 5aa4743e7b..475a292f85 100644
--- a/activerecord/test/cases/adapters/mysql/mysql_adapter_test.rb
+++ b/activerecord/test/cases/adapters/mysql/mysql_adapter_test.rb
@@ -56,6 +56,36 @@ module ActiveRecord
end
end
+ def test_pk_and_sequence_for
+ pk, seq = @conn.pk_and_sequence_for('ex')
+ assert_equal 'id', pk
+ assert_equal @conn.default_sequence_name('ex', 'id'), seq
+ end
+
+ def test_pk_and_sequence_for_with_non_standard_primary_key
+ @conn.exec_query('drop table if exists ex_with_non_standard_pk')
+ @conn.exec_query(<<-eosql)
+ CREATE TABLE `ex_with_non_standard_pk` (
+ `code` INT(11) DEFAULT NULL auto_increment,
+ PRIMARY KEY (`code`))
+ eosql
+ pk, seq = @conn.pk_and_sequence_for('ex_with_non_standard_pk')
+ assert_equal 'code', pk
+ assert_equal @conn.default_sequence_name('ex_with_non_standard_pk', 'code'), seq
+ end
+
+ def test_pk_and_sequence_for_with_custom_index_type_pk
+ @conn.exec_query('drop table if exists ex_with_custom_index_type_pk')
+ @conn.exec_query(<<-eosql)
+ CREATE TABLE `ex_with_custom_index_type_pk` (
+ `id` INT(11) DEFAULT NULL auto_increment,
+ PRIMARY KEY USING BTREE (`id`))
+ eosql
+ pk, seq = @conn.pk_and_sequence_for('ex_with_custom_index_type_pk')
+ assert_equal 'id', pk
+ assert_equal @conn.default_sequence_name('ex_with_custom_index_type_pk', 'id'), seq
+ end
+
private
def insert(ctx, data)
binds = data.map { |name, value|