rroonga 5.0.0 → 5.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/Rakefile +1 -10
  4. data/ext/groonga/extconf.rb +3 -1
  5. data/ext/groonga/rb-grn-array.c +1 -1
  6. data/ext/groonga/rb-grn-column.c +33 -67
  7. data/ext/groonga/rb-grn-context.c +5 -5
  8. data/ext/groonga/rb-grn-database.c +2 -2
  9. data/ext/groonga/rb-grn-double-array-trie.c +4 -2
  10. data/ext/groonga/rb-grn-encoding-support.c +7 -1
  11. data/ext/groonga/rb-grn-equal-operator.c +85 -0
  12. data/ext/groonga/rb-grn-exception.c +17 -0
  13. data/ext/groonga/rb-grn-expression.c +85 -43
  14. data/ext/groonga/rb-grn-greater-equal-operator.c +88 -0
  15. data/ext/groonga/rb-grn-greater-operator.c +85 -0
  16. data/ext/groonga/rb-grn-hash.c +1 -1
  17. data/ext/groonga/rb-grn-index-column.c +150 -11
  18. data/ext/groonga/rb-grn-less-equal-operator.c +88 -0
  19. data/ext/groonga/rb-grn-less-operator.c +85 -0
  20. data/ext/groonga/rb-grn-logger.c +5 -5
  21. data/ext/groonga/rb-grn-match-operator.c +86 -0
  22. data/ext/groonga/rb-grn-normalizer.c +8 -1
  23. data/ext/groonga/rb-grn-not-equal-operator.c +85 -0
  24. data/ext/groonga/rb-grn-object.c +170 -36
  25. data/ext/groonga/rb-grn-operator.c +395 -172
  26. data/ext/groonga/rb-grn-patricia-trie.c +10 -8
  27. data/ext/groonga/rb-grn-plugin.c +51 -3
  28. data/ext/groonga/rb-grn-prefix-operator.c +86 -0
  29. data/ext/groonga/rb-grn-procedure-type.c +4 -0
  30. data/ext/groonga/rb-grn-query-logger.c +4 -4
  31. data/ext/groonga/rb-grn-regexp-operator.c +85 -0
  32. data/ext/groonga/rb-grn-snippet.c +1 -1
  33. data/ext/groonga/rb-grn-table-key-support.c +9 -5
  34. data/ext/groonga/rb-grn-table.c +52 -66
  35. data/ext/groonga/rb-grn-type.c +1 -1
  36. data/ext/groonga/rb-grn-utils.c +22 -3
  37. data/ext/groonga/rb-grn.h +31 -4
  38. data/ext/groonga/rb-groonga.c +9 -9
  39. data/lib/groonga/context.rb +31 -0
  40. data/lib/groonga/expression-builder.rb +14 -1
  41. data/lib/groonga/record.rb +10 -8
  42. data/lib/groonga/schema.rb +3 -1
  43. data/rroonga-build.rb +2 -2
  44. data/rroonga.gemspec +3 -3
  45. data/test/groonga-test-utils.rb +4 -0
  46. data/test/test-column.rb +28 -26
  47. data/test/test-exception.rb +1 -0
  48. data/test/test-expression-builder.rb +83 -1
  49. data/test/test-expression.rb +80 -48
  50. data/test/test-index-column.rb +102 -29
  51. data/test/test-normalizer.rb +35 -29
  52. data/test/test-operator.rb +214 -0
  53. data/test/test-plugin.rb +24 -6
  54. data/test/test-procedure.rb +29 -0
  55. data/test/test-schema-type.rb +14 -0
  56. data/test/test-table-select-mecab.rb +1 -4
  57. data/test/test-table.rb +7 -0
  58. data/test/test-token-regexp.rb +30 -0
  59. data/test/test-type.rb +24 -0
  60. metadata +61 -49
  61. data/doc/text/news.textile +0 -1217
