groonga-command 1.4.7 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c0516f0f80a6af2fefb12d10390e6f314ecf88e08f1cafc3abc942c92e13a23b
4
- data.tar.gz: 67eb82831789e515f65f153d9dd6b2833b0b364b4d80befdb04013ca7343caf2
3
+ metadata.gz: 47d6a7b2852bae83978ea53afb8cf161900a1d966a858c097b5abe73e1be352e
4
+ data.tar.gz: 3713f2fd40276e7ac46947792a8aeda9a3c673a9cb02a89883525c1a2c66d663
5
5
  SHA512:
6
- metadata.gz: e6771fb6bd7beab7ac173819a9164d810240372a2caad156c3b34d86a45d3a79549fda55e2a86aaba17040640fdede581ef3b878f79870ba3bf588f4d0388d88
7
- data.tar.gz: 96d88ac9df80ab87c3df8537a0f6280d851cd24af476fc04ccd6439e46f91a80a01ee59c6e0511c8d340cdaabebd1ecfcf651bc16e3d7b3a769997d8e8187048
6
+ metadata.gz: 4a208143568256aa7b498f769e414c5a99677b08884fdb23e2338d2749764ae14a5555ce948ce96269c582fadab0320633f10377b2023f45eaf8960a2d84c083
7
+ data.tar.gz: 3df454e758a385b3cf85033f3fab4d34aef5592204abeae71ebcda8a12e54d2ed385545658795b2f5a30104d021fd4123ca8ab9cce7c6e28b4d4b536f170b485
data/doc/text/news.md CHANGED
@@ -1,5 +1,40 @@
1
1
  # News
2
2
 
