groonga-command 1.4.5 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/doc/text/news.md +42 -0
- data/groonga-command.gemspec +7 -6
- data/lib/groonga/command.rb +3 -1
- data/lib/groonga/command/column-create.rb +8 -1
- data/lib/groonga/command/io-flush.rb +17 -3
- data/lib/groonga/command/load.rb +181 -1
- data/lib/groonga/command/reference-acquire.rb +69 -0
- data/lib/groonga/command/reference-release.rb +69 -0
- data/lib/groonga/command/table-create.rb +8 -1
- data/lib/groonga/command/version.rb +2 -2
- data/test/command/test-column-create.rb +25 -3
- data/test/command/test-io-flush.rb +17 -1
- data/test/command/test-load.rb +87 -1
- data/test/command/test-reference-acquire.rb +82 -0
- data/test/command/test-reference-release.rb +82 -0
- data/test/command/test-table-create.rb +16 -1
- metadata +72 -53
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e0a884cdd095a67a74caa831f67eb420840be13eecc552f2f2f78c90d550c575
|
4
|
+
data.tar.gz: a3c120f49e43c621730b7776db995fc2830b53a0442431633e5dc8f2e3b70a1e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3cf34717db9e581a457225b247aefb5842b0a082b80269b9a8f22a1d5f5cba5a4153df1e95a5d7d861b2cf41d2f8e9a3adcb16639b76c53c66c16f25864382bf
|
7
|
+
data.tar.gz: 15427c409804f289c14ed6656e6fdbda9676edc2ec069acb48e619fe4a9357fef7f8d67032eb91978603bd79336843b4224a3d0ebd423c8d57317f5c09867cb2
|
data/doc/text/news.md
CHANGED
@@ -1,5 +1,47 @@
|
|
1
1
|
# News
|
2
2
|
|
3
|
+
## 1.5.0: 2020-09-09
|
4
|
+
|
5
|
+
### Improvements
|
6
|
+
|
7
|
+
* {Groonga::Command::TableCreate}: Added support for `path`.
|
8
|
+
|
9
|
+
* {Groonga::Command::ColumnCreate}: Added support for `path`.
|
10
|
+
|
11
|
+
## 1.4.9: 2020-06-14
|
12
|
+
|
13
|
+
### Improvements
|
14
|
+
|
15
|
+
* {Groonga::Command::ReferenceAcquire}: Added support for
|
16
|
+
`reference_acquire`.
|
17
|
+
|
18
|
+
* {Groonga::Command::ReferenceRelease}: Added support for
|
19
|
+
`reference_release`.
|
20
|
+
|
21
|
+
* {Groonga::Command::IOFlush#recursive}: Added.
|
22
|
+
|
23
|
+
* {Groonga::Command::IOFlush#recursive_dependent?}: Added.
|
24
|
+
|
25
|
+
## 1.4.8: 2020-05-03
|
26
|
+
|
27
|
+
### Improvements
|
28
|
+
|
29
|
+
* {Groonga::Command::Load#build_arrow_table}: Added support for
|
30
|
+
float32 weight vector.
|
31
|
+
|
32
|
+
## 1.4.7: 2020-01-10
|
33
|
+
|
34
|
+
### Improvements
|
35
|
+
|
36
|
+
* {Groonga::Command::Load#build_arrow_table}: Added support for raw
|
37
|
+
values case.
|
38
|
+
|
39
|
+
## 1.4.6: 2020-01-10
|
40
|
+
|
41
|
+
### Improvements
|
42
|
+
|
43
|
+
* {Groonga::Command::Load#build_arrow_table}: Added.
|
44
|
+
|
3
45
|
## 1.4.5: 2019-09-02
|
4
46
|
|
5
47
|
### Improvements
|
data/groonga-command.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
# -*-
|
1
|
+
# -*- ruby -*-
|
2
2
|
#
|
3
|
-
# Copyright (C) 2012-
|
3
|
+
# Copyright (C) 2012-2020 Sutou Kouhei <kou@clear-code.com>
|
4
4
|
#
|
5
5
|
# This library is free software; you can redistribute it and/or
|
6
6
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -54,12 +54,13 @@ Gem::Specification.new do |spec|
|
|
54
54
|
|
55
55
|
spec.add_runtime_dependency("json")
|
56
56
|
|
57
|
-
spec.add_development_dependency("test-unit")
|
58
|
-
spec.add_development_dependency("test-unit-notify")
|
59
|
-
spec.add_development_dependency("rake")
|
60
57
|
spec.add_development_dependency("bundler")
|
61
58
|
spec.add_development_dependency("packnga")
|
62
|
-
spec.add_development_dependency("
|
59
|
+
spec.add_development_dependency("rake")
|
60
|
+
spec.add_development_dependency("red-arrow")
|
63
61
|
spec.add_development_dependency("redcarpet")
|
62
|
+
spec.add_development_dependency("test-unit")
|
63
|
+
spec.add_development_dependency("test-unit-notify")
|
64
|
+
spec.add_development_dependency("yard")
|
64
65
|
end
|
65
66
|
|
data/lib/groonga/command.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012-
|
1
|
+
# Copyright (C) 2012-2020 Kouhei Sutou <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"
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012-
|
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
|
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 [
|
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
|
-
|
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
|
data/lib/groonga/command/load.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012-
|
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
|
@@ -16,6 +16,11 @@
|
|
16
16
|
|
17
17
|
require "json"
|
18
18
|
|
19
|
+
begin
|
20
|
+
require "arrow"
|
21
|
+
rescue LoadError
|
22
|
+
end
|
23
|
+
|
19
24
|
require "groonga/command/base"
|
20
25
|
|
21
26
|
module Groonga
|
@@ -66,6 +71,35 @@ module Groonga
|
|
66
71
|
@columns ||= parse_columns(self[:columns])
|
67
72
|
end
|
68
73
|
|
74
|
+
# Builds `Arrow::Table` for data of this `load` command.
|
75
|
+
#
|
76
|
+
# This requires red-arrow gem. If red-arrow gem isn't available,
|
77
|
+
# `NotImplementedError` is raised.
|
78
|
+
#
|
79
|
+
# @return [Arrow::Table, nil] `Arrow::Table` if there is one or more
|
80
|
+
# records, `nil` otherwise.
|
81
|
+
#
|
82
|
+
# @since 1.4.6
|
83
|
+
def build_arrow_table
|
84
|
+
unless defined?(::Arrow)
|
85
|
+
raise NotImplementedError, "red-arrow is required"
|
86
|
+
end
|
87
|
+
source_lines = (original_source || "").lines
|
88
|
+
if source_lines.size >= 2
|
89
|
+
if /\s--columns\s/ =~ source_lines.first
|
90
|
+
target_columns = columns
|
91
|
+
else
|
92
|
+
target_columns = nil
|
93
|
+
end
|
94
|
+
target_values = JSON.parse(source_lines[1..-1].join(""))
|
95
|
+
else
|
96
|
+
target_columns = columns
|
97
|
+
target_values = values
|
98
|
+
end
|
99
|
+
builder = ArrowTableBuilder.new(target_columns, target_values)
|
100
|
+
builder.build
|
101
|
+
end
|
102
|
+
|
69
103
|
# @return [Boolean] `true` if `output_ids` value is `"yes"`.
|
70
104
|
#
|
71
105
|
# @since 1.3.0
|
@@ -85,6 +119,152 @@ module Groonga
|
|
85
119
|
return columns if columns.nil?
|
86
120
|
columns.split(/\s*,\s*/)
|
87
121
|
end
|
122
|
+
|
123
|
+
class ArrowTableBuilder
|
124
|
+
def initialize(columns, values)
|
125
|
+
@columns = columns
|
126
|
+
@values = values
|
127
|
+
end
|
128
|
+
|
129
|
+
def build
|
130
|
+
raw_table = build_raw_table
|
131
|
+
return nil if raw_table.empty?
|
132
|
+
build_arrow_table(raw_table)
|
133
|
+
end
|
134
|
+
|
135
|
+
private
|
136
|
+
def build_raw_table
|
137
|
+
raw_table = {}
|
138
|
+
if @values.first.is_a?(Array)
|
139
|
+
columns = @columns
|
140
|
+
if columns
|
141
|
+
records = @values
|
142
|
+
else
|
143
|
+
columns = @values.first
|
144
|
+
records = @values[1..-1]
|
145
|
+
end
|
146
|
+
records.each_with_index do |record, i|
|
147
|
+
columns.zip(record).each do |name, value|
|
148
|
+
raw_table[name] ||= []
|
149
|
+
raw_table[name][i] = value
|
150
|
+
end
|
151
|
+
end
|
152
|
+
else
|
153
|
+
@values.each_with_index do |record, i|
|
154
|
+
record.each do |name, value|
|
155
|
+
raw_table[name] ||= []
|
156
|
+
raw_table[name][i] = value
|
157
|
+
end
|
158
|
+
end
|
159
|
+
raw_table.each_key do |key|
|
160
|
+
if @values.size > raw_table[key].size
|
161
|
+
raw_table[key][@values.size - 1] = nil
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|
165
|
+
raw_table
|
166
|
+
end
|
167
|
+
|
168
|
+
def build_arrow_table(raw_table)
|
169
|
+
arrow_fields = []
|
170
|
+
arrow_arrays = []
|
171
|
+
raw_table.each do |name, raw_array|
|
172
|
+
sample = raw_array.find {|element| not element.nil?}
|
173
|
+
case sample
|
174
|
+
when Array
|
175
|
+
data_type = nil
|
176
|
+
raw_array.each do |sub_raw_array|
|
177
|
+
next if sub_raw_array.nil?
|
178
|
+
data_type = detect_arrow_data_type(sub_raw_array)
|
179
|
+
break if data_type
|
180
|
+
end
|
181
|
+
data_type ||= :string
|
182
|
+
arrow_array = build_arrow_array(data_type, raw_array)
|
183
|
+
when Hash
|
184
|
+
data_type = arrow_weight_vector_data_type(sample)
|
185
|
+
arrow_array = build_arrow_array(data_type, raw_array)
|
186
|
+
else
|
187
|
+
data_type = detect_arrow_data_type(raw_array) || :string
|
188
|
+
if data_type == :string
|
189
|
+
raw_array = raw_array.collect do |element|
|
190
|
+
element&.to_s
|
191
|
+
end
|
192
|
+
end
|
193
|
+
data_type = Arrow::DataType.resolve(data_type)
|
194
|
+
arrow_array = data_type.build_array(raw_array)
|
195
|
+
end
|
196
|
+
arrow_fields << Arrow::Field.new(name,
|
197
|
+
arrow_array.value_data_type)
|
198
|
+
arrow_arrays << arrow_array
|
199
|
+
end
|
200
|
+
arrow_schema = Arrow::Schema.new(arrow_fields)
|
201
|
+
Arrow::Table.new(arrow_schema, arrow_arrays)
|
202
|
+
end
|
203
|
+
|
204
|
+
def prepare_raw_array(raw_array)
|
205
|
+
raw_array.collect do |element|
|
206
|
+
case element
|
207
|
+
when Array
|
208
|
+
prepare_raw_array(element)
|
209
|
+
when Hash
|
210
|
+
element.collect do |value, weight|
|
211
|
+
{
|
212
|
+
"value" => value,
|
213
|
+
"weight" => weight,
|
214
|
+
}
|
215
|
+
end
|
216
|
+
else
|
217
|
+
element
|
218
|
+
end
|
219
|
+
end
|
220
|
+
end
|
221
|
+
|
222
|
+
def build_arrow_array(data_type, raw_array)
|
223
|
+
arrow_list_field = Arrow::Field.new("item", data_type)
|
224
|
+
arrow_list_data_type = Arrow::ListDataType.new(arrow_list_field)
|
225
|
+
raw_array = prepare_raw_array(raw_array)
|
226
|
+
Arrow::ListArrayBuilder.build(arrow_list_data_type, raw_array)
|
227
|
+
end
|
228
|
+
|
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
|
235
|
+
Arrow::StructDataType.new("value" => :string,
|
236
|
+
"weight" => weight_type)
|
237
|
+
end
|
238
|
+
|
239
|
+
def detect_arrow_data_type(raw_array)
|
240
|
+
type = nil
|
241
|
+
raw_array.each do |element|
|
242
|
+
case element
|
243
|
+
when nil
|
244
|
+
when true, false
|
245
|
+
type ||= :boolean
|
246
|
+
when Integer
|
247
|
+
if element >= (2 ** 63)
|
248
|
+
type = nil if type == :int64
|
249
|
+
type ||= :uint64
|
250
|
+
else
|
251
|
+
type ||= :int64
|
252
|
+
end
|
253
|
+
when Float
|
254
|
+
type = nil if type == :int64
|
255
|
+
type ||= :double
|
256
|
+
when Hash
|
257
|
+
item_type = arrow_weight_vector_data_type(element)
|
258
|
+
arrow_list_field = Arrow::Field.new("item", item_type)
|
259
|
+
arrow_list_data_type = Arrow::ListDataType.new(arrow_list_field)
|
260
|
+
return arrow_list_data_type
|
261
|
+
else
|
262
|
+
return :string
|
263
|
+
end
|
264
|
+
end
|
265
|
+
type
|
266
|
+
end
|
267
|
+
end
|
88
268
|
end
|
89
269
|
end
|
90
270
|
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_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
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012-
|
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
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012-
|
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
|
@@ -16,6 +16,6 @@
|
|
16
16
|
|
17
17
|
module Groonga
|
18
18
|
module Command
|
19
|
-
VERSION = "1.
|
19
|
+
VERSION = "1.5.0"
|
20
20
|
end
|
21
21
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012-
|
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
|
-
|
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
|
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
|
data/test/command/test-load.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012-
|
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
|
@@ -116,4 +116,90 @@ class LoadCommandTest < Test::Unit::TestCase
|
|
116
116
|
end
|
117
117
|
end
|
118
118
|
end
|
119
|
+
|
120
|
+
sub_test_case("#build_arrow_table") do
|
121
|
+
def setup
|
122
|
+
omit("red-arrow is needed") unless defined?(Arrow)
|
123
|
+
end
|
124
|
+
|
125
|
+
sub_test_case("Array") do
|
126
|
+
def test_without_columns_argument
|
127
|
+
command = load_command({"values" => [
|
128
|
+
["column1", "column2"],
|
129
|
+
["value1", "value2"],
|
130
|
+
].to_json})
|
131
|
+
assert_equal(Arrow::Table.new({
|
132
|
+
"column1" => ["value1"],
|
133
|
+
"column2" => ["value2"],
|
134
|
+
}),
|
135
|
+
command.build_arrow_table)
|
136
|
+
end
|
137
|
+
|
138
|
+
def test_with_columns_argument
|
139
|
+
command = load_command({"columns" => ["column1", "column2"].join(", "),
|
140
|
+
"values" => [
|
141
|
+
["value1", "value2"],
|
142
|
+
].to_json})
|
143
|
+
assert_equal(Arrow::Table.new({
|
144
|
+
"column1" => ["value1"],
|
145
|
+
"column2" => ["value2"],
|
146
|
+
}),
|
147
|
+
command.build_arrow_table)
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
sub_test_case("Hash") do
|
152
|
+
def test_integer
|
153
|
+
command = load_command({"values" => [
|
154
|
+
{
|
155
|
+
"column1" => 1,
|
156
|
+
"column2" => 2,
|
157
|
+
},
|
158
|
+
{
|
159
|
+
"column1" => 10,
|
160
|
+
"column2" => 20,
|
161
|
+
},
|
162
|
+
].to_json})
|
163
|
+
columns = {
|
164
|
+
"column1" => Arrow::Int64Array.new([1, 10]),
|
165
|
+
"column2" => Arrow::Int64Array.new([2, 20]),
|
166
|
+
}
|
167
|
+
assert_equal(Arrow::Table.new(columns),
|
168
|
+
command.build_arrow_table)
|
169
|
+
end
|
170
|
+
end
|
171
|
+
|
172
|
+
sub_test_case("raw values") do
|
173
|
+
def test_without_columns_argument
|
174
|
+
columns = ["column1", "column2"]
|
175
|
+
command = load_command("columns" => columns.join(","))
|
176
|
+
command.original_source = "load\n" + [
|
177
|
+
columns,
|
178
|
+
["value1", "value2"],
|
179
|
+
["value10", "value20"],
|
180
|
+
].to_json
|
181
|
+
columns = {
|
182
|
+
"column1" => ["value1", "value10"],
|
183
|
+
"column2" => ["value2", "value20"],
|
184
|
+
}
|
185
|
+
assert_equal(Arrow::Table.new(columns),
|
186
|
+
command.build_arrow_table)
|
187
|
+
end
|
188
|
+
|
189
|
+
def test_with_columns_argument
|
190
|
+
columns = ["column1", "column2"]
|
191
|
+
command = load_command("columns" => columns.join(","))
|
192
|
+
command.original_source = "load --columns #{columns.join(",")}\n" + [
|
193
|
+
["value1", "value2"],
|
194
|
+
["value10", "value20"],
|
195
|
+
].to_json
|
196
|
+
columns = {
|
197
|
+
"column1" => ["value1", "value10"],
|
198
|
+
"column2" => ["value2", "value20"],
|
199
|
+
}
|
200
|
+
assert_equal(Arrow::Table.new(columns),
|
201
|
+
command.build_arrow_table)
|
202
|
+
end
|
203
|
+
end
|
204
|
+
end
|
119
205
|
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
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2012-
|
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
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kouhei Sutou
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: packnga
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: red-arrow
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
@@ -81,7 +81,7 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: redcarpet
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
@@ -95,7 +95,7 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: test-unit
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
@@ -109,7 +109,21 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: test-unit-notify
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: yard
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
129
|
- - ">="
|
@@ -176,6 +190,8 @@ files:
|
|
176
190
|
- lib/groonga/command/query-log-flags-remove.rb
|
177
191
|
- lib/groonga/command/query-log-flags-set.rb
|
178
192
|
- lib/groonga/command/range-filter.rb
|
193
|
+
- lib/groonga/command/reference-acquire.rb
|
194
|
+
- lib/groonga/command/reference-release.rb
|
179
195
|
- lib/groonga/command/register.rb
|
180
196
|
- lib/groonga/command/reindex.rb
|
181
197
|
- lib/groonga/command/request-cancel.rb
|
@@ -233,6 +249,8 @@ files:
|
|
233
249
|
- test/command/test-query-log-flags-remove.rb
|
234
250
|
- test/command/test-query-log-flags-set.rb
|
235
251
|
- test/command/test-range-filter.rb
|
252
|
+
- test/command/test-reference-acquire.rb
|
253
|
+
- test/command/test-reference-release.rb
|
236
254
|
- test/command/test-register.rb
|
237
255
|
- test/command/test-reindex.rb
|
238
256
|
- test/command/test-request-cancel.rb
|
@@ -273,66 +291,67 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
273
291
|
- !ruby/object:Gem::Version
|
274
292
|
version: '0'
|
275
293
|
requirements: []
|
276
|
-
|
277
|
-
rubygems_version: 2.7.6.2
|
294
|
+
rubygems_version: 3.2.0.rc.1
|
278
295
|
signing_key:
|
279
296
|
specification_version: 4
|
280
297
|
summary: Groonga-command is a library that represents [Groonga](http://groonga.org/)'s
|
281
298
|
command. You can write a program that handle Groonga's command by using groonga-command.
|
282
299
|
test_files:
|
283
|
-
- test/
|
284
|
-
- test/command/test-
|
300
|
+
- test/command/format/test-command.rb
|
301
|
+
- test/command/test-base.rb
|
302
|
+
- test/command/test-column-copy.rb
|
303
|
+
- test/command/test-column-create.rb
|
304
|
+
- test/command/test-column-list.rb
|
305
|
+
- test/command/test-column-remove.rb
|
285
306
|
- test/command/test-column-rename.rb
|
286
|
-
- test/command/test-
|
307
|
+
- test/command/test-config-delete.rb
|
287
308
|
- test/command/test-config-get.rb
|
288
|
-
- test/command/test-
|
289
|
-
- test/command/test-
|
290
|
-
- test/command/test-
|
291
|
-
- test/command/
|
292
|
-
- test/command/test-
|
293
|
-
- test/command/test-
|
309
|
+
- test/command/test-config-set.rb
|
310
|
+
- test/command/test-delete.rb
|
311
|
+
- test/command/test-dump.rb
|
312
|
+
- test/command/test-get.rb
|
313
|
+
- test/command/test-index-column-diff.rb
|
314
|
+
- test/command/test-io-flush.rb
|
315
|
+
- test/command/test-load.rb
|
316
|
+
- test/command/test-log-level.rb
|
294
317
|
- test/command/test-log-put.rb
|
295
|
-
- test/command/test-
|
296
|
-
- test/command/test-query-log-flags-set.rb
|
318
|
+
- test/command/test-logical-count.rb
|
297
319
|
- test/command/test-logical-range-filter.rb
|
298
|
-
- test/command/test-column-list.rb
|
299
|
-
- test/command/test-ruby-load.rb
|
300
|
-
- test/command/test-query-log-flags-add.rb
|
301
|
-
- test/command/test-table-copy.rb
|
302
|
-
- test/command/test-config-delete.rb
|
303
320
|
- test/command/test-logical-select.rb
|
304
|
-
- test/command/test-tokenize.rb
|
305
|
-
- test/command/test-table-tokenize.rb
|
306
|
-
- test/command/test-request-cancel.rb
|
307
|
-
- test/command/test-column-copy.rb
|
308
|
-
- test/command/test-suggest.rb
|
309
|
-
- test/command/test-column-remove.rb
|
310
|
-
- test/command/test-object-remove.rb
|
311
321
|
- test/command/test-logical-shard-list.rb
|
312
|
-
- test/command/test-column-create.rb
|
313
|
-
- test/command/test-get.rb
|
314
|
-
- test/command/test-load.rb
|
315
|
-
- test/command/test-reindex.rb
|
316
|
-
- test/command/test-plugin-unregister.rb
|
317
|
-
- test/command/test-io-flush.rb
|
318
322
|
- test/command/test-logical-table-remove.rb
|
319
|
-
- test/command/test-
|
320
|
-
- test/command/test-
|
323
|
+
- test/command/test-normalize.rb
|
324
|
+
- test/command/test-object-exist.rb
|
321
325
|
- test/command/test-object-inspect.rb
|
322
|
-
- test/command/test-
|
326
|
+
- test/command/test-object-remove.rb
|
327
|
+
- test/command/test-plugin-register.rb
|
328
|
+
- test/command/test-plugin-unregister.rb
|
323
329
|
- test/command/test-query-expand.rb
|
324
|
-
- test/command/test-
|
325
|
-
- test/command/test-
|
326
|
-
- test/command/test-
|
327
|
-
- test/command/test-
|
328
|
-
- test/command/test-
|
329
|
-
- test/command/test-
|
330
|
+
- test/command/test-query-log-flags-add.rb
|
331
|
+
- test/command/test-query-log-flags-get.rb
|
332
|
+
- test/command/test-query-log-flags-remove.rb
|
333
|
+
- test/command/test-query-log-flags-set.rb
|
334
|
+
- test/command/test-range-filter.rb
|
335
|
+
- test/command/test-reference-acquire.rb
|
336
|
+
- test/command/test-reference-release.rb
|
337
|
+
- test/command/test-register.rb
|
338
|
+
- test/command/test-reindex.rb
|
339
|
+
- test/command/test-request-cancel.rb
|
330
340
|
- test/command/test-ruby-eval.rb
|
341
|
+
- test/command/test-ruby-load.rb
|
331
342
|
- test/command/test-schema.rb
|
332
|
-
- test/command/test-normalize.rb
|
333
|
-
- test/command/test-dump.rb
|
334
|
-
- test/command/test-base.rb
|
335
|
-
- test/command/test-logical-count.rb
|
336
|
-
- test/command/test-table-remove.rb
|
337
343
|
- test/command/test-select.rb
|
344
|
+
- test/command/test-shutdown.rb
|
345
|
+
- test/command/test-status.rb
|
346
|
+
- test/command/test-suggest.rb
|
347
|
+
- test/command/test-table-copy.rb
|
348
|
+
- test/command/test-table-create.rb
|
349
|
+
- test/command/test-table-list.rb
|
350
|
+
- test/command/test-table-remove.rb
|
351
|
+
- test/command/test-table-rename.rb
|
352
|
+
- test/command/test-table-tokenize.rb
|
353
|
+
- test/command/test-thread-limit.rb
|
354
|
+
- test/command/test-tokenize.rb
|
355
|
+
- test/command/test-truncate.rb
|
338
356
|
- test/groonga-command-test-utils.rb
|
357
|
+
- test/run-test.rb
|