aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2016-10-14 04:50:38 +0900
committerRyuta Kamizono <kamipo@gmail.com>2016-10-14 05:06:06 +0900
commitc5bcbb0914b154ab487f95ec7e039cbd26a47e26 (patch)
tree91faa5fccfa56f68b22ddd923bc657051d0345c9 /activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
parente10e3c7da215ef848db7592068993f14aac00fa6 (diff)
downloadrails-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.rb10
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,