rroonga 2.0.4 → 2.0.5

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.
Files changed (90) hide show
  1. data/Rakefile +21 -2
  2. data/bin/grndump +3 -2
  3. data/ext/groonga/extconf.rb +1 -6
  4. data/ext/groonga/rb-grn-array.c +58 -31
  5. data/ext/groonga/rb-grn-column.c +220 -148
  6. data/ext/groonga/rb-grn-context.c +46 -32
  7. data/ext/groonga/rb-grn-database.c +102 -90
  8. data/ext/groonga/rb-grn-double-array-trie.c +205 -163
  9. data/ext/groonga/rb-grn-encoding-support.c +2 -3
  10. data/ext/groonga/rb-grn-encoding.c +13 -8
  11. data/ext/groonga/rb-grn-exception.c +1 -1
  12. data/ext/groonga/rb-grn-expression.c +110 -133
  13. data/ext/groonga/rb-grn-fix-size-column.c +5 -4
  14. data/ext/groonga/rb-grn-geo-point.c +55 -0
  15. data/ext/groonga/rb-grn-hash.c +120 -82
  16. data/ext/groonga/rb-grn-index-column.c +66 -70
  17. data/ext/groonga/rb-grn-index-cursor.c +3 -0
  18. data/ext/groonga/rb-grn-logger.c +33 -51
  19. data/ext/groonga/rb-grn-object.c +2 -0
  20. data/ext/groonga/rb-grn-operator.c +1 -1
  21. data/ext/groonga/rb-grn-patricia-trie.c +287 -232
  22. data/ext/groonga/rb-grn-plugin.c +11 -14
  23. data/ext/groonga/rb-grn-snippet.c +37 -54
  24. data/ext/groonga/rb-grn-table-cursor-key-support.c +3 -3
  25. data/ext/groonga/rb-grn-table-cursor.c +8 -6
  26. data/ext/groonga/rb-grn-table-key-support.c +22 -29
  27. data/ext/groonga/rb-grn-table.c +355 -279
  28. data/ext/groonga/rb-grn-type.c +18 -25
  29. data/ext/groonga/rb-grn-utils.c +77 -7
  30. data/ext/groonga/rb-grn-variable-size-column.c +12 -20
  31. data/ext/groonga/rb-grn-view.c +56 -51
  32. data/ext/groonga/rb-grn.h +28 -1
  33. data/ext/groonga/rb-groonga.c +1 -0
  34. data/lib/groonga.rb +2 -0
  35. data/lib/groonga/command.rb +3 -1
  36. data/lib/groonga/database.rb +27 -0
  37. data/lib/groonga/dumper.rb +96 -17
  38. data/lib/groonga/geo-point.rb +216 -0
  39. data/lib/groonga/schema.rb +29 -46
  40. data/rroonga-build.rb +1 -1
  41. data/rroonga.gemspec +90 -0
  42. data/test/groonga-test-utils.rb +168 -0
  43. data/test/run-test.rb +60 -0
  44. data/test/test-accessor.rb +36 -0
  45. data/test/test-array.rb +146 -0
  46. data/test/test-column.rb +350 -0
  47. data/test/test-command-select.rb +181 -0
  48. data/test/test-context.rb +130 -0
  49. data/test/test-database-dumper.rb +259 -0
  50. data/test/test-database.rb +173 -0
  51. data/test/test-double-array-trie.rb +189 -0
  52. data/test/test-encoding.rb +33 -0
  53. data/test/test-exception.rb +230 -0
  54. data/test/test-expression-builder.rb +602 -0
  55. data/test/test-expression.rb +134 -0
  56. data/test/test-fix-size-column.rb +77 -0
  57. data/test/test-geo-point.rb +190 -0
  58. data/test/test-gqtp.rb +70 -0
  59. data/test/test-hash.rb +367 -0
  60. data/test/test-index-column.rb +180 -0
  61. data/test/test-index-cursor.rb +123 -0
  62. data/test/test-logger.rb +37 -0
  63. data/test/test-pagination.rb +249 -0
  64. data/test/test-patricia-trie.rb +440 -0
  65. data/test/test-plugin.rb +35 -0
  66. data/test/test-procedure.rb +37 -0
  67. data/test/test-query-log.rb +258 -0
  68. data/test/test-record.rb +577 -0
  69. data/test/test-remote.rb +63 -0
  70. data/test/test-schema-create-table.rb +267 -0
  71. data/test/test-schema-dumper.rb +235 -0
  72. data/test/test-schema-type.rb +208 -0
  73. data/test/test-schema-view.rb +90 -0
  74. data/test/test-schema.rb +886 -0
  75. data/test/test-snippet.rb +130 -0
  76. data/test/test-table-dumper.rb +353 -0
  77. data/test/test-table-offset-and-limit.rb +100 -0
  78. data/test/test-table-select-mecab.rb +80 -0
  79. data/test/test-table-select-normalize.rb +57 -0
  80. data/test/test-table-select-weight.rb +123 -0
  81. data/test/test-table-select.rb +191 -0
  82. data/test/test-table-traverse.rb +304 -0
  83. data/test/test-table.rb +711 -0
  84. data/test/test-type.rb +79 -0
  85. data/test/test-variable-size-column.rb +147 -0
  86. data/test/test-variable.rb +28 -0
  87. data/test/test-vector-column.rb +76 -0
  88. data/test/test-version.rb +61 -0
  89. data/test/test-view.rb +72 -0
  90. metadata +330 -202
