[Groonga-commit] groonga/groonga at bbc83b9 [master] logical_parameters: add

Back to archive index

Kouhei Sutou null+****@clear*****
Mon Jul 27 19:01:18 JST 2015


Kouhei Sutou	2015-07-27 19:01:18 +0900 (Mon, 27 Jul 2015)

  New Revision: bbc83b935a8211bd274c37cdad5684b7a0d03493
  https://github.com/groonga/groonga/commit/bbc83b935a8211bd274c37cdad5684b7a0d03493

  Message:
    logical_parameters: add

  Added files:
    plugins/sharding/logical_parameters.rb
    test/command/suite/sharding/logical_parameters/range_index/always.expected
    test/command/suite/sharding/logical_parameters/range_index/always.test
    test/command/suite/sharding/logical_parameters/range_index/auto.expected
    test/command/suite/sharding/logical_parameters/range_index/auto.test
    test/command/suite/sharding/logical_parameters/range_index/default.expected
    test/command/suite/sharding/logical_parameters/range_index/default.test
    test/command/suite/sharding/logical_parameters/range_index/invalid.expected
    test/command/suite/sharding/logical_parameters/range_index/invalid.test
    test/command/suite/sharding/logical_parameters/range_index/never.expected
    test/command/suite/sharding/logical_parameters/range_index/never.test
  Modified files:
    plugins/sharding.rb
    plugins/sharding/sources.am

  Modified: plugins/sharding.rb (+3 -0)
===================================================================
--- plugins/sharding.rb    2015-07-27 18:59:14 +0900 (4ebc9ba)
+++ plugins/sharding.rb    2015-07-27 19:01:18 +0900 (dc5c0b8)
@@ -1,5 +1,8 @@
 require "sharding/range_expression_builder"
 require "sharding/logical_enumerator"
+
+require "sharding/logical_parameters"
+
 require "sharding/logical_count"
 require "sharding/logical_range_filter"
 require "sharding/logical_select"

  Added: plugins/sharding/logical_parameters.rb (+48 -0) 100644
===================================================================
--- /dev/null
+++ plugins/sharding/logical_parameters.rb    2015-07-27 19:01:18 +0900 (d6e0d73)
@@ -0,0 +1,48 @@
+module Groonga
+  module Sharding
+    @range_index = :auto
+    class << self
+      attr_accessor :range_index
+    end
+
+    class LogicalParametersCommand < Command
+      register("logical_parameters",
+               [
+                 "range_index",
+               ])
+
+      def run_body(input)
+        range_index = parse_range_index(input[:range_index])
+        Sharding.range_index = range_index if range_index
+
+        parameters = [
+          :range_index,
+        ]
+        writer.map("parameters", parameters.size) do
+          parameters.each do |name|
+            writer.write(name.to_s)
+            writer.write(Sharding.__send__(name))
+          end
+        end
+      end
+
+      private
+      def parse_range_index(value)
+        case value
+        when nil
+          nil
+        when "auto"
+          :auto
+        when "always"
+          :always
+        when "never"
+          :never
+        else
+          message = "[logical_parameters][range_index] "
+          message << "must be auto, always or never: <#{value}>"
+          raise InvalidArgument, message
+        end
+      end
+    end
+  end
+end

  Modified: plugins/sharding/sources.am (+1 -0)
===================================================================
--- plugins/sharding/sources.am    2015-07-27 18:59:14 +0900 (14e5660)
+++ plugins/sharding/sources.am    2015-07-27 19:01:18 +0900 (184b83e)
@@ -1,6 +1,7 @@
 sharding_scripts =				\
 	logical_count.rb			\
 	logical_enumerator.rb			\
+	logical_parameters.rb			\
 	logical_range_filter.rb			\
 	logical_select.rb			\
 	logical_table_remove.rb			\

  Added: test/command/suite/sharding/logical_parameters/range_index/always.expected (+4 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/sharding/logical_parameters/range_index/always.expected    2015-07-27 19:01:18 +0900 (512a005)
@@ -0,0 +1,4 @@
+register sharding
+[[0,0.0,0.0],true]
+logical_parameters --range_index always
+[[0,0.0,0.0],{"range_index":"always"}]

  Added: test/command/suite/sharding/logical_parameters/range_index/always.test (+5 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/sharding/logical_parameters/range_index/always.test    2015-07-27 19:01:18 +0900 (f8caa01)
@@ -0,0 +1,5 @@
+#@on-error omit
+register sharding
+#@on-error default
+
+logical_parameters --range_index always

  Added: test/command/suite/sharding/logical_parameters/range_index/auto.expected (+4 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/sharding/logical_parameters/range_index/auto.expected    2015-07-27 19:01:18 +0900 (4d15e14)
@@ -0,0 +1,4 @@
+register sharding
+[[0,0.0,0.0],true]
+logical_parameters --range_index auto
+[[0,0.0,0.0],{"range_index":"auto"}]

  Added: test/command/suite/sharding/logical_parameters/range_index/auto.test (+5 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/sharding/logical_parameters/range_index/auto.test    2015-07-27 19:01:18 +0900 (7aea6f7)
@@ -0,0 +1,5 @@
+#@on-error omit
+register sharding
+#@on-error default
+
+logical_parameters --range_index auto

  Added: test/command/suite/sharding/logical_parameters/range_index/default.expected (+4 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/sharding/logical_parameters/range_index/default.expected    2015-07-27 19:01:18 +0900 (6cf7ecc)
@@ -0,0 +1,4 @@
+register sharding
+[[0,0.0,0.0],true]
+logical_parameters
+[[0,0.0,0.0],{"range_index":"auto"}]

  Added: test/command/suite/sharding/logical_parameters/range_index/default.test (+5 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/sharding/logical_parameters/range_index/default.test    2015-07-27 19:01:18 +0900 (c4558d3)
@@ -0,0 +1,5 @@
+#@on-error omit
+register sharding
+#@on-error default
+
+logical_parameters

  Added: test/command/suite/sharding/logical_parameters/range_index/invalid.expected (+13 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/sharding/logical_parameters/range_index/invalid.expected    2015-07-27 19:01:18 +0900 (a535e8a)
@@ -0,0 +1,13 @@
+register sharding
+[[0,0.0,0.0],true]
+logical_parameters --range_index invalid
+[
+  [
+    [
+      -22,
+      0.0,
+      0.0
+    ],
+    "[logical_parameters][range_index] must be auto, always or never: <invalid>"
+  ]
+]

  Added: test/command/suite/sharding/logical_parameters/range_index/invalid.test (+5 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/sharding/logical_parameters/range_index/invalid.test    2015-07-27 19:01:18 +0900 (8eb155a)
@@ -0,0 +1,5 @@
+#@on-error omit
+register sharding
+#@on-error default
+
+logical_parameters --range_index invalid

  Added: test/command/suite/sharding/logical_parameters/range_index/never.expected (+4 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/sharding/logical_parameters/range_index/never.expected    2015-07-27 19:01:18 +0900 (9f32fd7)
@@ -0,0 +1,4 @@
+register sharding
+[[0,0.0,0.0],true]
+logical_parameters --range_index never
+[[0,0.0,0.0],{"range_index":"never"}]

  Added: test/command/suite/sharding/logical_parameters/range_index/never.test (+5 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/sharding/logical_parameters/range_index/never.test    2015-07-27 19:01:18 +0900 (224edb2)
@@ -0,0 +1,5 @@
+#@on-error omit
+register sharding
+#@on-error default
+
+logical_parameters --range_index never
-------------- next part --------------
HTML����������������������������...
Download 



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