We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 508fb38 commit 282bfebCopy full SHA for 282bfeb
frameworks/Ruby/sinatra-sequel/boot.rb
@@ -63,13 +63,10 @@ def self.batch_update(worlds)
63
if DB.database_type == :mysql
64
worlds.map(&:save_changes)
65
else
66
- ids = []
67
- sql = String.new("UPDATE world SET randomnumber = CASE id ")
68
- worlds.each do |world|
69
- sql << "when #{world.id} then #{world.randomnumber} "
70
- ids << world.id
71
- end
72
- sql << "ELSE randomnumber END WHERE id IN ( #{ids.join(',')})"
+ sql_values = worlds.map { "(#{_1.id}, #{_1.randomnumber})" }.join(', ')
+ sql = "UPDATE world SET randomnumber = updated.randomnumber "
+ sql << " FROM (VALUES #{ sql_values }) AS updated (id, randomnumber)"
+ sql << "WHERE id = updated.id"
73
DB.run(sql)
74
end
75
0 commit comments