rroonga 1.0.7 → 1.0.8

Sign up to get free protection for your applications and to get access to all the features.
data/NEWS.ja.rdoc CHANGED
@@ -1,5 +1,16 @@
1
1
  = お知らせ
2
2
 
3
+ == 1.0.8: 2010-12-25
4
+
5
+ === 改良
6
+
7
+ * Groonga::Schemaのn-gramトークナイザー検出処理を改良。
8
+
9
+ === 修正
10
+
11
+ * selectでmatch_targetを利用した場合に生きているオブジェクトもGC
12
+ される問題を修正。
13
+
3
14
  == 1.0.7: 2010-12-19
4
15
 
5
16
  === 修正
data/NEWS.rdoc CHANGED
@@ -1,5 +1,15 @@
1
1
  = NEWS
2
2
 
3
+ == 1.0.8: 2010-12-25
4
+
5
+ === Improvements
6
+
7
+ * Improved Groonga::Schema's n-gram tokenizer detect process.
8
+
9
+ === Fixes
10
+
11
+ * Fixed GC problem caused by match_target in select.
12
+
3
13
  == 1.0.7: 2010-12-19
4
14
 
5
15
  === Fixes
@@ -98,6 +98,8 @@ rb_grn_expression_initialize (int argc, VALUE *argv, VALUE self)
98
98
  rb_grn_object_assign(Qnil, self, rb_context, context, expression);
99
99
  rb_grn_context_check(context, self);
100
100
 
101
+ rb_iv_set(self, "@objects", rb_ary_new());
102
+
101
103
  return Qnil;
102
104
  }
103
105
 
@@ -183,6 +185,8 @@ rb_grn_expression_append_object (int argc, VALUE *argv, VALUE self)
183
185
  grn_expr_append_obj(context, expression, object,
184
186
  operation, n_arguments);
185
187
  rb_grn_context_check(context, self);
188
+ rb_ary_push(rb_iv_get(self, "@objects"), rb_object);
189
+
186
190
  return self;
187
191
  }
188
192
 
@@ -339,6 +339,27 @@ rb_grn_table_define_column (int argc, VALUE *argv, VALUE self)
339
339
  return rb_column;
340
340
  }
341
341
 
342
+ static grn_bool
343
+ n_gram_tokenizer_p(grn_ctx *context, grn_obj *tokenizer)
344
+ {
345
+ char tokenizer_name[GRN_TABLE_MAX_KEY_SIZE];
346
+ int name_size;
347
+
348
+ name_size = grn_obj_name(context, tokenizer,
349
+ tokenizer_name, sizeof(tokenizer_name) - 1);
350
+ if (name_size == 0)
351
+ return GRN_FALSE;
352
+
353
+ tokenizer_name[name_size] = '\0';
354
+
355
+ #define HAVE_PREFIX_P(prefix) \
356
+ (strncmp(tokenizer_name, prefix, strlen(prefix)) == 0)
357
+ return (HAVE_PREFIX_P("TokenUnigram") ||
358
+ HAVE_PREFIX_P("TokenBigram") ||
359
+ HAVE_PREFIX_P("TokenTrigram"));
360
+ #undef HAVE_PREFIX_P
361
+ }
362
+
342
363
  /*
343
364
  * call-seq:
344
365
  * table.define_index_column(name, value_type, options={}) -> Groonga::IndexColumn
@@ -438,16 +459,12 @@ rb_grn_table_define_index_column (int argc, VALUE *argv, VALUE self)
438
459
  if (NIL_P(rb_with_position) &&
439
460
  (table->header.type == GRN_TABLE_HASH_KEY ||
440
461
  table->header.type == GRN_TABLE_PAT_KEY)) {
441
- grn_id tokenizer_id;
442
462
  grn_obj *tokenizer;
443
463
 
444
464
  tokenizer = grn_obj_get_info(context, table,
445
465
  GRN_INFO_DEFAULT_TOKENIZER,
446
466
  NULL);
447
- tokenizer_id = grn_obj_id(context, tokenizer);
448
- if ((tokenizer_id == GRN_DB_UNIGRAM) ||
449
- (tokenizer_id == GRN_DB_BIGRAM) ||
450
- (tokenizer_id == GRN_DB_TRIGRAM)) {
467
+ if (tokenizer && n_gram_tokenizer_p(context, tokenizer)) {
451
468
  rb_with_position = Qtrue;
452
469
  }
453
470
  }
data/ext/groonga/rb-grn.h CHANGED
@@ -69,7 +69,7 @@ RB_GRN_BEGIN_DECLS
69
69
 
70
70
  #define RB_GRN_MAJOR_VERSION 1
71
71
  #define RB_GRN_MINOR_VERSION 0
72
- #define RB_GRN_MICRO_VERSION 7
72
+ #define RB_GRN_MICRO_VERSION 8
73
73
 
74
74
  #define RB_GRN_QUERY_DEFAULT_MAX_EXPRESSIONS 32
75
75
 
data/html/index.html CHANGED
@@ -49,7 +49,7 @@
49
49
 
50
50
  <h3>rroongaの最新リリース</h3>
51
51
  <p>
52
- 2010-12-19にリリースされた1.0.7が最新です。
52
+ 2010-12-25にリリースされた1.0.8が最新です。
53
53
  </p>
54
54
 
55
55
  <h3 id="install-rroonga">rroongaのインストール</h3>
@@ -85,7 +85,7 @@
85
85
 
86
86
  <h3>ActiveGroongaの最新リリース</h3>
87
87
  <p>
88
- 2010-11-29にリリースされた1.0.1が最新です。
88
+ 2010-12-25にリリースされた1.0.3が最新です。
89
89
  </p>
90
90
 
91
91
  <h3 id="install-active-groonga">ActiveGroongaのインストール</h3>
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rroonga
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 7
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 7
10
- version: 1.0.7
9
+ - 8
10
+ version: 1.0.8
11
11
  platform: ruby
12
12
  authors:
13
13
  - Kouhei Sutou
@@ -19,7 +19,7 @@ autorequire:
19
19
  bindir: bin
20
20
  cert_chain: []
21
21
 
22
- date: 2010-12-19 00:00:00 +09:00
22
+ date: 2010-12-25 00:00:00 +09:00
23
23
  default_executable:
24
24
  dependencies:
25
25
  - !ruby/object:Gem::Dependency