3
+ ## 1.5.1: 2021-08-24
4
+
5
+ ### Improvements
6
+
7
+ * {Groonga::Command::TableCreateSimilar}: Added.
8
+
9
+ ## 1.5.0: 2020-09-09
10
+
11
+ ### Improvements
12
+
13
+ * {Groonga::Command::TableCreate}: Added support for `path`.
14
+
15
+ * {Groonga::Command::ColumnCreate}: Added support for `path`.
16
+
17
+ ## 1.4.9: 2020-06-14
18
+
19
+ ### Improvements
20
+
21
+ * {Groonga::Command::ReferenceAcquire}: Added support for
22
+ `reference_acquire`.
23
+
24
+ * {Groonga::Command::ReferenceRelease}: Added support for
25
+ `reference_release`.
26
+
27
+ * {Groonga::Command::IOFlush#recursive}: Added.
28
+
29
+ * {Groonga::Command::IOFlush#recursive_dependent?}: Added.
30
+
31
+ ## 1.4.8: 2020-05-03
32
+
33
+ ### Improvements
34
+
35
+ * {Groonga::Command::Load#build_arrow_table}: Added support for
36
+ float32 weight vector.
37
+
3
38
  ## 1.4.7: 2020-01-10
4
39
 
5
40
  ### Improvements
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2012-2016 Kouhei Sutou <kou@clear-code.com>
1
+ # Copyright (C) 2012-2020 Sutou Kouhei <kou@clear-code.com>
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -31,6 +31,7 @@ module Groonga
31
31
  :flags,
32
32
  :type,
33
33
  :source,
34
+ :path,
34
35
  ]
35
36
  end
36
37
  end
@@ -110,6 +111,12 @@ module Groonga
110
111
  def sources
111
112
  @sources ||= array_value(:source)
112
113
  end
114
+
115
+ # @return [String, nil] Path or nil
116
+ # @since 1.5.0
117
+ def path
118
+ self[:path]
119
+ end
113
120
  end
114
121
  end
115
122
  end
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2015 Kouhei Sutou <kou@clear-code.com>
1
+ # Copyright (C) 2015-2020 Sutou Kouhei <kou@clear-code.com>
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -44,11 +44,25 @@ module Groonga
44
44
  self[:target_name]
45
45
  end
46
46
 
47
- # @return [Boolean] `recursive` parameter value.
47
+ # @return [String] `recursive` parameter value.
48
+ #
49
+ # @since 1.4.9
50
+ def recursive
51
+ self[:recursive]
52
+ end
53
+
54
+ # @return [Boolean] Whether `recursive` parameter value isn't `no`.
48
55
  #
49
56
  # @since 1.1.3
50
57
  def recursive?
51
- self[:recursive] != "no"
58
+ recursive != "no"
59
+ end
60
+
61
+ # @return [Boolean] `recursive` parameter value.
62
+ #
63
+ # @since 1.4.9
64
+ def recursive_dependent?
65
+ recursive == "dependent"
52
66
  end
53
67
  end
54
68
  end
@@ -181,8 +181,8 @@ module Groonga
181
181
  data_type ||= :string
182
182
  arrow_array = build_arrow_array(data_type, raw_array)
183
183
  when Hash
184
- arrow_array = build_arrow_array(arrow_weight_vector_data_type,
185
- raw_array)
184
+ data_type = arrow_weight_vector_data_type(sample)
185
+ arrow_array = build_arrow_array(data_type, raw_array)
186
186
  else
187
187
  data_type = detect_arrow_data_type(raw_array) || :string
188
188
  if data_type == :string
@@ -226,9 +226,14 @@ module Groonga
226
226
  Arrow::ListArrayBuilder.build(arrow_list_data_type, raw_array)
227
227
  end
228
228
 
229
- def arrow_weight_vector_data_type
229
+ def arrow_weight_vector_data_type(raw_value)
230
+ if raw_value.values.any? {|value| value.is_a?(Float)}
231
+ weight_type = :float
232
+ else
233
+ weight_type = :int32
234
+ end
230
235
  Arrow::StructDataType.new("value" => :string,
231
- "weight" => :int32)
236
+ "weight" => weight_type)
232
237
  end
233
238
 
234
239
  def detect_arrow_data_type(raw_array)
@@ -249,8 +254,8 @@ module Groonga
249
254
  type = nil if type == :int64
250
255
  type ||= :double
251
256
  when Hash
252
- arrow_list_field =
253
- Arrow::Field.new("item", arrow_weight_vector_data_type)
257
+ item_type = arrow_weight_vector_data_type(element)
258
+ arrow_list_field = Arrow::Field.new("item", item_type)
254
259
  arrow_list_data_type = Arrow::ListDataType.new(arrow_list_field)
255
260
  return arrow_list_data_type
256
261
  else
@@ -0,0 +1,69 @@
1
+ # Copyright (C) 2020 Sutou Kouhei <kou@clear-code.com>
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ require "groonga/command/base"
18
+
19
+ module Groonga
20
+ module Command
21
+ # A command class that represents `reference_acquire` command.
22
+ #
23
+ # @since 1.4.9
24
+ class ReferenceAcquire < Base
25
+ class << self
26
+ def command_name
27
+ "reference_acquire"
28
+ end
29
+
30
+ def parameter_names
31
+ [
32
+ :target_name,
33
+ :recursive,
34
+ ]
35
+ end
36
+ end
37
+
38
+ Command.register(command_name, self)
39
+
40
+ # @return [String] `target_name` parameter value.
41
+ #
42
+ # @since 1.4.9
43
+ def target_name
44
+ self[:target_name]
45
+ end
46
+
47
+ # @return [String] `recursive` parameter value.
48
+ #
49
+ # @since 1.4.9
50
+ def recursive
51
+ self[:recursive]
52
+ end
53
+
54
+ # @return [Boolean] Whether `recursive` parameter value isn't `no`.
55
+ #
56
+ # @since 1.4.9
57
+ def recursive?
58
+ recursive != "no"
59
+ end
60
+
61
+ # @return [Boolean] `recursive` parameter value.
62
+ #
63
+ # @since 1.4.9
64
+ def recursive_dependent?
65
+ recursive == "dependent"
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,69 @@
1
+ # Copyright (C) 2020 Sutou Kouhei <kou@clear-code.com>
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ require "groonga/command/base"
18
+
19
+ module Groonga
20
+ module Command
21
+ # A command class that represents `reference_release` command.
22
+ #
23
+ # @since 1.4.9
24
+ class ReferenceRelease < Base
25
+ class << self
26
+ def command_name
27
+ "reference_release"
28
+ end
29
+
30
+ def parameter_names
31
+ [
32
+ :target_name,
33
+ :recursive,
34
+ ]
35
+ end
36
+ end
37
+
38
+ Command.register(command_name, self)
39
+
40
+ # @return [String] `target_name` parameter value.
41
+ #
42
+ # @since 1.4.9
43
+ def target_name
44
+ self[:target_name]
45
+ end
46
+
47
+ # @return [String] `recursive` parameter value.
48
+ #
49
+ # @since 1.4.9
50
+ def recursive
51
+ self[:recursive]
52
+ end
53
+
54
+ # @return [Boolean] Whether `recursive` parameter value isn't `no`.
55
+ #
56
+ # @since 1.4.9
57
+ def recursive?
58
+ self[:recursive] != "no"
59
+ end
60
+
61
+ # @return [Boolean] `recursive` parameter value.
62
+ #
63
+ # @since 1.4.9
64
+ def recursive_dependent?
65
+ self[:recursive] == "dependent"
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,51 @@
1
+ # Copyright (C) 2021 Sutou Kouhei <kou@clear-code.com>
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ require "groonga/command/base"
18
+
19
+ module Groonga
20
+ module Command
21
+ class TableCreateSimilar < Base
22
+ class << self
23
+ def command_name
24
+ "table_create_similar"
25
+ end
26
+
27
+ def parameter_names
28
+ [
29
+ :name,
30
+ :base_table,
31
+ ]
32
+ end
33
+ end
34
+
35
+ Command.register(command_name, self)
36
+
37
+ # @return [String] The new table name.
38
+ #
39
+ # @since 1.5.1
40
+ def name
41
+ self[:name]
42
+ end
43
+ # @return [String] The base table name.
44
+ #
45
+ # @since 1.5.1
46
+ def base_table
47
+ self[:base_table]
48
+ end
49
+ end
50
+ end
51
+ end
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2012-2016 Kouhei Sutou <kou@clear-code.com>
1
+ # Copyright (C) 2012-2020 Sutou Kouhei <kou@clear-code.com>
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -33,6 +33,7 @@ module Groonga
33
33
  :default_tokenizer,
34
34
  :normalizer,
35
35
  :token_filters,
36
+ :path,
36
37
  ]