data/Rakefile CHANGED
@@ -74,7 +74,7 @@ module YARD
74
74
  module CodeObjects
75
75
  class Proxy
76
76
  alias_method :initialize_original, :initialize
77
- def initialize(namespace, name)
77
+ def initialize(namespace, name, type=nil)
78
78
  name = name.to_s.gsub(/\AGrn(.*)\z/) do
79
79
  suffix = $1
80
80
  case suffix
@@ -86,7 +86,7 @@ module YARD
86
86
  "Groonga::#{suffix}"
87
87
  end
88
88
  end
89
- initialize_original(namespace, name)
89
+ initialize_original(namespace, name, type)
90
90
  end
91
91
  end
92
92
  end
@@ -163,6 +163,23 @@ Rake::ExtensionTask.new("groonga", spec) do |ext|
163
163
  end
164
164
  end
165
165
 
166
+ file "Makefile" => ["extconf.rb", "ext/groonga/extconf.rb"] do
167
+ ruby("extconf.rb")
168
+ end
169
+
170
+ desc "Configure"
171
+ task :configure => "Makefile"
172
+
173
+ desc "Build"
174
+ task :build => :configure do
175
+ sh("make")
176
+ end
177
+
178
+ desc "Run test"
179
+ task :test => :configure do
180
+ ruby("-rubygems", "test/run-test.rb")
181
+ end
182
+
166
183
  namespace :test do
167
184
  task :install do
168
185
  gemspec_helper = Rake.application.jeweler.gemspec_helper
@@ -174,3 +191,5 @@ namespace :test do
174
191
  ruby("-rubygems", "#{installed_path}/test/run-test.rb")
175
192
  end
176
193
  end
194
+
195
+ task :default => :test
data/bin/grndump CHANGED
@@ -69,7 +69,7 @@ option_parser = OptionParser.new do |parser|
69
69
  parser.on("--order-by=TYPE", types,
70
70
  "sort output recoreds by TYPE.",
71
71
  "available TYPEs: #{types.join(', ')}",
72
- "(#{options.type})") do |type|
72
+ "(#{options.order_by})") do |type|
73
73
  options.order_by = type
74
74
  end
75
75
  end
@@ -84,7 +84,8 @@ db_path = args[0]
84
84
  database = Groonga::Database.open(db_path)
