Skip to content

Commit 4e2ca9b

Browse files
committed
Improve the method
* cache `o.name` value * Avoid extra `concat` call * Avoid extra `<<` call
1 parent fb74394 commit 4e2ca9b

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@ class AbstractMysqlAdapter < AbstractAdapter
77

88
class SchemaCreation < AbstractAdapter::SchemaCreation
99
def visit_TableDefinition(o)
10-
create_sql = "CREATE#{' TEMPORARY' if o.temporary} TABLE "
11-
create_sql << "#{quote_table_name(o.name)} "
12-
statements = []
13-
statements.concat(o.columns.map { |c| accept c })
14-
statements.concat(o.indexes.map { |(column_name, options)| index_in_create(o.name, column_name, options) })
10+
name = o.name
11+
create_sql = "CREATE#{' TEMPORARY' if o.temporary} TABLE #{quote_table_name(name)} "
12+
13+
statements = o.columns.map { |c| accept c }
14+
statements.concat(o.indexes.map { |column_name, options| index_in_create(name, column_name, options) })
15+
1516
create_sql << "(#{statements.join(', ')}) " if statements.present?
1617
create_sql << "#{o.options}"
1718
create_sql << " AS #{@conn.to_sql(o.as)}" if o.as

0 commit comments

Comments
 (0)