@@ -1,6 +1,6 @@
1
1
  /* -*- coding: utf-8; mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
2
  /*
3
- Copyright (C) 2009-2012 Kouhei Sutou <kou@clear-code.com>
3
+ Copyright (C) 2009-2015 Kouhei Sutou <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
@@ -18,7 +18,7 @@
18
18
 
19
19
  #include "rb-grn.h"
20
20
 
21
- VALUE rb_mGrnOperator;
21
+ VALUE rb_cGrnOperator;
22
22
 
23
23
  grn_operator
24
24
  rb_grn_operator_from_ruby_object (VALUE rb_operator)
@@ -27,6 +27,8 @@ rb_grn_operator_from_ruby_object (VALUE rb_operator)
27
27
 
28
28
  if (NIL_P(rb_operator)) {
29
29
  operator = GRN_OP_OR;
30
+ } else if (RVAL2CBOOL(rb_obj_is_kind_of(rb_operator, rb_cGrnOperator))) {
31
+ operator = NUM2UINT(rb_iv_get(rb_operator, "@value"));
30
32
  } else if (RVAL2CBOOL(rb_obj_is_kind_of(rb_operator, rb_cInteger))) {
31
33
  operator = NUM2UINT(rb_operator);
32
34
  } else if (rb_grn_equal_option(rb_operator, "push")) {
@@ -220,6 +222,8 @@ rb_grn_operator_from_ruby_object (VALUE rb_operator)
220
222
  } else if (rb_grn_equal_option(rb_operator, "json-put") ||
221
223
  rb_grn_equal_option(rb_operator, "json_put")) {
222
224
  operator = GRN_OP_JSON_PUT;
225
+ } else if (rb_grn_equal_option(rb_operator, "regexp")) {
226
+ operator = GRN_OP_REGEXP;
223
227
  } else {
224
228
  rb_raise(rb_eArgError,
225
229
  "operator should be one of "
@@ -237,6 +241,8 @@ rb_grn_set_operator_from_ruby_object (VALUE rb_operator)
237
241
 
238
242
  if (NIL_P(rb_operator)) {
239
243
  operator = GRN_OP_OR;
244
+ } else if (RVAL2CBOOL(rb_obj_is_kind_of(rb_operator, rb_cGrnOperator))) {
245
+ operator = NUM2UINT(rb_iv_get(rb_operator, "@value"));
240
246
  } else if (RVAL2CBOOL(rb_obj_is_kind_of(rb_operator, rb_cInteger))) {
241
247
  operator = NUM2UINT(rb_operator);
242
248
  } else if (rb_grn_equal_option(rb_operator, "or") ||
@@ -264,184 +270,401 @@ rb_grn_set_operator_from_ruby_object (VALUE rb_operator)
264
270
  return operator;
265
271
  }
266
272
 
273
+ static VALUE
274
+ rb_grn_operator_initialize (VALUE self, VALUE rb_name, VALUE rb_value)
275
+ {
276
+ rb_iv_set(self, "@name", rb_name);
277
+ rb_iv_set(self, "@value", rb_value);
278
+
279
+ return Qnil;
280
+ }
281
+
282
+ static VALUE
283
+ rb_grn_operator_to_i (VALUE self)
284
+ {
285
+ return rb_iv_get(self, "@value");
286
+ }
287
+
288
+ static VALUE
289
+ rb_grn_operator_to_s (VALUE self)
290
+ {
291
+ grn_operator operator;
292
+
293
+ operator = rb_grn_operator_from_ruby_object(self);
294
+ return rb_str_new_cstr(grn_operator_to_string(operator));
295
+ }
296
+
267
297
  void
268
298
  rb_grn_init_operator (VALUE mGrn)
269
299
  {
270
- rb_mGrnOperator = rb_define_module_under(mGrn, "Operator");
300
+ rb_cGrnOperator = rb_define_class_under(mGrn, "Operator", rb_cObject);
271
301
  /* @deprecated backward compatibility. */
272
- rb_define_const(mGrn, "Operation", rb_mGrnOperator);
302
+ rb_define_const(mGrn, "Operation", rb_cGrnOperator);
303
+
304
+ rb_define_attr(rb_cGrnOperator, "name", GRN_TRUE, GRN_FALSE);
305
+ rb_define_attr(rb_cGrnOperator, "value", GRN_TRUE, GRN_FALSE);
306
+
307
+ rb_define_method(rb_cGrnOperator, "initialize",
308
+ rb_grn_operator_initialize, 2);
309
+ rb_define_method(rb_cGrnOperator, "to_i",
310
+ rb_grn_operator_to_i, 0);
311
+ rb_define_alias(rb_cGrnOperator, "to_int", "to_i");
312
+ rb_define_method(rb_cGrnOperator, "to_s",
313
+ rb_grn_operator_to_s, 0);
314
+
315
+ rb_grn_init_equal_operator(mGrn);
316
+ rb_grn_init_not_equal_operator(mGrn);
317
+ rb_grn_init_less_operator(mGrn);
318
+ rb_grn_init_greater_operator(mGrn);
319
+ rb_grn_init_less_equal_operator(mGrn);
320
+ rb_grn_init_greater_equal_operator(mGrn);
321
+ rb_grn_init_match_operator(mGrn);
322
+ rb_grn_init_prefix_operator(mGrn);
323
+ rb_grn_init_regexp_operator(mGrn);
273
324
 