85
85
  dumper_options = {
86
86
  :database => database,
87
- :output => STDOUT,
87
+ :output => $stdout,
88
+ :error_output => $stderr,
88
89
  :dump_schema => options.dump_schema,
89
90
  :dump_tables => options.dump_tables,
90
91
  :tables => options.tables,
@@ -183,12 +183,7 @@ def build_groonga(major, minor, micro)
183
183
  end
184
184
 
185
185
  message("installing...")
186
- if [major, minor, micro] == [0, 1, 6]
187
- make_install_args = " MKDIR_P='mkdir -p --'"
188
- else
189
- make_install_args = ""
190
- end
191
- if xsystem("make install#{make_install_args}")
186
+ if xsystem("make install")
192
187
  message(" done\n")
193
188
  else
194
189
  message(" failed\n")
@@ -30,10 +30,6 @@ VALUE rb_cGrnArray;
30
30
  */
31
31
 
32
32
  /*
33
- * call-seq:
34
- * Groonga::Array.create(options={}) -> Groonga::Array
35
- * Groonga::Array.create(options={}) {|table| ... }
36
- *
37
33
  * キーのないテーブルを生成する。ブロックを指定すると、そのブ
38
34
  * ロックに生成したテーブルが渡され、ブロックを抜けると自動的
39
35
  * にテーブルが破棄される。
@@ -52,33 +48,64 @@ VALUE rb_cGrnArray;
52
48
  * #それぞれのレコードに512バイトの値を格納できる無名一時テーブルを生成する。
53
49
  * Groonga::Array.create(:value => 512)
54
50
  *
55
- * @param [::Hash] options The name and value
56
- * pairs. Omitted names are initialized as the default value.
57
- * @option options [Grrnga::Context] :context (Groonga::Context.default) The context
58
- * テーブルが利用するGrrnga::Context
59
- * @option options :name The name
60
- * テーブルの名前。名前をつけると、Groonga::Context#[]に名
61
- * 前を指定してテーブルを取得することができる。省略すると
62
- * 無名テーブルになり、テーブルIDでのみ取得できる。
63
- * @option options :path The path
64
- * テーブルを保存するパス。パスを指定すると永続テーブルとな
65
- * り、プロセス終了後もレコードは保持される。次回起動時に
66
- * Groonga::Context#[]で保存されたレコードを利用することが
67
- * できる。省略すると一時テーブルになり、プロセスが終了する
68
- * とレコードは破棄される。
69
- * @option options :persistent The persistent
70
- * +true+ を指定すると永続テーブルとなる。 +path+ を省略した
71
- * 場合は自動的にパスが付加される。 +:context+ で指定した
72
- * Groonga::Contextに結びついているデータベースが一時デー
73
- * タベースの場合は例外が発生する。
74
- * @option options :value_type (nil) The value_type
75
- * 値の型を指定する。省略すると値のための領域を確保しない。
76
- * 値を保存したい場合は必ず指定すること。
77
- * 参考: Groonga::Type.new
78
- * @option options [Groonga::Record#n_sub_records] :sub_records The sub_records
79
- * +true+ を指定すると#groupでグループ化したときに、
80
- * Groonga::Record#n_sub_recordsでグループに含まれるレコー
81
- * ドの件数を取得できる。
51
+ * @overload create(options={})
52
+ * @return [Groonga::Array]
53
+ * @param [::Hash] options The name and value
54
+ * pairs. Omitted names are initialized as the default value.
55
+ * @option options [Groonga::Context] :context (Groonga::Context.default)
56
+ * テーブルが利用するGroonga::Context
57
+ * @option options :name The name
58
+ * テーブルの名前。名前をつけると、Groonga::Context#[]に名
59
+ * 前を指定してテーブルを取得することができる。省略すると
60
+ * 無名テーブルになり、テーブルIDでのみ取得できる。
61
+ * @option options :path
62
+ * テーブルを保存するパス。パスを指定すると永続テーブルとな
63
+ * り、プロセス終了後もレコードは保持される。次回起動時に
64
+ * Groonga::Context#[]で保存されたレコードを利用することが
65
+ * できる。省略すると一時テーブルになり、プロセスが終了する
66
+ * とレコードは破棄される。
67
+ * @option options :persistent
68
+ * +true+ を指定すると永続テーブルとなる。 +path+ を省略した
69
+ * 場合は自動的にパスが付加される。 +:context+ で指定した
70
+ * Groonga::Contextに結びついているデータベースが一時デー
71
+ * タベースの場合は例外が発生する。
72
+ * @option options :value_type (nil)
73
+ * 値の型を指定する。省略すると値のための領域を確保しない。
74
+ * 値を保存したい場合は必ず指定すること。
75
+ * 参考: Groonga::Type.new
76
+ * @option options [Groonga::Record#n_sub_records] :sub_records
77
+ * +true+ を指定すると#groupでグループ化したときに、
78
+ * Groonga::Record#n_sub_recordsでグループに含まれるレコー
79
+ * ドの件数を取得できる。
80
+ * @overload create(options={})
81
+ * @yield [table] 生成されたテーブル。ブロックを抜けると破棄される。
82
+ * @param [::Hash] options The name and value
83
+ * pairs. Omitted names are initialized as the default value.
84
+ * @option options [Groonga::Context] :context (Groonga::Context.default)
85
+ * テーブルが利用するGroonga::Context
86
+ * @option options :name
87
+ * テーブルの名前。名前をつけると、Groonga::Context#[]に名
88
+ * 前を指定してテーブルを取得することができる。省略すると
89
+ * 無名テーブルになり、テーブルIDでのみ取得できる。
90
+ * @option options :path
91
+ * テーブルを保存するパス。パスを指定すると永続テーブルとな
92
+ * り、プロセス終了後もレコードは保持される。次回起動時に
93
+ * Groonga::Context#[]で保存されたレコードを利用することが
94
+ * できる。省略すると一時テーブルになり、プロセスが終了する
95
+ * とレコードは破棄される。
96
+ * @option options :persistent
97
+ * +true+ を指定すると永続テーブルとなる。 +path+ を省略した
98
+ * 場合は自動的にパスが付加される。 +:context+ で指定した
99
+ * Groonga::Contextに結びついているデータベースが一時デー
100
+ * タベースの場合は例外が発生する。
101
+ * @option options :value_type (nil)
102
+ * 値の型を指定する。省略すると値のための領域を確保しない。
103
+ * 値を保存したい場合は必ず指定すること。
104
+ * 参考: Groonga::Type.new
105
+ * @option options [Groonga::Record#n_sub_records] :sub_records
106
+ * +true+ を指定すると#groupでグループ化したときに、
107
+ * Groonga::Record#n_sub_recordsでグループに含まれるレコー
108
+ * ドの件数を取得できる。
82
109
  */
83
110
  static VALUE
84
111
  rb_grn_array_s_create (int argc, VALUE *argv, VALUE klass)
@@ -167,12 +167,7 @@ rb_grn_column_get_local_name (VALUE self)
167
167
  return rb_name;
168
168
  }
