aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_insert_manager.rb
diff options
context:
space:
mode:
authorJean Boussier <jean.boussier@gmail.com>2014-04-10 10:08:37 -0400
committerJean Boussier <jean.boussier@gmail.com>2014-04-10 13:52:26 -0400
commit214af496460c3639e8963c85834ee064f203cc6b (patch)
treea0a0182ca382f2ff2ce8a7ffb099b57f67fbcc19 /test/test_insert_manager.rb
parent4b187a19b16ed4cb0b248e4e4d658a4ef6e8f26e (diff)
downloadrails-214af496460c3639e8963c85834ee064f203cc6b.tar.gz
rails-214af496460c3639e8963c85834ee064f203cc6b.tar.bz2
rails-214af496460c3639e8963c85834ee064f203cc6b.zip
Allow INSERT INTO <table> SELECT queries
Diffstat (limited to 'test/test_insert_manager.rb')
-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..6659889438 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