37
38
  end
38
39
  end
@@ -117,6 +118,12 @@ module Groonga
117
118
  def token_filters
118
119
  @token_filters ||= array_value(:token_filters)
119
120
  end
121
+
122
+ # @return [String, nil] Path or nil
123
+ # @since 1.5.0
124
+ def path
125
+ self[:path]
126
+ end
120
127
  end
121
128
  end
122
129
  end
@@ -16,6 +16,6 @@
16
16
 
17
17
  module Groonga
18
18
  module Command
19
- VERSION = "1.4.7"
19
+ VERSION = "1.5.1"
20
20
  end
21
21
  end
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2012-2017 Kouhei Sutou <kou@clear-code.com>
1
+ # Copyright (C) 2012-2021 Sutou Kouhei <kou@clear-code.com>
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -51,6 +51,8 @@ require "groonga/command/query-log-flags-get"
51
51
  require "groonga/command/query-log-flags-remove"
52
52
  require "groonga/command/query-log-flags-set"
53
53
  require "groonga/command/range-filter"
54
+ require "groonga/command/reference-acquire"
55
+ require "groonga/command/reference-release"
54
56
  require "groonga/command/register"
55
57
  require "groonga/command/reindex"
56
58
  require "groonga/command/request-cancel"
@@ -63,6 +65,7 @@ require "groonga/command/status"
63
65
  require "groonga/command/suggest"
64
66
  require "groonga/command/table-copy"
65
67
  require "groonga/command/table-create"
68
+ require "groonga/command/table-create-similar"
66
69
  require "groonga/command/table-list"
67
70
  require "groonga/command/table-remove"
68
71
  require "groonga/command/table-rename"
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2012-2016 Kouhei Sutou <kou@clear-code.com>
1
+ # Copyright (C) 2012-2020 Sutou Kouhei <kou@clear-code.com>
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -28,14 +28,24 @@ class ColumnCreateCommandTest < Test::Unit::TestCase
28
28
  flags = "COLUMN_INDEX"