169
169
 
170
- /*
171
- * call-seq:
172
- * column.select(options) {|record| ...} -> Groonga::Hash
173
- * column.select(query, options) -> Groonga::Hash
174
- * column.select(expression, options) -> Groonga::Hash
175
- *
170
+ /*
176
171
  * カラムが所属するテーブルからブロックまたは文字列で指定し
177
172
  * た条件にマッチするレコードを返す。返されたテーブルには
178
173
  * +expression+ という特異メソッドがあり、指定した条件を表し
@@ -181,99 +176,200 @@ rb_grn_column_get_local_name (VALUE self)
181
176
  * 用のスニペットを簡単に生成できる。
182
177
  *
183
178
  * bc. !!!ruby
184
- * results = description_column.select do |column|
185
- * column =~ "groonga"
186
- * end
187
- * snippet = results.expression.snippet([["<em>", "</em>"]])
188
- * results.each do |record|
189
- * puts "#{record['name']}の説明文の中で「groonga」が含まれる部分"
190
- * snippet.execute(record["description"]).each do |snippet|
191
- * puts "---"
192
- * puts "#{snippet}..."
193
- * puts "---"
179
+ * results = description_column.select do |column|
180
+ * column =~ "groonga"
181
+ * end
182
+ * snippet = results.expression.snippet([["<em>", "</em>"]])
183
+ * results.each do |record|
184
+ * puts "#{record['name']}の説明文の中で「groonga」が含まれる部分"
185
+ * snippet.execute(record["description"]).each do |snippet|
186
+ * puts "---"
187
+ * puts "#{snippet}..."
188
+ * puts "---"
189
+ * end
194
190
  * end
195
- * end
196
191
  *
197
192
  * 出力例
193
+ * <pre>
194
+ * rroongaの説明文の中で「groonga」が含まれる部分
195
+ * ---
196
+ * rroongaは<em>groonga</em>のいわゆるDB-APIの層の...
197
+ * ---
198
+ *
199
+ * @return [Groonga::Hash] 検索結果
200
+ * @overload select(options)
201
+ * @yieldparam [Groonga::Record] record
202
+ * @param [::Hash] options The name and value
203
+ * pairs. Omitted names are initialized as the default value.
204
+ * @option options :operator (Groonga::Operator::OR)
205
+ * マッチしたレコードをどのように扱うか。指定可能な値は以
206
+ * 下の通り。
207
+ *
208
+ * [Groonga::Operator::OR]
209
+ * マッチしたレコードを追加。すでにレコードが追加され
210
+ * ている場合は何もしない。
211
+ * [Groonga::Operator::AND]
212
+ * マッチしたレコードのスコアを増加。マッチしなかった
213
+ * レコードを削除。
214
+ * [Groonga::Operator::BUT]
215
+ * マッチしたレコードを削除。
216
+ * [Groonga::Operator::ADJUST]
217
+ * マッチしたレコードのスコアを増加。
218
+ *
219
+ * @option options :result
220
+ * 検索結果を格納するテーブル。マッチしたレコードが追加さ
221
+ * れていく。省略した場合は新しくテーブルを作成して返す。
222
+ *
223
+ * @option options :name
224
+ * 条件の名前。省略した場合は名前を付けない。
225
+ *
226
+ * @option options :syntax (:query)
227
+ * _query_ の構文。
228
+ *
229
+ * 参考: Groonga::Expression#parse.
230
+ *
231
+ * @option options :allow_pragma
232
+ * query構文時にプラグマを利用するかどうか。省略した場合は
233
+ * 利用する。
234
+ *
235
+ * 参考: Groonga::Expression#parse.
236
+ *
237
+ * @option options :allow_column The allow_column
238
+ * query構文時にカラム指定を利用するかどうか。省略した場合
239
+ * は利用する。
240
+ *
241
+ * 参考: Groonga::Expression#parse.
242
+ *
243
+ * @option options :allow_update
244
+ * script構文時に更新操作を利用するかどうか。省略した場合
245
+ * は利用する。
246
+ *
247
+ * 参考: Groonga::Expression#parse.
248
+ *
249
+ * @overload select(query, options)
250
+ * @param [String] query 条件の指定
251
+ * _query_ には「[カラム名]:[演算子][値]」という書式で条件を
252
+ * 指定する。演算子は以下の通り。
253
+ *
254
+ * - なし := [カラム値] == [値]
255
+ * - @!@ := [カラム値] != [値]
256
+ * - @<@ := [カラム値] < [値]
257
+ * - @>@ := [カラム値] > [値]
258
+ * - @<=@ := [カラム値] <= [値]
259
+ * - @>=@ := [カラム値] >= [値]
260
+ * - @@@ := [カラム値]が[値]を含んでいるかどうか
261
+ *
262
+ * 例:
263
+ *
264
+ * - @"groonga"@ := _column_ カラムの値が @"groonga"@ のレコードにマッチ
265
+ * - @"name:daijiro"@ :=
266
+ * _column_ カラムが属しているテーブルの @"name"@ カラムの値が
267
+ * @"daijiro"@ のレコードにマッチ =:
268
+ * - @"description:@@@groonga"@ :=
269
+ * _column_ カラムが属しているテーブルの @"description"@ カラムが
270
+ * @"groonga"@ を含んでいるレコードにマッチ =:
271
+ *
272
+ * @param [::Hash] options The name and value
273
+ * pairs. Omitted names are initialized as the default value.
274
+ * @option options :operator (Groonga::Operator::OR)
275
+ * マッチしたレコードをどのように扱うか。指定可能な値は以
276
+ * 下の通り。
277
+ *
278
+ * [Groonga::Operator::OR]
279
+ * マッチしたレコードを追加。すでにレコードが追加され
280
+ * ている場合は何もしない。
281
+ * [Groonga::Operator::AND]
282
+ * マッチしたレコードのスコアを増加。マッチしなかった
283
+ * レコードを削除。
284
+ * [Groonga::Operator::BUT]
285
+ * マッチしたレコードを削除。
286
+ * [Groonga::Operator::ADJUST]
287
+ * マッチしたレコードのスコアを増加。
288
+ *
289
+ * @option options :result
290
+ * 検索結果を格納するテーブル。マッチしたレコードが追加さ
291
+ * れていく。省略した場合は新しくテーブルを作成して返す。
292
+ *
293
+ * @option options :name
294
+ * 条件の名前。省略した場合は名前を付けない。
295
+ *
296
+ * @option options :syntax (:query)
297
+ * _query_ の構文。
298
+ *
299
+ * 参考: Groonga::Expression#parse.
300
+ *
301
+ * @option options :allow_pragma
302
+ * query構文時にプラグマを利用するかどうか。省略した場合は
303
+ * 利用する。
198
304
  *
199
- * pre. rroongaの説明文の中で「groonga」が含まれる部分
200
- * ---
201
- * rroongaは<em>groonga</em>のいわゆるDB-APIの層の...
202
- * ---
203
- *
204
- * _query_ には「[カラム名]:[演算子][値]」という書式で条件を
205
- * 指定する。演算子は以下の通り。
206
- *
207
- * - なし := [カラム値] == [値]
208
- * - @!@ := [カラム値] != [値]
209
- * - @<@ := [カラム値] < [値]
210
- * - @>@ := [カラム値] > [値]
211
- * - @<=@ := [カラム値] <= [値]
212
- * - @>=@ := [カラム値] >= [値]
213
- * - @@@ := [カラム値]が[値]を含んでいるかどうか
214
- *
215
- * 例:
216
- *
217
- * - @"groonga"@ := _column_ カラムの値が @"groonga"@ のレコードにマッチ
218
- * - @"name:daijiro"@ :=
219
- * _column_ カラムが属しているテーブルの @"name"@ カラムの値が
220
- * @"daijiro"@ のレコードにマッチ =:
221
- * - @"description:@@@groonga"@ :=
222
- * _column_ カラムが属しているテーブルの @"description"@ カラムが
223
- * @"groonga"@ を含んでいるレコードにマッチ =:
224
- *
225
- * _expression_ には既に作成済みのGroonga::Expressionを渡す
226
- *
227
- * ブロックで条件を指定する場合は
228
- * {Groonga::ColumnExpressionBuilder} を参照。
229
- *
230
- * _options_ に指定可能な値は以下の通り。
231
- * @param [::Hash] options The name and value
232
- * pairs. Omitted names are initialized as the default value.
233
- * @option options :operator (Groonga::Operator::OR) The operator
234
- * マッチしたレコードをどのように扱うか。指定可能な値は以
235
- * 下の通り。
236
- *
237
- * [Groonga::Operator::OR]
305
+ * 参考: Groonga::Expression#parse.
306
+ *
307
+ * @option options :allow_column The allow_column
308
+ * query構文時にカラム指定を利用するかどうか。省略した場合
309
+ * は利用する。
310
+ *
311
+ * 参考: Groonga::Expression#parse.
312
+ *
313
+ * @option options :allow_update
314
+ * script構文時に更新操作を利用するかどうか。省略した場合
315
+ * は利用する。
316
+ *
317
+ * 参考: Groonga::Expression#parse.
318
+ *
319
+ * @overload select(expression, options)
320
+ * @param [Groonga::Expression] expression 条件を表すオブジェクト
321
+ * _expression_ には既に作成済みのGroonga::Expressionを渡す
322
+ *
323
+ * ブロックで条件を指定する場合は
324
+ * {Groonga::ColumnExpressionBuilder} を参照。
325
+ *
326
+ * @param [::Hash] options The name and value
327
+ * pairs. Omitted names are initialized as the default value.
328
+ * @option options :operator (Groonga::Operator::OR)
329
+ * マッチしたレコードをどのように扱うか。指定可能な値は以
330
+ * 下の通り。
331
+ *
332
+ * [Groonga::Operator::OR]
238
333
  * マッチしたレコードを追加。すでにレコードが追加され
239
334
  * ている場合は何もしない。
240
- * [Groonga::Operator::AND]
335
+ * [Groonga::Operator::AND]
241
336
  * マッチしたレコードのスコアを増加。マッチしなかった
242
337
  * レコードを削除。
243
- * [Groonga::Operator::BUT]
338
+ * [Groonga::Operator::BUT]
244
339
  * マッチしたレコードを削除。
245
- * [Groonga::Operator::ADJUST]
340
+ * [Groonga::Operator::ADJUST]
246
341
  * マッチしたレコードのスコアを増加。
247
342
  *
248
- * @option options :result The result
249
- * 検索結果を格納するテーブル。マッチしたレコードが追加さ
250
- * れていく。省略した場合は新しくテーブルを作成して返す。
343
+ * @option options :result
344
+ * 検索結果を格納するテーブル。マッチしたレコードが追加さ
345
+ * れていく。省略した場合は新しくテーブルを作成して返す。
251
346
  *
252
- * @option options :name The name
253
- * 条件の名前。省略した場合は名前を付けない。
347
+ * @option options :name
348
+ * 条件の名前。省略した場合は名前を付けない。
254
349
  *
255
- * @option options :syntax (:query) The syntax
256
- * _query_の構文。
350
+ * @option options :syntax (:query)
351
+ * _query_ の構文。
257
352
  *
258
- * 参考: Groonga::Expression#parse.
353
+ * 参考: Groonga::Expression#parse.
259
354
  *
260
- * @option options :allow_pragma The allow_pragma
261
- * query構文時にプラグマを利用するかどうか。省略した場合は
262
- * 利用する。
355
+ * @option options :allow_pragma
356
+ * query構文時にプラグマを利用するかどうか。省略した場合は
357
+ * 利用する。
263
358
  *
264
- * 参考: Groonga::Expression#parse.
359
+ * 参考: Groonga::Expression#parse.
265
360
  *
266
- * @option options :allow_column The allow_column
267
- * query構文時にカラム指定を利用するかどうか。省略した場合
268
- * は利用する。
361
+ * @option options :allow_column The allow_column
362
+ * query構文時にカラム指定を利用するかどうか。省略した場合
363
+ * は利用する。
269
364
  *
270
- * 参考: Groonga::Expression#parse.
365
+ * 参考: Groonga::Expression#parse.
271
366
  *
272
- * @option options :allow_update
273
- * script構文時に更新操作を利用するかどうか。省略した場合
274
- * は利用する。
367
+ * @option options :allow_update
368
+ * script構文時に更新操作を利用するかどうか。省略した場合
369
+ * は利用する。
370
+ *
371
+ * 参考: Groonga::Expression#parse.
275
372
  *
276
- * 参考: Groonga::Expression#parse.
277
373
  */
