diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2016-10-14 04:50:38 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2016-10-14 05:06:06 +0900 |
commit | c5bcbb0914b154ab487f95ec7e039cbd26a47e26 (patch) | |
tree | 91faa5fccfa56f68b22ddd923bc657051d0345c9 /activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb | |
parent | e10e3c7da215ef848db7592068993f14aac00fa6 (diff) | |
download | rails-c5bcbb0914b154ab487f95ec7e039cbd26a47e26.tar.gz rails-c5bcbb0914b154ab487f95ec7e039cbd26a47e26.tar.bz2 rails-c5bcbb0914b154ab487f95ec7e039cbd26a47e26.zip |
Quote table name properly
If does not quote table name properly, invalid SQL is generated.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb index e2b534b511..ebeac425d0 100644 --- a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb @@ -530,10 +530,12 @@ module ActiveRecord def table_structure_with_collation(table_name, basic_structure) collation_hash = {} - sql = "SELECT sql FROM - (SELECT * FROM sqlite_master UNION ALL - SELECT * FROM sqlite_temp_master) - WHERE type='table' and name='#{ table_name }' \;" + sql = <<-SQL + SELECT sql FROM + (SELECT * FROM sqlite_master UNION ALL + SELECT * FROM sqlite_temp_master) + WHERE type = 'table' AND name = #{quote(table_name)} + SQL # Result will have following sample string # CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, |