Actions
Defect #42933
openFix N+1 query issue in wiki history page when loading author information
Start date:
Due date:
% Done:
0%
Estimated time:
Resolution:
Affected version:
Description
When accessing the wiki history page ( /projects/{project}/wiki/{page}/history ), an N+1 query occurs for loading author information of each wiki version. This causes significant performance degradation when wiki pages have many versions.
The issue occurs in WikiController#history
action where wiki versions are loaded without preloading their associated authors. Each version's author is then accessed individually in the view, triggering a separate database query.
Before:
Started GET "/projects/testa/wiki/XLargeTest/history?per_page=50" for ::1 at 2025-06-27 19:35:51 +0900
Processing by WikiController#history as HTML
Parameters: {"per_page"=>"50", "project_id"=>"testa", "id"=>"XLargeTest"}
Setting Load (0.0ms) SELECT "settings".* FROM "settings" WHERE "settings"."name" = ? ORDER BY "settings"."id" DESC LIMIT ? [["name", "session_lifetime"], ["LIMIT", 1]]
↳ app/models/setting.rb:363:in `find_or_default'
Setting Load (0.0ms) SELECT "settings".* FROM "settings" WHERE "settings"."name" = ? ORDER BY "settings"."id" DESC LIMIT ? [["name", "session_timeout"], ["LIMIT", 1]]
↳ app/models/setting.rb:363:in `find_or_default'
Token Maximum (0.0ms) SELECT MAX("tokens"."updated_on") FROM "tokens" WHERE "tokens"."user_id" = ? AND "tokens"."value" = ? AND "tokens"."action" = ? [["user_id", 1], ["value", "4bb84b3322efd09b0fcba3bfedd790a7d572d2c3"], ["action", "session"]]
↳ app/models/user.rb:471:in `verify_session_token'
Setting Maximum (0.0ms) SELECT MAX("settings"."updated_on") FROM "settings"
↳ app/models/setting.rb:280:in `check_cache'
User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."status" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["status", 1], ["id", 1], ["LIMIT", 1]]
↳ app/controllers/application_controller.rb:119:in `find_current_user'
Current user: admin (id=1)
Setting Load (0.0ms) SELECT "settings".* FROM "settings" WHERE "settings"."name" = ? ORDER BY "settings"."id" DESC LIMIT ? [["name", "force_default_language_for_loggedin"], ["LIMIT", 1]]
↳ app/models/setting.rb:363:in `find_or_default'
Setting Load (0.1ms) SELECT "settings".* FROM "settings" WHERE "settings"."name" = ? ORDER BY "settings"."id" DESC LIMIT ? [["name", "force_default_language_for_anonymous"], ["LIMIT", 1]]
↳ app/models/setting.rb:363:in `find_or_default'
Project Load (0.1ms) SELECT "projects".* FROM "projects" WHERE "projects"."identifier" = ? LIMIT ? [["identifier", "testa"], ["LIMIT", 1]]
↳ app/models/project.rb:350:in `find'
Wiki Load (0.0ms) SELECT "wikis".* FROM "wikis" WHERE "wikis"."project_id" = ? LIMIT ? [["project_id", 1], ["LIMIT", 1]]
↳ app/controllers/wiki_controller.rb:350:in `find_wiki'
EnabledModule Pluck (0.1ms) SELECT "enabled_modules"."name" FROM "enabled_modules" WHERE "enabled_modules"."project_id" = ? [["project_id", 1]]
↳ app/models/project.rb:1314:in `allowed_permissions'
WikiPage Load (0.1ms) SELECT "wiki_pages".* FROM "wiki_pages" WHERE "wiki_pages"."wiki_id" = ? AND (LOWER(title) = LOWER(?)) ORDER BY LOWER(title) ASC LIMIT ? [["wiki_id", 1], [nil, "XLargeTest"], ["LIMIT", 1]]
↳ app/models/wiki.rb:58:in `find_page'
WikiContent Load (0.0ms) SELECT "wiki_contents".* FROM "wiki_contents" WHERE "wiki_contents"."page_id" = ? LIMIT ? [["page_id", 7], ["LIMIT", 1]]
↳ app/controllers/wiki_controller.rb:238:in `history'
WikiContentVersion Count (0.1ms) SELECT COUNT(*) FROM "wiki_content_versions" WHERE "wiki_content_versions"."wiki_content_id" = ? [["wiki_content_id", 7]]
↳ app/controllers/wiki_controller.rb:238:in `history'
Setting Load (0.0ms) SELECT "settings".* FROM "settings" WHERE "settings"."name" = ? ORDER BY "settings"."id" DESC LIMIT ? [["name", "per_page_options"], ["LIMIT", 1]]
↳ app/models/setting.rb:363:in `find_or_default'
WikiContentVersion Load (0.2ms) SELECT id, author_id, comments, updated_on, version FROM "wiki_content_versions" WHERE "wiki_content_versions"."wiki_content_id" = ? ORDER BY version DESC LIMIT ? OFFSET ? [["wiki_content_id", 7], ["LIMIT", 51], ["OFFSET", 0]]
↳ app/controllers/wiki_controller.rb:246:in `history'
Rendering layout layouts/base.html.erb
Rendering wiki/history.html.erb within layouts/base
Wiki Load (0.1ms) SELECT "wikis".* FROM "wikis" WHERE "wikis"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
↳ app/models/wiki_page.rb:192:in `project'
Project Load (0.1ms) SELECT "projects".* FROM "projects" WHERE "projects"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
↳ app/models/wiki_page.rb:192:in `project'
Setting Load (0.0ms) SELECT "settings".* FROM "settings" WHERE "settings"."name" = ? ORDER BY "settings"."id" DESC LIMIT ? [["name", "time_format"], ["LIMIT", 1]]
↳ app/models/setting.rb:363:in `find_or_default'
UserPreference Load (0.0ms) SELECT "user_preferences".* FROM "user_preferences" WHERE "user_preferences"."user_id" = ? LIMIT ? [["user_id", 1], ["LIMIT", 1]]
↳ app/models/user.rb:393:in `pref'
Setting Load (0.0ms) SELECT "settings".* FROM "settings" WHERE "settings"."name" = ? ORDER BY "settings"."id" DESC LIMIT ? [["name", "date_format"], ["LIMIT", 1]]
↳ app/models/setting.rb:363:in `find_or_default'
User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 11], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
Setting Load (0.0ms) SELECT "settings".* FROM "settings" WHERE "settings"."name" = ? ORDER BY "settings"."id" DESC LIMIT ? [["name", "user_format"], ["LIMIT", 1]]
↳ app/models/setting.rb:363:in `find_or_default'
CACHE EnabledModule Pluck (0.0ms) SELECT "enabled_modules"."name" FROM "enabled_modules" WHERE "enabled_modules"."project_id" = ? [["project_id", 1]]
↳ app/models/project.rb:1314:in `allowed_permissions'
User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 10], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 11], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 14], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 11], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 12], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 11], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 13], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 13], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 10], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 10], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 14], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 13], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 13], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 13], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 11], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 12], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 11], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
...
CACHE User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["id", 13], ["LIMIT", 1]]
↳ app/views/wiki/history.html.erb:30
Rendered wiki/history.html.erb within layouts/base (Duration: 49.9ms | GC: 0.3ms)
Setting Load (0.1ms) SELECT "settings".* FROM "settings" WHERE "settings"."name" = ? ORDER BY "settings"."id" DESC LIMIT ? [["name", "app_title"], ["LIMIT", 1]]
↳ app/models/setting.rb:363:in `find_or_default'
Setting Load (0.0ms) SELECT "settings".* FROM "settings" WHERE "settings"."name" = ? ORDER BY "settings"."id" DESC LIMIT ? [["name", "ui_theme"], ["LIMIT", 1]]
↳ app/models/setting.rb:363:in `find_or_default'
Setting Load (0.0ms) SELECT "settings".* FROM "settings" WHERE "settings"."name" = ? ORDER BY "settings"."id" DESC LIMIT ? [["name", "gravatar_enabled"], ["LIMIT", 1]]
↳ app/models/setting.rb:363:in `find_or_default'
Setting Load (0.0ms) SELECT "settings".* FROM "settings" WHERE "settings"."name" = ? ORDER BY "settings"."id" DESC LIMIT ? [["name", "text_formatting"], ["LIMIT", 1]]
↳ app/models/setting.rb:363:in `find_or_default'
Project Load (0.1ms) SELECT "projects"."id", "projects"."name", "projects"."identifier", "projects"."lft", "projects"."rgt" FROM "projects" INNER JOIN "members" ON "projects"."id" = "members"."project_id" INNER JOIN "projects" "projects_members" ON "projects_members"."id" = "members"."project_id" WHERE "members"."user_id" = ? AND "projects"."status" != ? AND "projects"."status" = ? [["user_id", 1], ["status", 9], ["status", 1]]
↳ app/helpers/application_helper.rb:554:in `projects_for_jump_box'
Project Load (0.1ms) SELECT "projects".* FROM "projects" WHERE "projects"."id" = ? AND (projects.status <> 9 AND projects.status <> 10) [["id", 1]]
↳ lib/redmine/project_jump_box.rb:35:in `recently_used_projects'
Tracker Exists? (0.0ms) SELECT 1 AS one FROM "trackers" INNER JOIN "projects_trackers" ON "trackers"."id" = "projects_trackers"."tracker_id" WHERE "projects_trackers"."project_id" = ? LIMIT ? [["project_id", 1], ["LIMIT", 1]]
↳ lib/redmine/preparation.rb:306:in `block (2 levels) in prepare'
Setting Load (0.0ms) SELECT "settings".* FROM "settings" WHERE "settings"."name" = ? ORDER BY "settings"."id" DESC LIMIT ? [["name", "new_item_menu_tab"], ["LIMIT", 1]]
↳ app/models/setting.rb:363:in `find_or_default'
CACHE Tracker Exists? (0.0ms) SELECT 1 AS one FROM "trackers" INNER JOIN "projects_trackers" ON "trackers"."id" = "projects_trackers"."tracker_id" WHERE "projects_trackers"."project_id" = ? LIMIT ? [["project_id", 1], ["LIMIT", 1]]
↳ lib/redmine/preparation.rb:306:in `block (2 levels) in prepare'
Version Exists? (0.1ms) SELECT 1 AS one FROM "versions" INNER JOIN "projects" ON "projects"."id" = "versions"."project_id" WHERE (projects.id = 1 OR (projects.status <> 9 AND ( versions.sharing = 'system' OR (projects.lft >= 7 AND projects.rgt <= 8 AND versions.sharing = 'tree') OR (projects.lft < 7 AND projects.rgt > 8 AND versions.sharing IN ('hierarchy', 'descendants')) OR (projects.lft > 7 AND projects.rgt < 8 AND versions.sharing = 'hierarchy')))) LIMIT ? [["LIMIT", 1]]
↳ lib/redmine/preparation.rb:341:in `block (2 levels) in prepare'
Setting Load (0.0ms) SELECT "settings".* FROM "settings" WHERE "settings"."name" = ? ORDER BY "settings"."id" DESC LIMIT ? [["name", "display_subprojects_issues"], ["LIMIT", 1]]
↳ app/models/setting.rb:363:in `find_or_default'
Version Exists? (0.0ms) SELECT 1 AS one FROM "versions" INNER JOIN "projects" ON "projects"."id" = "versions"."project_id" WHERE (projects.lft >= ? AND projects.rgt <= ? AND projects.status <> ?) LIMIT ? [[nil, 7], [nil, 8], [nil, 9], ["LIMIT", 1]]
↳ lib/redmine/preparation.rb:344:in `block (2 levels) in prepare'
Board Exists? (0.0ms) SELECT 1 AS one FROM "boards" WHERE "boards"."project_id" = ? LIMIT ? [["project_id", 1], ["LIMIT", 1]]
↳ lib/redmine/preparation.rb:377:in `block (2 levels) in prepare'
Repository Exists? (0.0ms) SELECT 1 AS one FROM "repositories" WHERE "repositories"."project_id" = ? LIMIT ? [["project_id", 1], ["LIMIT", 1]]
↳ lib/redmine/preparation.rb:383:in `block (2 levels) in prepare'
Rendered layout layouts/base.html.erb (Duration: 100.9ms | GC: 0.6ms)
Completed 200 OK in 582ms (Views: 99.6ms | ActiveRecord: 9.6ms (87 queries, 48 cached) | GC: 31.2ms)
After:
Started GET "/projects/testa/wiki/XLargeTest/history?per_page=50" for ::1 at 2025-06-27 19:35:00 +0900
Processing by WikiController#history as HTML
Parameters: {"per_page"=>"50", "project_id"=>"testa", "id"=>"XLargeTest"}
Token Maximum (0.3ms) SELECT MAX("tokens"."updated_on") FROM "tokens" WHERE "tokens"."user_id" = ? AND "tokens"."value" = ? AND "tokens"."action" = ? [["user_id", 1], ["value", "4bb84b3322efd09b0fcba3bfedd790a7d572d2c3"], ["action", "session"]]
↳ app/models/user.rb:471:in `verify_session_token'
Token Update All (0.8ms) UPDATE "tokens" SET "updated_on" = ? WHERE "tokens"."user_id" = ? AND "tokens"."value" = ? AND "tokens"."action" = ? [["updated_on", "2025-06-27 19:35:00.841899"], ["user_id", 1], ["value", "4bb84b3322efd09b0fcba3bfedd790a7d572d2c3"], ["action", "session"]]
↳ app/models/user.rb:475:in `verify_session_token'
Setting Maximum (0.2ms) SELECT MAX("settings"."updated_on") FROM "settings"
↳ app/models/setting.rb:280:in `check_cache'
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."status" = ? AND "users"."id" = ? LIMIT ? [["type", "User"], ["status", 1], ["id", 1], ["LIMIT", 1]]
↳ app/controllers/application_controller.rb:119:in `find_current_user'
Current user: admin (id=1)
Project Load (0.1ms) SELECT "projects".* FROM "projects" WHERE "projects"."identifier" = ? LIMIT ? [["identifier", "testa"], ["LIMIT", 1]]
↳ app/models/project.rb:350:in `find'
Wiki Load (0.1ms) SELECT "wikis".* FROM "wikis" WHERE "wikis"."project_id" = ? LIMIT ? [["project_id", 1], ["LIMIT", 1]]
↳ app/controllers/wiki_controller.rb:351:in `find_wiki'
EnabledModule Pluck (0.1ms) SELECT "enabled_modules"."name" FROM "enabled_modules" WHERE "enabled_modules"."project_id" = ? [["project_id", 1]]
↳ app/models/project.rb:1314:in `allowed_permissions'
WikiPage Load (0.4ms) SELECT "wiki_pages".* FROM "wiki_pages" WHERE "wiki_pages"."wiki_id" = ? AND (LOWER(title) = LOWER(?)) ORDER BY LOWER(title) ASC LIMIT ? [["wiki_id", 1], [nil, "XLargeTest"], ["LIMIT", 1]]
↳ app/models/wiki.rb:58:in `find_page'
WikiContent Load (0.1ms) SELECT "wiki_contents".* FROM "wiki_contents" WHERE "wiki_contents"."page_id" = ? LIMIT ? [["page_id", 7], ["LIMIT", 1]]
↳ app/controllers/wiki_controller.rb:238:in `history'
WikiContentVersion Count (0.1ms) SELECT COUNT(*) FROM "wiki_content_versions" WHERE "wiki_content_versions"."wiki_content_id" = ? [["wiki_content_id", 7]]
↳ app/controllers/wiki_controller.rb:238:in `history'
WikiContentVersion Load (0.4ms) SELECT id, author_id, comments, updated_on, version FROM "wiki_content_versions" WHERE "wiki_content_versions"."wiki_content_id" = ? ORDER BY version DESC LIMIT ? OFFSET ? [["wiki_content_id", 7], ["LIMIT", 51], ["OFFSET", 0]]
↳ app/controllers/wiki_controller.rb:247:in `history'
User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."type" = ? AND "users"."id" IN (?, ?, ?, ?, ?) [["type", "User"], ["id", 11], ["id", 10], ["id", 14], ["id", 12], ["id", 13]]
↳ app/controllers/wiki_controller.rb:247:in `history'
Rendering layout layouts/base.html.erb
Rendering wiki/history.html.erb within layouts/base
Wiki Load (0.0ms) SELECT "wikis".* FROM "wikis" WHERE "wikis"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
↳ app/models/wiki_page.rb:192:in `project'
Project Load (0.1ms) SELECT "projects".* FROM "projects" WHERE "projects"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
↳ app/models/wiki_page.rb:192:in `project'
UserPreference Load (0.1ms) SELECT "user_preferences".* FROM "user_preferences" WHERE "user_preferences"."user_id" = ? LIMIT ? [["user_id", 1], ["LIMIT", 1]]
↳ app/models/user.rb:393:in `pref'
CACHE EnabledModule Pluck (0.0ms) SELECT "enabled_modules"."name" FROM "enabled_modules" WHERE "enabled_modules"."project_id" = ? [["project_id", 1]]
↳ app/models/project.rb:1314:in `allowed_permissions'
Rendered wiki/history.html.erb within layouts/base (Duration: 31.3ms | GC: 0.0ms)
Project Load (0.1ms) SELECT "projects"."id", "projects"."name", "projects"."identifier", "projects"."lft", "projects"."rgt" FROM "projects" INNER JOIN "members" ON "projects"."id" = "members"."project_id" INNER JOIN "projects" "projects_members" ON "projects_members"."id" = "members"."project_id" WHERE "members"."user_id" = ? AND "projects"."status" != ? AND "projects"."status" = ? [["user_id", 1], ["status", 9], ["status", 1]]
↳ app/helpers/application_helper.rb:554:in `projects_for_jump_box'
Project Load (0.1ms) SELECT "projects".* FROM "projects" WHERE "projects"."id" = ? AND (projects.status <> 9 AND projects.status <> 10) [["id", 1]]
↳ lib/redmine/project_jump_box.rb:35:in `recently_used_projects'
Tracker Exists? (0.1ms) SELECT 1 AS one FROM "trackers" INNER JOIN "projects_trackers" ON "trackers"."id" = "projects_trackers"."tracker_id" WHERE "projects_trackers"."project_id" = ? LIMIT ? [["project_id", 1], ["LIMIT", 1]]
↳ lib/redmine/preparation.rb:306:in `block (2 levels) in prepare'
CACHE Tracker Exists? (0.0ms) SELECT 1 AS one FROM "trackers" INNER JOIN "projects_trackers" ON "trackers"."id" = "projects_trackers"."tracker_id" WHERE "projects_trackers"."project_id" = ? LIMIT ? [["project_id", 1], ["LIMIT", 1]]
↳ lib/redmine/preparation.rb:306:in `block (2 levels) in prepare'
Version Exists? (0.1ms) SELECT 1 AS one FROM "versions" INNER JOIN "projects" ON "projects"."id" = "versions"."project_id" WHERE (projects.id = 1 OR (projects.status <> 9 AND ( versions.sharing = 'system' OR (projects.lft >= 7 AND projects.rgt <= 8 AND versions.sharing = 'tree') OR (projects.lft < 7 AND projects.rgt > 8 AND versions.sharing IN ('hierarchy', 'descendants')) OR (projects.lft > 7 AND projects.rgt < 8 AND versions.sharing = 'hierarchy')))) LIMIT ? [["LIMIT", 1]]
↳ lib/redmine/preparation.rb:341:in `block (2 levels) in prepare'
Version Exists? (0.1ms) SELECT 1 AS one FROM "versions" INNER JOIN "projects" ON "projects"."id" = "versions"."project_id" WHERE (projects.lft >= ? AND projects.rgt <= ? AND projects.status <> ?) LIMIT ? [[nil, 7], [nil, 8], [nil, 9], ["LIMIT", 1]]
↳ lib/redmine/preparation.rb:344:in `block (2 levels) in prepare'
Board Exists? (0.0ms) SELECT 1 AS one FROM "boards" WHERE "boards"."project_id" = ? LIMIT ? [["project_id", 1], ["LIMIT", 1]]
↳ lib/redmine/preparation.rb:377:in `block (2 levels) in prepare'
Repository Exists? (0.0ms) SELECT 1 AS one FROM "repositories" WHERE "repositories"."project_id" = ? LIMIT ? [["project_id", 1], ["LIMIT", 1]]
↳ lib/redmine/preparation.rb:383:in `block (2 levels) in prepare'
Rendered layout layouts/base.html.erb (Duration: 41.9ms | GC: 0.0ms)
Completed 200 OK in 71ms (Views: 41.6ms | ActiveRecord: 3.6ms (24 queries, 2 cached) | GC: 0.0ms)
Files
Actions