278
374
  static VALUE
279
375
  rb_grn_column_select (int argc, VALUE *argv, VALUE self)
@@ -359,18 +455,12 @@ rb_grn_column_select (int argc, VALUE *argv, VALUE self)
359
455
  }
360
456
 
361
457
  /*
362
- * Document-method: unlock
363
- *
364
- * call-seq:
365
- * column.unlock(options={})
366
- *
367
458
  * _column_ のロックを解除する。
368
- *
369
- * 利用可能なオプションは以下の通り。
370
- *
371
- * [_:id_]
372
- * _:id_ で指定したレコードのロックを解除する。
373
- * (注: groonga側が未実装のため、現在は無視される)
459
+ * @overload unlock(options={})
460
+ * @param [::Hash] options 利用可能なオプションは以下の通り。
461
+ * @option options :id
462
+ * _:id_ で指定したレコードのロックを解除する。
463
+ * (注: groonga側が未実装のため、現在は無視される)
374
464
  */
375
465
  static VALUE
376
466
  rb_grn_column_unlock (int argc, VALUE *argv, VALUE self)
@@ -408,26 +498,28 @@ rb_grn_column_unlock_ensure (VALUE self)
408
498
  }
409
499
 
410
500
  /*
411
- * Document-method: lock
412
- *
413
- * call-seq:
414
- * column.lock(options={})
415
- * column.lock(options={}) {...}
416
- *
417
501
  * _column_ をロックする。ロックに失敗した場合は
418
502
  * Groonga::ResourceDeadlockAvoided例外が発生する。
419
503
  *
420
- * ブロックを指定した場合はブロックを抜けたときにunlockする。
421
- *
422
- * 利用可能なオプションは以下の通り。
423
- *
424
- * [_:timeout_]
425
- * ロックを獲得できなかった場合は_:timeout_秒間ロックの獲
426
- * 得を試みる。_:timeout_秒以内にロックを獲得できなかった
427
- * 場合は例外が発生する。
428
- * [_:id_]
429
- * _:id_で指定したレコードをロックする。(注: groonga側が
430
- * 未実装のため、現在は無視される)
504
+ * @overload lock(options={})
505
+ * @param [::Hash] options 利用可能なオプションは以下の通り。
506
+ * @option options :timeout
507
+ * ロックを獲得できなかった場合は _:timeout_ 秒間ロックの獲
508
+ * 得を試みる。 _:timeout_ 秒以内にロックを獲得できなかった
509
+ * 場合は例外が発生する。
510
+ * @option options :id
511
+ * _:id_で指定したレコードをロックする。(注: groonga側が
512
+ * 未実装のため、現在は無視される)
513
+ * @overload lock(options={})
514
+ * @yield ブロックを指定した場合はブロックを抜けたときにunlockする。
515
+ * @param [::Hash] options 利用可能なオプションは以下の通り。
516
+ * @option options :timeout
517
+ * ロックを獲得できなかった場合は _:timeout_秒間ロックの獲
518
+ * 得を試みる。 _:timeout_秒以内にロックを獲得できなかった
519
+ * 場合は例外が発生する。
520
+ * @option options :id
521
+ * _:id_で指定したレコードをロックする。(注: groonga側が
522
+ * 未実装のため、現在は無視される)
431
523
  */