29
29
  type = "Posts"
30
30
  source = "content"
31
-
32
- command = column_create_command({}, [table, name, flags, type, source])
31
+ path = "Lexicon.content_index"
32
+
33
+ command = column_create_command({},
34
+ [
35
+ table,
36
+ name,
37
+ flags,
38
+ type,
39
+ source,
40
+ path,
41
+ ])
33
42
  assert_equal({
34
43
  :table => table,
35
44
  :name => name,
36
45
  :flags => flags,
37
46
  :type => type,
38
47
  :source => source,
48
+ :path => path,
39
49
  },
40
50
  command.arguments)
41
51
  end
@@ -198,4 +208,16 @@ class ColumnCreateCommandTest < Test::Unit::TestCase
198
208
  command.sources)
199
209
  end
200
210
  end
211
+
212
+ class PathTest < self
213
+ def test_specified
214
+ command = column_create_command({"path" => "Lexicon.content_index"})
215
+ assert_equal("Lexicon.content_index", command.path)
216
+ end
217
+
218
+ def test_omitted
219
+ command = column_create_command
220
+ assert_nil(command.path)
221
+ end
222
+ end
201
223
  end
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2015 Kouhei Sutou <kou@clear-code.com>
1
+ # Copyright (C) 2015-2020 Sutou Kouhei <kou@clear-code.com>
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -53,6 +53,9 @@ class IOFlushCommandTest < Test::Unit::TestCase
53
53
  assert do
54
54
  command.recursive?
55
55
  end
56
+ assert do
57
+ not command.recursive_dependent?
58
+ end
56
59
  end
57
60
 
58
61
  def test_no
@@ -60,6 +63,19 @@ class IOFlushCommandTest < Test::Unit::TestCase
60
63
  assert do
61
64
  not command.recursive?
62
65
  end
66
+ assert do
67
+ not command.recursive_dependent?
68
+ end
69
+ end
70
+
71
+ def test_dependent
72
+ command = io_flush_command(:recursive => "dependent")
73
+ assert do
74
+ command.recursive?
75
+ end
76
+ assert do
77
+ command.recursive_dependent?
78
+ end
63
79
  end
64
80
  end
65
81
  end