274
- rb_define_const(rb_mGrnOperator, "PUSH",
275
- UINT2NUM(GRN_OP_PUSH));
276
- rb_define_const(rb_mGrnOperator, "POP",
277
- UINT2NUM(GRN_OP_POP));
278
- rb_define_const(rb_mGrnOperator, "NO_OPERATION",
279
- UINT2NUM(GRN_OP_NOP));
280
- rb_define_const(rb_mGrnOperator, "CALL",
281
- UINT2NUM(GRN_OP_CALL));
282
- rb_define_const(rb_mGrnOperator, "INTERN",
283
- UINT2NUM(GRN_OP_INTERN));
284
- rb_define_const(rb_mGrnOperator, "GET_REFERENCE",
285
- UINT2NUM(GRN_OP_GET_REF));
286
- rb_define_const(rb_mGrnOperator, "GET_VALUE",
287
- UINT2NUM(GRN_OP_GET_VALUE));
288
- rb_define_const(rb_mGrnOperator, "AND",
289
- UINT2NUM(GRN_OP_AND));
290
- rb_define_const(rb_mGrnOperator, "AND_NOT",
291
- UINT2NUM(GRN_OP_AND_NOT));
325
+ rb_define_const(rb_cGrnOperator, "PUSH",
326
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
327
+ rb_str_new_cstr("push"),
328
+ UINT2NUM(GRN_OP_PUSH)));
329
+ rb_define_const(rb_cGrnOperator, "POP",
330
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
331
+ rb_str_new_cstr("pop"),
332
+ UINT2NUM(GRN_OP_POP)));
333
+ rb_define_const(rb_cGrnOperator, "NO_OPERATION",
334
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
335
+ rb_str_new_cstr("no-operation"),
336
+ UINT2NUM(GRN_OP_NOP)));
337
+ rb_define_const(rb_cGrnOperator, "CALL",
338
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
339
+ rb_str_new_cstr("call"),
340
+ UINT2NUM(GRN_OP_CALL)));
341
+ rb_define_const(rb_cGrnOperator, "INTERN",
342
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
343
+ rb_str_new_cstr("intern"),
344
+ UINT2NUM(GRN_OP_INTERN)));
345
+ rb_define_const(rb_cGrnOperator, "GET_REFERENCE",
346
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
347
+ rb_str_new_cstr("get-reference"),
348
+ UINT2NUM(GRN_OP_GET_REF)));
349
+ rb_define_const(rb_cGrnOperator, "GET_VALUE",
350
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
351
+ rb_str_new_cstr("get-value"),
352
+ UINT2NUM(GRN_OP_GET_VALUE)));
353
+ rb_define_const(rb_cGrnOperator, "AND",
354
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
355
+ rb_str_new_cstr("and"),
356
+ UINT2NUM(GRN_OP_AND)));
357
+ rb_define_const(rb_cGrnOperator, "AND_NOT",
358
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
359
+ rb_str_new_cstr("and-not"),
360
+ UINT2NUM(GRN_OP_AND_NOT)));
292
361
  /* Just for backward compatiblity. TODO: REMOVE ME! */