432
524
  static VALUE
433
525
  rb_grn_column_lock (int argc, VALUE *argv, VALUE self)
@@ -468,20 +560,14 @@ rb_grn_column_lock (int argc, VALUE *argv, VALUE self)
468
560
  }
469
561
 
470
562
  /*
471
- * Document-method: clear_lock
472
- *
473
- * call-seq:
474
- * column.clear_lock(options={})
475
- *
476
- * _column_のロックを強制的に解除する。
477
- *
478
- * 利用可能なオプションは以下の通り。
479
- *
480
- * [_:id_]
481
- * _:id_で指定したレコードのロックを強制的に解除する。
482
- * (注: groonga側が未実装のため、現在は無視される。実装さ
483
- * れるのではないかと思っているが、実装されないかもしれな
484
- * い。)
563
+ * _column_ のロックを強制的に解除する。
564
+ * @overload clear_lock(options={})
565
+ * @param [::Hash] options 利用可能なオプションは以下の通り。
566
+ * @option options :id
567
+ * _:id_で指定したレコードのロックを強制的に解除する。
568
+ * (注: groonga側が未実装のため、現在は無視される。実装さ
569
+ * れるのではないかと思っているが、実装されないかもしれな
570
+ * い。)
485
571
  */
486
572
  static VALUE
