[Groonga-commit] droonga/fluent-plugin-droonga at 339f634 [master] Enable adapter_groonga.

Back to archive index

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 



More information about the Groonga-commit mailing list
Back to archive index