|
@@ -39,10 +39,6 @@ class HelloWorld < Sinatra::Base
|
|
response['Server'] = SERVER_STRING
|
|
response['Server'] = SERVER_STRING
|
|
end if SERVER_STRING
|
|
end if SERVER_STRING
|
|
|
|
|
|
- after do
|
|
|
|
- ActiveRecord::Base.connection_handler.clear_active_connections!
|
|
|
|
- end
|
|
|
|
-
|
|
|
|
# Test type 1: JSON serialization
|
|
# Test type 1: JSON serialization
|
|
get '/json' do
|
|
get '/json' do
|
|
json message: 'Hello, World!'
|
|
json message: 'Hello, World!'
|
|
@@ -51,7 +47,7 @@ class HelloWorld < Sinatra::Base
|
|
# Test type 2: Single database query
|
|
# Test type 2: Single database query
|
|
get '/db' do
|
|
get '/db' do
|
|
world =
|
|
world =
|
|
- ActiveRecord::Base.connection_pool.with_connection do
|
|
|
|
|
|
+ ActiveRecord::Base.with_connection do
|
|
World.find(rand1).attributes
|
|
World.find(rand1).attributes
|
|
end
|
|
end
|
|
|
|
|
|
@@ -61,7 +57,7 @@ class HelloWorld < Sinatra::Base
|
|
# Test type 3: Multiple database queries
|
|
# Test type 3: Multiple database queries
|
|
get '/queries' do
|
|
get '/queries' do
|
|
worlds =
|
|
worlds =
|
|
- ActiveRecord::Base.connection_pool.with_connection do
|
|
|
|
|
|
+ ActiveRecord::Base.with_connection do
|
|
ALL_IDS.sample(bounded_queries).map do |id|
|
|
ALL_IDS.sample(bounded_queries).map do |id|
|
|
World.find(id).attributes
|
|
World.find(id).attributes
|
|
end
|
|
end
|
|
@@ -72,7 +68,7 @@ class HelloWorld < Sinatra::Base
|
|
|
|
|
|
# Test type 4: Fortunes
|
|
# Test type 4: Fortunes
|
|
get '/fortunes' do
|
|
get '/fortunes' do
|
|
- @fortunes = ActiveRecord::Base.connection_pool.with_connection do
|
|
|
|
|
|
+ @fortunes = ActiveRecord::Base.with_connection do
|
|
Fortune.all
|
|
Fortune.all
|
|
end.to_a
|
|
end.to_a
|
|
@fortunes << Fortune.new(
|
|
@fortunes << Fortune.new(
|
|
@@ -86,17 +82,18 @@ class HelloWorld < Sinatra::Base
|
|
|
|
|
|
# Test type 5: Database updates
|
|
# Test type 5: Database updates
|
|
get '/updates' do
|
|
get '/updates' do
|
|
- worlds =
|
|
|
|
- ALL_IDS.sample(bounded_queries).map do |id|
|
|
|
|
- world = ActiveRecord::Base.connection_pool.with_connection do
|
|
|
|
- World.find(id)
|
|
|
|
- end
|
|
|
|
|
|
+ worlds = nil
|
|
|
|
+ ActiveRecord::Base.with_connection do
|
|
|
|
+ worlds = ALL_IDS.sample(bounded_queries).map do |id|
|
|
|
|
+ world = World.find(id)
|
|
new_value = rand1
|
|
new_value = rand1
|
|
new_value = rand1 until new_value != world.randomNumber
|
|
new_value = rand1 until new_value != world.randomNumber
|
|
{ id: id, randomNumber: new_value }
|
|
{ id: id, randomNumber: new_value }
|
|
end
|
|
end
|
|
- ActiveRecord::Base.connection_pool.with_connection do
|
|
|
|
- World.upsert_all(worlds.sort_by!{_1[:id]})
|
|
|
|
|
|
+ end
|
|
|
|
+ worlds.sort_by!{_1[:id]}
|
|
|
|
+ ActiveRecord::Base.with_connection do
|
|
|
|
+ World.upsert_all(worlds)
|
|
end
|
|
end
|
|
json worlds
|
|
json worlds
|
|
end
|
|
end
|