487
573
  rb_grn_column_clear_lock (int argc, VALUE *argv, VALUE self)
@@ -510,20 +596,14 @@ rb_grn_column_clear_lock (int argc, VALUE *argv, VALUE self)
510
596
  }
511
597
 
512
598
  /*
513
- * Document-method: locked?
514
- *
515
- * call-seq:
516
- * column.locked?(options={})
517
- *
518
599
  * _column_ がロックされていれば +true+ を返す。
519
- *
520
- * 利用可能なオプションは以下の通り。
521
- *
522
- * [_:id_]
523
- * _:id_で指定したレコードがロックされていれば +true+ を返す。
524
- * (注: groonga側が未実装のため、現在は無視される。実装さ
525
- * れるのではないかと思っているが、実装されないかもしれな
526
- * い。)
600
+ * @overload locked?(options={})
601
+ * @param [::Hash] options 利用可能なオプションは以下の通り。
602
+ * @option options :id
603
+ * _:id_で指定したレコードがロックされていれば +true+ を返す。
604
+ * (注: groonga側が未実装のため、現在は無視される。実装さ
605
+ * れるのではないかと思っているが、実装されないかもしれな
606
+ * い。)
527
607
  */
528
608
  static VALUE
529
609
  rb_grn_column_is_locked (int argc, VALUE *argv, VALUE self)