@@ -0,0 +1,82 @@
1
+ # Copyright (C) 2020 Sutou Kouhei <kou@clear-code.com>
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ class ReferenceAcquireCommandTest < Test::Unit::TestCase
18
+ private
19
+ def reference_acquire_command(pair_arguments={}, ordered_arguments=[])
20
+ Groonga::Command::ReferenceAcquire.new(pair_arguments,
21
+ ordered_arguments)
22
+ end
23
+
24
+ class ConstructorTest < self
25
+ def test_ordered_arguments
26
+ target_name = "Users"
27
+ recursive = "no"
28
+
29
+ ordered_arguments = [
30
+ target_name,
31
+ recursive,
32
+ ]
33
+ command = reference_acquire_command({}, ordered_arguments)
34
+ assert_equal({
35
+ :target_name => target_name,
36
+ :recursive => recursive,
37
+ },
38
+ command.arguments)
39
+ end
40
+ end
41
+
42
+ class TargetNameTest < self
43
+ def test_reader
44
+ command = reference_acquire_command(:target_name => "Users")
45
+ assert_equal("Users", command.target_name)
46
+ end
47
+ end
48
+
49
+ class RecursiveTest < self
50
+ class ReaderTest < self
51
+ def test_default
52
+ command = reference_acquire_command
53
+ assert do
54
+ command.recursive?
55
+ end
56
+ assert do
57
+ not command.recursive_dependent?
58
+ end
59
+ end
60
+
61
+ def test_no
62
+ command = reference_acquire_command(:recursive => "no")
63
+ assert do
64
+ not command.recursive?
65
+ end
66
+ assert do
67
+ not command.recursive_dependent?
68
+ end
69
+ end
70
+
71
+ def test_dependent
72
+ command = reference_acquire_command(:recursive => "dependent")
73
+ assert do
74
+ command.recursive?
75
+ end
76
+ assert do
77
+ command.recursive_dependent?
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,82 @@
1
+ # Copyright (C) 2020 Sutou Kouhei <kou@clear-code.com>
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ class ReferenceReleaseCommandTest < Test::Unit::TestCase
18
+ private
19
+ def reference_release_command(pair_arguments={}, ordered_arguments=[])
20
+ Groonga::Command::ReferenceRelease.new(pair_arguments,
21
+ ordered_arguments)
22
+ end
23
+
24
+ class ConstructorTest < self
25
+ def test_ordered_arguments
26
+ target_name = "Users"
27
+ recursive = "no"
28
+
29
+ ordered_arguments = [
30
+ target_name,
31
+ recursive,
32
+ ]
33
+ command = reference_release_command({}, ordered_arguments)
34
+ assert_equal({
35
+ :target_name => target_name,
36
+ :recursive => recursive,
37
+ },
38
+ command.arguments)
39
+ end
40
+ end
41
+
42
+ class TargetNameTest < self
43
+ def test_reader
44
+ command = reference_release_command(:target_name => "Users")
45
+ assert_equal("Users", command.target_name)
46
+ end
47
+ end
48
+
49
+ class RecursiveTest < self
50
+ class ReaderTest < self
51
+ def test_default
52
+ command = reference_release_command
53
+ assert do
54
+ command.recursive?
55
+ end
56
+ assert do
57
+ not command.recursive_dependent?
58
+ end
59
+ end
60
+
61
+ def test_no
62
+ command = reference_release_command(:recursive => "no")
63
+ assert do
64
+ not command.recursive?
65
+ end
66
+ assert do
67
+ not command.recursive_dependent?
68
+ end
69
+ end
70
+
71
+ def test_dependent
72
+ command = reference_release_command(:recursive => "dependent")
73
+ assert do
74
+ command.recursive?
75
+ end
76
+ assert do
77
+ command.recursive_dependent?
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,55 @@
1
+ # Copyright (C) 2021 Sutou Kouhei <kou@clear-code.com>
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ class TableCreateSimilarCommandTest < Test::Unit::TestCase
18
+ private
19
+ def table_create_similar_command(pair_arguments={}, ordered_arguments=[])
20
+ Groonga::Command::TableCreateSimilar.new(pair_arguments,
21
+ ordered_arguments)
22
+ end
23
+
24
+ class ConstructorTest < self
25
+ def test_ordered_arguments
26
+ name = "UsersSimilar"
27
+ base_table = "Users"
28
+
29
+ ordered_arguments = [
30
+ name,
31
+ base_table,
32
+ ]
33
+ command = table_create_similar_command({}, ordered_arguments)
34
+ assert_equal({
35
+ name: name,
36
+ base_table: base_table,
37
+ },
38
+ command.arguments)
39
+ end
40
+ end
41
+
42
+ class NameTest < self
43
+ def test_reader
44
+ command = table_create_similar_command({"name" => "UsersSimilar"})
45
+ assert_equal("UsersSimilar", command.name)
46
+ end
47
+ end
48
+
49
+ class BaseTableTest < self
50
+ def test_reader
51
+ command = table_create_similar_command({"base_table" => "Users"})
52
+ assert_equal("Users", command.base_table)
53
+ end
54
+ end
55
+ end
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2012-2016 Kouhei Sutou <kou@clear-code.com>
1
+ # Copyright (C) 2012-2020 Sutou Kouhei <kou@clear-code.com>
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -30,6 +30,7 @@ class TableCreateCommandTest < Test::Unit::TestCase
30
30
  default_tokenizer = "TokenBigram"
31
31
  normalizer = "NormalizerAuto"
32
32
  token_filters = "TokenFilterStopWord|TokenFilterStem"
33
+ path = "tables.users"
33
34
 
34
35
  ordered_arguments = [
35
36
  name,
@@ -39,6 +40,7 @@ class TableCreateCommandTest < Test::Unit::TestCase
39
40
  default_tokenizer,
40
41
  normalizer,
41
42
  token_filters,
43
+ path,
42
44
  ]