293
- rb_define_const(rb_mGrnOperator, "BUT",
294
- UINT2NUM(GRN_OP_BUT));
295
- rb_define_const(rb_mGrnOperator, "OR",
296
- UINT2NUM(GRN_OP_OR));
297
- rb_define_const(rb_mGrnOperator, "ASSIGN",
298
- UINT2NUM(GRN_OP_ASSIGN));
299
- rb_define_const(rb_mGrnOperator, "STAR_ASSIGN",
300
- UINT2NUM(GRN_OP_STAR_ASSIGN));
301
- rb_define_const(rb_mGrnOperator, "SLASH_ASSIGN",
302
- UINT2NUM(GRN_OP_SLASH_ASSIGN));
303
- rb_define_const(rb_mGrnOperator, "MODULO_ASSIGN",
304
- UINT2NUM(GRN_OP_MOD_ASSIGN));
305
- rb_define_const(rb_mGrnOperator, "PLUS_ASSIGN",
306
- UINT2NUM(GRN_OP_PLUS_ASSIGN));
307
- rb_define_const(rb_mGrnOperator, "MINUS_ASSIGN",
308
- UINT2NUM(GRN_OP_MINUS_ASSIGN));
309
- rb_define_const(rb_mGrnOperator, "SHIFTL_ASSIGN",
310
- UINT2NUM(GRN_OP_SHIFTL_ASSIGN));
311
- rb_define_const(rb_mGrnOperator, "SHIRTR_ASSIGN",
312
- UINT2NUM(GRN_OP_SHIFTR_ASSIGN));
313
- rb_define_const(rb_mGrnOperator, "SHIFTRR_ASSIGN",
314
- UINT2NUM(GRN_OP_SHIFTRR_ASSIGN));
315
- rb_define_const(rb_mGrnOperator, "AND_ASSIGN",
316
- UINT2NUM(GRN_OP_AND_ASSIGN));
317
- rb_define_const(rb_mGrnOperator, "XOR_ASSIGN",
318
- UINT2NUM(GRN_OP_XOR_ASSIGN));
319
- rb_define_const(rb_mGrnOperator, "OR_ASSIGN",
320
- UINT2NUM(GRN_OP_OR_ASSIGN));
321
- rb_define_const(rb_mGrnOperator, "JUMP",
322
- UINT2NUM(GRN_OP_JUMP));
323
- rb_define_const(rb_mGrnOperator, "CJUMP",
324
- UINT2NUM(GRN_OP_CJUMP));
325
- rb_define_const(rb_mGrnOperator, "COMMA",
326
- UINT2NUM(GRN_OP_COMMA));
327
- rb_define_const(rb_mGrnOperator, "BITWISE_OR",
328
- UINT2NUM(GRN_OP_BITWISE_OR));
329
- rb_define_const(rb_mGrnOperator, "BITWISE_XOR",
330
- UINT2NUM(GRN_OP_BITWISE_XOR));
331
- rb_define_const(rb_mGrnOperator, "BITWISE_AND",
332
- UINT2NUM(GRN_OP_BITWISE_AND));
333
- rb_define_const(rb_mGrnOperator, "BITWISE_NOT",
334
- UINT2NUM(GRN_OP_BITWISE_NOT));
335
- rb_define_const(rb_mGrnOperator, "EQUAL",
336
- UINT2NUM(GRN_OP_EQUAL));
337
- rb_define_const(rb_mGrnOperator, "NOT_EQUAL",
338
- UINT2NUM(GRN_OP_NOT_EQUAL));
339
- rb_define_const(rb_mGrnOperator, "LESS",
340
- UINT2NUM(GRN_OP_LESS));
341
- rb_define_const(rb_mGrnOperator, "GREATER",
342
- UINT2NUM(GRN_OP_GREATER));
343
- rb_define_const(rb_mGrnOperator, "LESS_EQUAL",
344
- UINT2NUM(GRN_OP_LESS_EQUAL));
345
- rb_define_const(rb_mGrnOperator, "GREATER_EQUAL",
346
- UINT2NUM(GRN_OP_GREATER_EQUAL));
347
- rb_define_const(rb_mGrnOperator, "IN",
348
- UINT2NUM(GRN_OP_IN));
349
- rb_define_const(rb_mGrnOperator, "MATCH",
350
- UINT2NUM(GRN_OP_MATCH));
351
- rb_define_const(rb_mGrnOperator, "NEAR",
352
- UINT2NUM(GRN_OP_NEAR));
353
- rb_define_const(rb_mGrnOperator, "NEAR2",
354
- UINT2NUM(GRN_OP_NEAR2));
355
- rb_define_const(rb_mGrnOperator, "SIMILAR",
356
- UINT2NUM(GRN_OP_SIMILAR));
357
- rb_define_const(rb_mGrnOperator, "TERM_EXTRACT",
358
- UINT2NUM(GRN_OP_TERM_EXTRACT));
359
- rb_define_const(rb_mGrnOperator, "SHIFTL",
360
- UINT2NUM(GRN_OP_SHIFTL));
361
- rb_define_const(rb_mGrnOperator, "SHIFTR",
362
- UINT2NUM(GRN_OP_SHIFTR));
363
- rb_define_const(rb_mGrnOperator, "SHIFTRR",
364
- UINT2NUM(GRN_OP_SHIFTRR));
365
- rb_define_const(rb_mGrnOperator, "PLUS",
366
- UINT2NUM(GRN_OP_PLUS));
367
- rb_define_const(rb_mGrnOperator, "MINUS",
368
- UINT2NUM(GRN_OP_MINUS));
369
- rb_define_const(rb_mGrnOperator, "STAR",
370
- UINT2NUM(GRN_OP_STAR));
371
- rb_define_const(rb_mGrnOperator, "SLASH",
372
- UINT2NUM(GRN_OP_SLASH));
373
- rb_define_const(rb_mGrnOperator, "MODULO",
374
- UINT2NUM(GRN_OP_MOD));
375
- rb_define_const(rb_mGrnOperator, "DELETE",
376
- UINT2NUM(GRN_OP_DELETE));
377
- rb_define_const(rb_mGrnOperator, "INCREMENT",
378
- UINT2NUM(GRN_OP_INCR));
379
- rb_define_const(rb_mGrnOperator, "DECREMENT",
380
- UINT2NUM(GRN_OP_DECR));
381
- rb_define_const(rb_mGrnOperator, "INCREMENT_POST",
382
- UINT2NUM(GRN_OP_INCR_POST));
383
- rb_define_const(rb_mGrnOperator, "DECREMENT_POST",
384
- UINT2NUM(GRN_OP_DECR_POST));
385
- rb_define_const(rb_mGrnOperator, "NOT",
386
- UINT2NUM(GRN_OP_NOT));
387
- rb_define_const(rb_mGrnOperator, "ADJUST",
388
- UINT2NUM(GRN_OP_ADJUST));
389
- rb_define_const(rb_mGrnOperator, "EXACT",
390
- UINT2NUM(GRN_OP_EXACT));
391
- rb_define_const(rb_mGrnOperator, "LONGEST_COMMON_PREFIX",
392
- UINT2NUM(GRN_OP_LCP));
393
- rb_define_const(rb_mGrnOperator, "PARTIAL",
394
- UINT2NUM(GRN_OP_PARTIAL));
395
- rb_define_const(rb_mGrnOperator, "UNSPLIT",
396
- UINT2NUM(GRN_OP_UNSPLIT));
397
- rb_define_const(rb_mGrnOperator, "PREFIX",
398
- UINT2NUM(GRN_OP_PREFIX));
399
- rb_define_const(rb_mGrnOperator, "SUFFIX",
400
- UINT2NUM(GRN_OP_SUFFIX));
401
- rb_define_const(rb_mGrnOperator, "GEO_DISTANCE1",
402
- UINT2NUM(GRN_OP_GEO_DISTANCE1));
403
- rb_define_const(rb_mGrnOperator, "GEO_DISTANCE2",
404
- UINT2NUM(GRN_OP_GEO_DISTANCE2));
405
- rb_define_const(rb_mGrnOperator, "GEO_DISTANCE3",
406
- UINT2NUM(GRN_OP_GEO_DISTANCE3));
407
- rb_define_const(rb_mGrnOperator, "GEO_DISTANCE4",
408
- UINT2NUM(GRN_OP_GEO_DISTANCE4));
409
- rb_define_const(rb_mGrnOperator, "GEO_WITHINP5",
410
- UINT2NUM(GRN_OP_GEO_WITHINP5));
411
- rb_define_const(rb_mGrnOperator, "GEO_WITHINP6",
412
- UINT2NUM(GRN_OP_GEO_WITHINP6));
413
- rb_define_const(rb_mGrnOperator, "GEO_WITHINP8",
414
- UINT2NUM(GRN_OP_GEO_WITHINP8));
415
- rb_define_const(rb_mGrnOperator, "OBJECT_SEARCH",
416
- UINT2NUM(GRN_OP_OBJ_SEARCH));
417
- rb_define_const(rb_mGrnOperator, "EXPRESSION_GET_VARIABLE",
418
- UINT2NUM(GRN_OP_EXPR_GET_VAR));
419
- rb_define_const(rb_mGrnOperator, "TABLE_CREATE",
420
- UINT2NUM(GRN_OP_TABLE_CREATE));
421
- rb_define_const(rb_mGrnOperator, "TABLE_SELECT",
422
- UINT2NUM(GRN_OP_TABLE_SELECT));
423
- rb_define_const(rb_mGrnOperator, "TABLE_SORT",
424
- UINT2NUM(GRN_OP_TABLE_SORT));
425
- rb_define_const(rb_mGrnOperator, "TABLE_GROUP",
426
- UINT2NUM(GRN_OP_TABLE_GROUP));
427
- rb_define_const(rb_mGrnOperator, "JSON_PUT",
428
- UINT2NUM(GRN_OP_JSON_PUT));
362
+ rb_define_const(rb_cGrnOperator, "BUT",
363
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
364
+ rb_str_new_cstr("but"),
365
+ UINT2NUM(GRN_OP_BUT)));
366
+ rb_define_const(rb_cGrnOperator, "OR",
367
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
368
+ rb_str_new_cstr("or"),
369
+ UINT2NUM(GRN_OP_OR)));
370
+ rb_define_const(rb_cGrnOperator, "ASSIGN",
371
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
372
+ rb_str_new_cstr("assign"),
373
+ UINT2NUM(GRN_OP_ASSIGN)));
374
+ rb_define_const(rb_cGrnOperator, "STAR_ASSIGN",
375
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
376
+ rb_str_new_cstr("star-assign"),
377
+ UINT2NUM(GRN_OP_STAR_ASSIGN)));
378
+ rb_define_const(rb_cGrnOperator, "SLASH_ASSIGN",
379
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
380
+ rb_str_new_cstr("slash-assign"),
381
+ UINT2NUM(GRN_OP_SLASH_ASSIGN)));
382
+ rb_define_const(rb_cGrnOperator, "MODULO_ASSIGN",
383
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
384
+ rb_str_new_cstr("modulo-assign"),
385
+ UINT2NUM(GRN_OP_MOD_ASSIGN)));
386
+ rb_define_const(rb_cGrnOperator, "PLUS_ASSIGN",
387
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
388
+ rb_str_new_cstr("plus-assign"),
389
+ UINT2NUM(GRN_OP_PLUS_ASSIGN)));
390
+ rb_define_const(rb_cGrnOperator, "MINUS_ASSIGN",
391
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
392
+ rb_str_new_cstr("minus-assign"),
393
+ UINT2NUM(GRN_OP_MINUS_ASSIGN)));
394
+ rb_define_const(rb_cGrnOperator, "SHIFTL_ASSIGN",
395
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
396
+ rb_str_new_cstr("shiftl-assign"),
397
+ UINT2NUM(GRN_OP_SHIFTL_ASSIGN)));
398
+ rb_define_const(rb_cGrnOperator, "SHIRTR_ASSIGN",
399
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
400
+ rb_str_new_cstr("shirtr-assign"),
401
+ UINT2NUM(GRN_OP_SHIFTR_ASSIGN)));
402
+ rb_define_const(rb_cGrnOperator, "SHIFTRR_ASSIGN",
403
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
404
+ rb_str_new_cstr("shiftrr-assign"),
405
+ UINT2NUM(GRN_OP_SHIFTRR_ASSIGN)));
406
+ rb_define_const(rb_cGrnOperator, "AND_ASSIGN",
407
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
408
+ rb_str_new_cstr("and-assign"),
409
+ UINT2NUM(GRN_OP_AND_ASSIGN)));
410
+ rb_define_const(rb_cGrnOperator, "XOR_ASSIGN",
411
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
412
+ rb_str_new_cstr("xor-assign"),
413
+ UINT2NUM(GRN_OP_XOR_ASSIGN)));
414
+ rb_define_const(rb_cGrnOperator, "OR_ASSIGN",
415
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
416
+ rb_str_new_cstr("or-assign"),
417
+ UINT2NUM(GRN_OP_OR_ASSIGN)));
418
+ rb_define_const(rb_cGrnOperator, "JUMP",
419
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
420
+ rb_str_new_cstr("jump"),
421
+ UINT2NUM(GRN_OP_JUMP)));
422
+ rb_define_const(rb_cGrnOperator, "CJUMP",
423
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
424
+ rb_str_new_cstr("cjump"),
425
+ UINT2NUM(GRN_OP_CJUMP)));
426
+ rb_define_const(rb_cGrnOperator, "COMMA",
427
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
428
+ rb_str_new_cstr("comma"),
429
+ UINT2NUM(GRN_OP_COMMA)));
430
+ rb_define_const(rb_cGrnOperator, "BITWISE_OR",
431
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
432
+ rb_str_new_cstr("bitwise-or"),
433
+ UINT2NUM(GRN_OP_BITWISE_OR)));
434
+ rb_define_const(rb_cGrnOperator, "BITWISE_XOR",
435
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
436
+ rb_str_new_cstr("bitwise-xor"),
437
+ UINT2NUM(GRN_OP_BITWISE_XOR)));
438
+ rb_define_const(rb_cGrnOperator, "BITWISE_AND",
439
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
440
+ rb_str_new_cstr("bitwise-and"),
441
+ UINT2NUM(GRN_OP_BITWISE_AND)));
442
+ rb_define_const(rb_cGrnOperator, "BITWISE_NOT",
443
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
444
+ rb_str_new_cstr("bitwise-not"),
445
+ UINT2NUM(GRN_OP_BITWISE_NOT)));
446
+ rb_define_const(rb_cGrnOperator, "EQUAL",
447
+ rb_funcall(rb_cGrnEqualOperator, rb_intern("new"), 2,
448
+ rb_str_new_cstr("equal"),
449
+ UINT2NUM(GRN_OP_EQUAL)));
450
+ rb_define_const(rb_cGrnOperator, "NOT_EQUAL",
451
+ rb_funcall(rb_cGrnNotEqualOperator, rb_intern("new"), 2,
452
+ rb_str_new_cstr("not-equal"),
453
+ UINT2NUM(GRN_OP_NOT_EQUAL)));
454
+ rb_define_const(rb_cGrnOperator, "LESS",
455
+ rb_funcall(rb_cGrnLessOperator, rb_intern("new"), 2,
456
+ rb_str_new_cstr("less"),
457
+ UINT2NUM(GRN_OP_LESS)));
458
+ rb_define_const(rb_cGrnOperator, "GREATER",
459
+ rb_funcall(rb_cGrnGreaterOperator, rb_intern("new"), 2,
460
+ rb_str_new_cstr("greater"),
461
+ UINT2NUM(GRN_OP_GREATER)));
462
+ rb_define_const(rb_cGrnOperator, "LESS_EQUAL",
463
+ rb_funcall(rb_cGrnLessEqualOperator, rb_intern("new"), 2,
464
+ rb_str_new_cstr("less-equal"),
465
+ UINT2NUM(GRN_OP_LESS_EQUAL)));
466
+ rb_define_const(rb_cGrnOperator, "GREATER_EQUAL",
467
+ rb_funcall(rb_cGrnGreaterEqualOperator, rb_intern("new"), 2,
468
+ rb_str_new_cstr("greater-equal"),
469
+ UINT2NUM(GRN_OP_GREATER_EQUAL)));
470
+ rb_define_const(rb_cGrnOperator, "IN",
471
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
472
+ rb_str_new_cstr("in"),
473
+ UINT2NUM(GRN_OP_IN)));
474
+ rb_define_const(rb_cGrnOperator, "MATCH",
475
+ rb_funcall(rb_cGrnMatchOperator, rb_intern("new"), 2,
476
+ rb_str_new_cstr("match"),
477
+ UINT2NUM(GRN_OP_MATCH)));
478
+ rb_define_const(rb_cGrnOperator, "NEAR",
479
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
480
+ rb_str_new_cstr("near"),
481
+ UINT2NUM(GRN_OP_NEAR)));
482
+ rb_define_const(rb_cGrnOperator, "NEAR2",
483
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
484
+ rb_str_new_cstr("near2"),
485
+ UINT2NUM(GRN_OP_NEAR2)));
486
+ rb_define_const(rb_cGrnOperator, "SIMILAR",
487
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
488
+ rb_str_new_cstr("similar"),
489
+ UINT2NUM(GRN_OP_SIMILAR)));
490
+ rb_define_const(rb_cGrnOperator, "TERM_EXTRACT",
491
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
492
+ rb_str_new_cstr("term-extract"),
493
+ UINT2NUM(GRN_OP_TERM_EXTRACT)));
494
+ rb_define_const(rb_cGrnOperator, "SHIFTL",
495
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
496
+ rb_str_new_cstr("shiftl"),
497
+ UINT2NUM(GRN_OP_SHIFTL)));
498
+ rb_define_const(rb_cGrnOperator, "SHIFTR",
499
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
500
+ rb_str_new_cstr("shiftr"),
501
+ UINT2NUM(GRN_OP_SHIFTR)));
502
+ rb_define_const(rb_cGrnOperator, "SHIFTRR",
503
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
504
+ rb_str_new_cstr("shiftrr"),
505
+ UINT2NUM(GRN_OP_SHIFTRR)));
506
+ rb_define_const(rb_cGrnOperator, "PLUS",
507
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
508
+ rb_str_new_cstr("plus"),
509
+ UINT2NUM(GRN_OP_PLUS)));
510
+ rb_define_const(rb_cGrnOperator, "MINUS",
511
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
512
+ rb_str_new_cstr("minus"),
513
+ UINT2NUM(GRN_OP_MINUS)));
514
+ rb_define_const(rb_cGrnOperator, "STAR",
515
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
516
+ rb_str_new_cstr("star"),
517
+ UINT2NUM(GRN_OP_STAR)));
518
+ rb_define_const(rb_cGrnOperator, "SLASH",
519
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
520
+ rb_str_new_cstr("slash"),
521
+ UINT2NUM(GRN_OP_SLASH)));
522
+ rb_define_const(rb_cGrnOperator, "MODULO",
523
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
524
+ rb_str_new_cstr("modulo"),
525
+ UINT2NUM(GRN_OP_MOD)));
526
+ rb_define_const(rb_cGrnOperator, "DELETE",
527
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
528
+ rb_str_new_cstr("delete"),
529
+ UINT2NUM(GRN_OP_DELETE)));
530
+ rb_define_const(rb_cGrnOperator, "INCREMENT",
531
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
532
+ rb_str_new_cstr("increment"),
533
+ UINT2NUM(GRN_OP_INCR)));
534
+ rb_define_const(rb_cGrnOperator, "DECREMENT",
535
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
536
+ rb_str_new_cstr("decrement"),
537
+ UINT2NUM(GRN_OP_DECR)));
538
+ rb_define_const(rb_cGrnOperator, "INCREMENT_POST",
539
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
540
+ rb_str_new_cstr("increment-post"),
541
+ UINT2NUM(GRN_OP_INCR_POST)));
542
+ rb_define_const(rb_cGrnOperator, "DECREMENT_POST",
543
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
544
+ rb_str_new_cstr("decrement-post"),
545
+ UINT2NUM(GRN_OP_DECR_POST)));
546
+ rb_define_const(rb_cGrnOperator, "NOT",
547
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
548
+ rb_str_new_cstr("not"),
549
+ UINT2NUM(GRN_OP_NOT)));
550
+ rb_define_const(rb_cGrnOperator, "ADJUST",
551
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
552
+ rb_str_new_cstr("adjust"),
553
+ UINT2NUM(GRN_OP_ADJUST)));
554
+ rb_define_const(rb_cGrnOperator, "EXACT",
555
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
556
+ rb_str_new_cstr("exact"),
557
+ UINT2NUM(GRN_OP_EXACT)));
558
+ rb_define_const(rb_cGrnOperator, "LONGEST_COMMON_PREFIX",
559
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
560
+ rb_str_new_cstr("longest-common-prefix"),
561
+ UINT2NUM(GRN_OP_LCP)));
562
+ rb_define_const(rb_cGrnOperator, "PARTIAL",
563
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
564
+ rb_str_new_cstr("partial"),
565
+ UINT2NUM(GRN_OP_PARTIAL)));
566
+ rb_define_const(rb_cGrnOperator, "UNSPLIT",
567
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
568
+ rb_str_new_cstr("unsplit"),
569
+ UINT2NUM(GRN_OP_UNSPLIT)));
570
+ rb_define_const(rb_cGrnOperator, "PREFIX",
571
+ rb_funcall(rb_cGrnPrefixOperator, rb_intern("new"), 2,
572
+ rb_str_new_cstr("prefix"),
573
+ UINT2NUM(GRN_OP_PREFIX)));
574
+ rb_define_const(rb_cGrnOperator, "SUFFIX",
575
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
576
+ rb_str_new_cstr("suffix"),
577
+ UINT2NUM(GRN_OP_SUFFIX)));
578
+ rb_define_const(rb_cGrnOperator, "GEO_DISTANCE1",
579
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
580
+ rb_str_new_cstr("geo-distance1"),
581
+ UINT2NUM(GRN_OP_GEO_DISTANCE1)));
582
+ rb_define_const(rb_cGrnOperator, "GEO_DISTANCE2",
583
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
584
+ rb_str_new_cstr("geo-distance2"),
585
+ UINT2NUM(GRN_OP_GEO_DISTANCE2)));
586
+ rb_define_const(rb_cGrnOperator, "GEO_DISTANCE3",
587
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
588
+ rb_str_new_cstr("geo-distance3"),
589
+ UINT2NUM(GRN_OP_GEO_DISTANCE3)));
590
+ rb_define_const(rb_cGrnOperator, "GEO_DISTANCE4",
591
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
592
+ rb_str_new_cstr("geo-distance4"),
593
+ UINT2NUM(GRN_OP_GEO_DISTANCE4)));
594
+ rb_define_const(rb_cGrnOperator, "GEO_WITHINP5",
595
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
596
+ rb_str_new_cstr("geo-withinp5"),
597
+ UINT2NUM(GRN_OP_GEO_WITHINP5)));
598
+ rb_define_const(rb_cGrnOperator, "GEO_WITHINP6",
599
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
600
+ rb_str_new_cstr("geo-withinp6"),
601
+ UINT2NUM(GRN_OP_GEO_WITHINP6)));
602
+ rb_define_const(rb_cGrnOperator, "GEO_WITHINP8",
603
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
604
+ rb_str_new_cstr("geo-withinp8"),
605
+ UINT2NUM(GRN_OP_GEO_WITHINP8)));
606
+ rb_define_const(rb_cGrnOperator, "OBJECT_SEARCH",
607
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
608
+ rb_str_new_cstr("object-search"),
609
+ UINT2NUM(GRN_OP_OBJ_SEARCH)));
610
+ rb_define_const(rb_cGrnOperator, "EXPRESSION_GET_VARIABLE",
611
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
612
+ rb_str_new_cstr("expression-get-variable"),
613
+ UINT2NUM(GRN_OP_EXPR_GET_VAR)));
614
+ rb_define_const(rb_cGrnOperator, "TABLE_CREATE",
615
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
616
+ rb_str_new_cstr("table-create"),
617
+ UINT2NUM(GRN_OP_TABLE_CREATE)));
618
+ rb_define_const(rb_cGrnOperator, "TABLE_SELECT",
619
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
620
+ rb_str_new_cstr("table-select"),
621
+ UINT2NUM(GRN_OP_TABLE_SELECT)));
622
+ rb_define_const(rb_cGrnOperator, "TABLE_SORT",
623
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
624
+ rb_str_new_cstr("table-sort"),
625
+ UINT2NUM(GRN_OP_TABLE_SORT)));
626
+ rb_define_const(rb_cGrnOperator, "TABLE_GROUP",
627
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
628
+ rb_str_new_cstr("table-group"),
629
+ UINT2NUM(GRN_OP_TABLE_GROUP)));
630
+ rb_define_const(rb_cGrnOperator, "JSON_PUT",
631
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
632
+ rb_str_new_cstr("json-put"),
633
+ UINT2NUM(GRN_OP_JSON_PUT)));
634
+ rb_define_const(rb_cGrnOperator, "REGEXP",
635
+ rb_funcall(rb_cGrnRegexpOperator, rb_intern("new"), 2,
636
+ rb_str_new_cstr("regexp"),
637
+ UINT2NUM(GRN_OP_REGEXP)));
429
638
 