@@ -682,14 +762,11 @@ rb_grn_column_scalar_p (VALUE self)
682
762
  }
683
763
 
684
764
  /*
685
- * Document-method: indexes
686
- *
687
- * call-seq:
688
- * column.indexes(operator=Groonga::Operator::MATCH) -> [index_column, ...]
689
- *
690
- * _operation_ を実行できる _column_ のインデックスを返す。
691
- *
765
+ * _operator_ を実行できる _column_ のインデックスを返す。
692
766
  * @since 1.0.9
767
+ * @return [Array<index_column>] _operator_ を実行できる _column_ のインデックス
768
+ * @overload indexes(operator=Groonga::Operator::MATCH)
769
+ * @param [Groonga::Operator::XXX] operator
693
770
  */
694
771
  static VALUE
695
772
  rb_grn_column_get_indexes (int argc, VALUE *argv, VALUE self)
@@ -731,15 +808,10 @@ rb_grn_column_get_indexes (int argc, VALUE *argv, VALUE self)
731
808
  }
732
809
 
733
810
  /*
734
- * Document-method: rename
735
- *
736
- * call-seq:
737
- * table.rename(name)
738
- *
739
811
  * Renames the table to name.
740
- *
741
- * @param name [String] the new name
742
812
  * @since 1.3.0
813
+ * @overload rename(name)
814
+ * @param name [String] the new name
743
815
  */
744
816
  static VALUE
745
817
  rb_grn_column_rename (VALUE self, VALUE rb_name)