43
45
  command = table_create_command({}, ordered_arguments)
44
46
  assert_equal({
@@ -49,6 +51,7 @@ class TableCreateCommandTest < Test::Unit::TestCase
49
51
  :default_tokenizer => default_tokenizer,
50
52
  :normalizer => normalizer,
51
53
  :token_filters => token_filters,
54
+ :path => path,
52
55
  },
53
56
  command.arguments)
54
57
  end
@@ -230,4 +233,16 @@ class TableCreateCommandTest < Test::Unit::TestCase
230
233
  assert_equal([], command.token_filters)
231
234
  end
232
235
  end
236
+
237
+ class PathTest < self
238
+ def test_specified
239
+ command = table_create_command({"path" => "tables.users"})
240
+ assert_equal("tables.users", command.path)
241
+ end
242
+
243
+ def test_omitted
244
+ command = table_create_command
245
+ assert_nil(command.path)
246
+ end
247
+ end
233
248
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: groonga-command
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.7
4
+ version: 1.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouhei Sutou
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-10 00:00:00.000000000 Z
11
+ date: 2021-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -190,6 +190,8 @@ files:
190
190
  - lib/groonga/command/query-log-flags-remove.rb
191
191
  - lib/groonga/command/query-log-flags-set.rb
192
192
  - lib/groonga/command/range-filter.rb
193
+ - lib/groonga/command/reference-acquire.rb
194
+ - lib/groonga/command/reference-release.rb
193
195
  - lib/groonga/command/register.rb
194
196
  - lib/groonga/command/reindex.rb
195
197
  - lib/groonga/command/request-cancel.rb
@@ -203,6 +205,7 @@ files:
203
205
  - lib/groonga/command/status.rb
204
206
  - lib/groonga/command/suggest.rb
205
207
  - lib/groonga/command/table-copy.rb
208
+ - lib/groonga/command/table-create-similar.rb
206
209
  - lib/groonga/command/table-create.rb
207
210
  - lib/groonga/command/table-list.rb
208
211
  - lib/groonga/command/table-remove.rb
@@ -247,6 +250,8 @@ files:
247
250
  - test/command/test-query-log-flags-remove.rb
248
251
  - test/command/test-query-log-flags-set.rb
249
252
  - test/command/test-range-filter.rb
253
+ - test/command/test-reference-acquire.rb
254
+ - test/command/test-reference-release.rb
250
255
  - test/command/test-register.rb
251
256
  - test/command/test-reindex.rb
252
257
  - test/command/test-request-cancel.rb
@@ -258,6 +263,7 @@ files:
258
263
  - test/command/test-status.rb
259
264
  - test/command/test-suggest.rb
260
265
  - test/command/test-table-copy.rb
266
+ - test/command/test-table-create-similar.rb
261
267
  - test/command/test-table-create.rb
262
268
  - test/command/test-table-list.rb
263
269
  - test/command/test-table-remove.rb
@@ -287,66 +293,68 @@ required_rubygems_version: !ruby/object:Gem::Requirement
287
293
  - !ruby/object:Gem::Version
288
294
  version: '0'
289
295
  requirements: []
290
- rubyforge_project:
291
- rubygems_version: 2.7.6.2
296
+ rubygems_version: 3.3.0.dev
292
297
  signing_key:
293
298
  specification_version: 4
