aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2014-04-10 11:14:23 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2014-04-10 11:14:23 -0700
commit048478bf152a495a2d0ba17990d6966970a38cff (patch)
treeae4bc31be51f32c22f9225509d1cdfd8d5e7bd63 /test
parent4b187a19b16ed4cb0b248e4e4d658a4ef6e8f26e (diff)
parent4a898b3c682f74890065e28ffe03899f23a4ab20 (diff)
downloadrails-048478bf152a495a2d0ba17990d6966970a38cff.tar.gz
rails-048478bf152a495a2d0ba17990d6966970a38cff.tar.bz2
rails-048478bf152a495a2d0ba17990d6966970a38cff.zip
Merge pull request #255 from byroot/insert-select
Allow INSERT INTO <table> SELECT queries
Diffstat (limited to 'test')
-rw-r--r--test/test_insert_manager.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/test_insert_manager.rb b/test/test_insert_manager.rb
index 9e4cc9d05e..4e82ca34c0 100644
--- a/test/test_insert_manager.rb
+++ b/test/test_insert_manager.rb
@@ -139,5 +139,28 @@ module Arel
}
end
end
+
+ describe "select" do
+
+ it "accepts a select query in place of a VALUES clause" do
+ table = Table.new :users
+
+ manager = Arel::InsertManager.new Table.engine
+ manager.into table
+
+ select = Arel::SelectManager.new Table.engine
+ select.project Arel.sql('1')
+ select.project Arel.sql('"aaron"')
+
+ manager.select select
+ manager.columns << table[:id]
+ manager.columns << table[:name]
+ manager.to_sql.must_be_like %{
+ INSERT INTO "users" ("id", "name") (SELECT 1, "aaron")
+ }
+ end
+
+ end
+
end
end