rroonga 2.0.4 → 2.0.5

Sign up to get free protection for your applications and to get access to all the features.
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)