aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
diff options
context:
space:
mode:
authorCody Cutrer <cody@instructure.com>2013-12-13 15:20:03 -0700
committerCody Cutrer <cody@cutrer.us>2013-12-14 07:07:10 -0700
commit75a2e4a8dff8c01dad913048d3676b993a8e23a2 (patch)
tree1cea1a48cc5d501f5146c392d5fa8d05c71b8637 /activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
parent068580d4456e881e568de4a4d20a401e87b6c9e1 (diff)
downloadrails-75a2e4a8dff8c01dad913048d3676b993a8e23a2.tar.gz
rails-75a2e4a8dff8c01dad913048d3676b993a8e23a2.tar.bz2
rails-75a2e4a8dff8c01dad913048d3676b993a8e23a2.zip
support creating temporary tables from queries
also override drop_table in AbstractMySQLAdapter to properly drop temporary tables without committing the transaction
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
index 1b9f865666..59a788397e 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb
@@ -492,6 +492,10 @@ module ActiveRecord
rename_table_indexes(table_name, new_name)
end
+ def drop_table(table_name, options = {})
+ execute "DROP#{' TEMPORARY' if options[:temporary]} TABLE #{quote_table_name(table_name)}"
+ end
+
def rename_index(table_name, old_name, new_name)
if (version[0] == 5 && version[1] >= 7) || version[0] >= 6
execute "ALTER TABLE #{quote_table_name(table_name)} RENAME INDEX #{quote_table_name(old_name)} TO #{quote_table_name(new_name)}"