Kouhei Sutou
null+****@clear*****
Tue Aug 30 18:31:30 JST 2016
Kouhei Sutou 2016-08-30 18:31:30 +0900 (Tue, 30 Aug 2016) New Revision: d424392cbb49c72b2e3324abac3f903c65a904b3 https://github.com/groonga/groonga/commit/d424392cbb49c72b2e3324abac3f903c65a904b3 Message: logical_table_remove: reduce needed resource Modified files: plugins/sharding/logical_table_remove.rb Modified: plugins/sharding/logical_table_remove.rb (+25 -23) =================================================================== --- plugins/sharding/logical_table_remove.rb 2016-08-30 18:30:47 +0900 (c3880c8) +++ plugins/sharding/logical_table_remove.rb 2016-08-30 18:31:30 +0900 (32bf34a) @@ -167,33 +167,35 @@ module Groonga return if table_id.nil? database.each_raw do |id, cursor| + next if ID.builtin?(id) next if id == table_id - object = context[id] - if object.nil? - context.clear_error - next - end + context.open_temporary(id) do |object| + if object.nil? + context.clear_error + next + end - case object - when Table - if object.domain_id == table_id - begin - object.remove(:dependent => @dependent) - rescue - context.clear_error - reference_table_name = object.name - object.close - remove_table_force(reference_table_name) + case object + when Table + if object.domain_id == table_id + begin + object.remove(:dependent => @dependent) + rescue + context.clear_error + reference_table_name = object.name + object.close + remove_table_force(reference_table_name) + end end - end - when Column - if object.range_id == table_id - begin - object.remove(:dependent => @dependent) - rescue - context.clear_error - remove_column_force(object) + when Column + if object.range_id == table_id + begin + object.remove(:dependent => @dependent) + rescue + context.clear_error + remove_column_force(object) + end end end end -------------- next part -------------- HTML����������������������������... Download