diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2014-04-10 11:14:23 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2014-04-10 11:14:23 -0700 |
commit | 048478bf152a495a2d0ba17990d6966970a38cff (patch) | |
tree | ae4bc31be51f32c22f9225509d1cdfd8d5e7bd63 /test | |
parent | 4b187a19b16ed4cb0b248e4e4d658a4ef6e8f26e (diff) | |
parent | 4a898b3c682f74890065e28ffe03899f23a4ab20 (diff) | |
download | rails-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.rb | 23 |
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 |