From 214af496460c3639e8963c85834ee064f203cc6b Mon Sep 17 00:00:00 2001 From: Jean Boussier Date: Thu, 10 Apr 2014 10:08:37 -0400 Subject: Allow INSERT INTO SELECT queries --- test/test_insert_manager.rb | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'test') 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 -- cgit v1.2.3 From 4a898b3c682f74890065e28ffe03899f23a4ab20 Mon Sep 17 00:00:00 2001 From: Jean Boussier Date: Thu, 10 Apr 2014 13:30:22 -0400 Subject: Get rid of the visit select hack --- test/test_insert_manager.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test') diff --git a/test/test_insert_manager.rb b/test/test_insert_manager.rb index 6659889438..4e82ca34c0 100644 --- a/test/test_insert_manager.rb +++ b/test/test_insert_manager.rb @@ -156,7 +156,7 @@ module Arel manager.columns << table[:id] manager.columns << table[:name] manager.to_sql.must_be_like %{ - INSERT INTO "users" ("id", "name") SELECT 1, "aaron" + INSERT INTO "users" ("id", "name") (SELECT 1, "aaron") } end -- cgit v1.2.3