430
639
 
431
640
  /*
432
- rb_define_const(rb_mGrnOperator, "GEO_DISTANCE1",
433
- UINT2NUM(GRN_OP_GEO_DISTANCE1));
434
- rb_define_const(rb_mGrnOperator, "GEO_DISTANCE2",
435
- UINT2NUM(GRN_OP_GEO_DISTANCE2));
436
- rb_define_const(rb_mGrnOperator, "GEO_DISTANCE3",
437
- UINT2NUM(GRN_OP_GEO_DISTANCE3));
438
- rb_define_const(rb_mGrnOperator, "GEO_DISTANCE4",
439
- UINT2NUM(GRN_OP_GEO_DISTANCE4));
440
- rb_define_const(rb_mGrnOperator, "GEO_WITHINP5",
441
- UINT2NUM(GRN_OP_GEO_WITHINP5));
442
- rb_define_const(rb_mGrnOperator, "GEO_WITHINP6",
443
- UINT2NUM(GRN_OP_GEO_WITHINP6));
444
- rb_define_const(rb_mGrnOperator, "GEO_WITHINP8",
445
- UINT2NUM(GRN_OP_GEO_WITHINP8));
641
+ rb_define_const(rb_cGrnOperator, "GEO_DISTANCE1",
642
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
643
+ rb_str_new_cstr("geo-distance1"),
644
+ UINT2NUM(GRN_OP_GEO_DISTANCE1)));
645
+ rb_define_const(rb_cGrnOperator, "GEO_DISTANCE2",
646
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
647
+ rb_str_new_cstr("geo-distance2"),
648
+ UINT2NUM(GRN_OP_GEO_DISTANCE2)));
649
+ rb_define_const(rb_cGrnOperator, "GEO_DISTANCE3",
650
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
651
+ rb_str_new_cstr("geo-distance3"),
652
+ UINT2NUM(GRN_OP_GEO_DISTANCE3)));
653
+ rb_define_const(rb_cGrnOperator, "GEO_DISTANCE4",
654
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
655
+ rb_str_new_cstr("geo-distance4"),
656
+ UINT2NUM(GRN_OP_GEO_DISTANCE4)));
657
+ rb_define_const(rb_cGrnOperator, "GEO_WITHINP5",
658
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
659
+ rb_str_new_cstr("geo-withinp5"),
660
+ UINT2NUM(GRN_OP_GEO_WITHINP5)));
661
+ rb_define_const(rb_cGrnOperator, "GEO_WITHINP6",
662
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
663
+ rb_str_new_cstr("geo-withinp6"),
664
+ UINT2NUM(GRN_OP_GEO_WITHINP6)));
665
+ rb_define_const(rb_cGrnOperator, "GEO_WITHINP8",
666
+ rb_funcall(rb_cGrnOperator, rb_intern("new"), 2,
667
+ rb_str_new_cstr("geo-withinp8"),
668
+ UINT2NUM(GRN_OP_GEO_WITHINP8)));
446
669
  */
447
670
  }