294
299
  summary: Groonga-command is a library that represents [Groonga](http://groonga.org/)'s
295
300
  command. You can write a program that handle Groonga's command by using groonga-command.
296
301
  test_files:
297
- - test/run-test.rb
298
- - test/command/test-range-filter.rb
302
+ - test/command/format/test-command.rb
303
+ - test/command/test-base.rb
304
+ - test/command/test-column-copy.rb
305
+ - test/command/test-column-create.rb
306
+ - test/command/test-column-list.rb
307
+ - test/command/test-column-remove.rb
299
308
  - test/command/test-column-rename.rb
300
- - test/command/test-object-exist.rb
309
+ - test/command/test-config-delete.rb
301
310
  - test/command/test-config-get.rb
302
- - test/command/test-table-create.rb
303
- - test/command/test-plugin-register.rb
304
- - test/command/test-query-log-flags-remove.rb
305
- - test/command/format/test-command.rb
306
- - test/command/test-table-rename.rb
307
- - test/command/test-truncate.rb
311
+ - test/command/test-config-set.rb
312
+ - test/command/test-delete.rb
313
+ - test/command/test-dump.rb
314
+ - test/command/test-get.rb
315
+ - test/command/test-index-column-diff.rb
316
+ - test/command/test-io-flush.rb
317
+ - test/command/test-load.rb
318
+ - test/command/test-log-level.rb
308
319
  - test/command/test-log-put.rb
309
- - test/command/test-query-log-flags-get.rb
310
- - test/command/test-query-log-flags-set.rb
320
+ - test/command/test-logical-count.rb
311
321
  - test/command/test-logical-range-filter.rb
312
- - test/command/test-column-list.rb
313
- - test/command/test-ruby-load.rb
314
- - test/command/test-query-log-flags-add.rb
315
- - test/command/test-table-copy.rb
316
- - test/command/test-config-delete.rb
317
322
  - test/command/test-logical-select.rb
318
- - test/command/test-tokenize.rb
319
- - test/command/test-table-tokenize.rb
320
- - test/command/test-request-cancel.rb
321
- - test/command/test-column-copy.rb
322
- - test/command/test-suggest.rb
323
- - test/command/test-column-remove.rb
324
- - test/command/test-object-remove.rb
325
323
  - test/command/test-logical-shard-list.rb
326
- - test/command/test-column-create.rb
327
- - test/command/test-get.rb
328
- - test/command/test-load.rb
329
- - test/command/test-reindex.rb
330
- - test/command/test-plugin-unregister.rb
331
- - test/command/test-io-flush.rb
332
324
  - test/command/test-logical-table-remove.rb
333
- - test/command/test-index-column-diff.rb
334
- - test/command/test-register.rb
325
+ - test/command/test-normalize.rb
326
+ - test/command/test-object-exist.rb
335
327
  - test/command/test-object-inspect.rb
336
- - test/command/test-delete.rb
328
+ - test/command/test-object-remove.rb
329
+ - test/command/test-plugin-register.rb
330
+ - test/command/test-plugin-unregister.rb
337
331
  - test/command/test-query-expand.rb
338
- - test/command/test-table-list.rb
339
- - test/command/test-status.rb
340
- - test/command/test-thread-limit.rb
341
- - test/command/test-config-set.rb
342
- - test/command/test-log-level.rb
343
- - test/command/test-shutdown.rb
332
+ - test/command/test-query-log-flags-add.rb
333
+ - test/command/test-query-log-flags-get.rb
334
+ - test/command/test-query-log-flags-remove.rb
335
+ - test/command/test-query-log-flags-set.rb
336
+ - test/command/test-range-filter.rb
337
+ - test/command/test-reference-acquire.rb
338
+ - test/command/test-reference-release.rb
339
+ - test/command/test-register.rb
340
+ - test/command/test-reindex.rb
341
+ - test/command/test-request-cancel.rb
344
342
  - test/command/test-ruby-eval.rb
343
+ - test/command/test-ruby-load.rb
345
344
  - test/command/test-schema.rb
346
- - test/command/test-normalize.rb
347
- - test/command/test-dump.rb
348
- - test/command/test-base.rb
349
- - test/command/test-logical-count.rb
350
- - test/command/test-table-remove.rb
351
345
  - test/command/test-select.rb
346
+ - test/command/test-shutdown.rb
347
+ - test/command/test-status.rb
348
+ - test/command/test-suggest.rb
349
+ - test/command/test-table-copy.rb
350
+ - test/command/test-table-create-similar.rb
351
+ - test/command/test-table-create.rb
352
+ - test/command/test-table-list.rb
353
+ - test/command/test-table-remove.rb
354
+ - test/command/test-table-rename.rb
355
+ - test/command/test-table-tokenize.rb
356
+ - test/command/test-thread-limit.rb
357
+ - test/command/test-tokenize.rb
358
+ - test/command/test-truncate.rb
352
359
  - test/groonga-command-test-utils.rb
360
+ - test/run-test.rb