From dd0bbd2ccb9c813902ae263dd4cc21f85af0bdc4 Mon Sep 17 00:00:00 2001 From: Igor Date: Fri, 8 Feb 2013 00:54:46 +0200 Subject: fix db_runtime attribute value after raising ActionView::MissingTemplate exception --- activerecord/CHANGELOG.md | 8 ++++++++ activerecord/lib/active_record/railties/controller_runtime.rb | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'activerecord') diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md index 55fa9cae81..bb32d16fc1 100644 --- a/activerecord/CHANGELOG.md +++ b/activerecord/CHANGELOG.md @@ -1,5 +1,13 @@ ## Rails 4.0.0 (unreleased) ## +* Fix calculation of `db_runtime` property in + `ActiveRecord::Railties::ControllerRuntime#cleanup_view_runtime`. + Previously, after raising `ActionView::MissingTemplate` db_runtime was + not populated. + Fixes #9215. + + *Igor Fedoronchuk* + * Schema dumper supports dumping the enabled database extensions to `schema.rb` (currently only supported by postgresql). diff --git a/activerecord/lib/active_record/railties/controller_runtime.rb b/activerecord/lib/active_record/railties/controller_runtime.rb index 7695eacbff..af4840476c 100644 --- a/activerecord/lib/active_record/railties/controller_runtime.rb +++ b/activerecord/lib/active_record/railties/controller_runtime.rb @@ -21,9 +21,10 @@ module ActiveRecord def cleanup_view_runtime if ActiveRecord::Base.connected? db_rt_before_render = ActiveRecord::LogSubscriber.reset_runtime + self.db_runtime = (db_runtime || 0) + db_rt_before_render runtime = super db_rt_after_render = ActiveRecord::LogSubscriber.reset_runtime - self.db_runtime = db_rt_before_render + db_rt_after_render + self.db_runtime += db_rt_after_render runtime - db_rt_after_render else super -- cgit v1.2.3