Daijiro MORI
null+****@clear*****
Fri Sep 6 21:40:39 JST 2013
Daijiro MORI 2013-09-06 21:40:39 +0900 (Fri, 06 Sep 2013) New Revision: 339f6342db06eb8f333be2ef4cddea2ac26d8e9a https://github.com/droonga/fluent-plugin-droonga/commit/339f6342db06eb8f333be2ef4cddea2ac26d8e9a Message: Enable adapter_groonga. Modified files: lib/droonga/plugin/adapter/groonga/select.rb lib/droonga/plugin/adapter_groonga.rb Modified: lib/droonga/plugin/adapter/groonga/select.rb (+4 -3) =================================================================== --- lib/droonga/plugin/adapter/groonga/select.rb 2013-09-06 19:23:29 +0900 (8bef717) +++ lib/droonga/plugin/adapter/groonga/select.rb 2013-09-06 21:40:39 +0900 (7e5457a) @@ -18,15 +18,16 @@ module Droonga class Select def convert_request(select_request) table = select_request["table"] + result_name = table + "_result" match_columns = select_request["match_columns"] - match_to = match_columns ? match_columns.split(/ *\|\| */) : [] + match_to = match_columns query = select_request["query"] output_columns = select_request["output_columns"] attributes = output_columns.split(/, */) search_request = { "queries" => { - table => { + result_name => { "source" => table, "output" => { "elements" => [ @@ -49,7 +50,7 @@ module Droonga "allowPragma"=> false, "allowColumn"=> true, } - search_request["queries"][table]["condition"] = condition + search_request["queries"][result_name]["condition"] = condition end search_request end Modified: lib/droonga/plugin/adapter_groonga.rb (+10 -5) =================================================================== --- lib/droonga/plugin/adapter_groonga.rb 2013-09-06 19:23:29 +0900 (b07c640) +++ lib/droonga/plugin/adapter_groonga.rb 2013-09-06 21:40:39 +0900 (19b0e38) @@ -19,15 +19,20 @@ require "droonga/adapter" module Droonga class GroongaAdapter < Droonga::Adapter + # TODO: AdapterPlugin or something should be defined to avoid conflicts. + Droonga::HandlerPlugin.register("select", self) command :select - def select(select_request) command = Select.new search_request = command.convert_request(select_request) - post(search_request) do |search_response| - command.convert_response(search_response) - end - :selected + add_route("select_response") + post(search_request, "search") + end + + command :select_response + def select_response(search_response) + command = Select.new + emit(command.convert_response(search_response)) end end end -------------- next part -------------- HTML����������������������������...Download