rroonga 12.0.8 → 12.1.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 +10 -0
- data/ext/groonga/rb-grn-patricia-trie.c +6 -1
- data/ext/groonga/rb-grn.h +2 -2
- data/test/test-patricia-trie.rb +17 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a85769bf192cecc677daaaddb349b4728bdeb7d240d1ecb4fc9660495c5fa2de
|
4
|
+
data.tar.gz: 05375332c1e8f93a9e1fb1b584a9e92d8923af6848ffdef223702a17d32852a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ec5e421bb75cdf1c944fcf36f70778f59113da9a8c4c20df7318fd56e21a1f00856fe9a9f308cab584183c32cbf055758b3e6bd52d415771c3f0c28080588bf
|
7
|
+
data.tar.gz: d7d630a97a5831323c70ececc208016d4a5a02b4ddd476e043038eca71e8b6d37410d01c7eac8d5eb71b0788d7fbcc915d76737dfa38c0f3db02f1cc92b9884f
|
data/doc/text/news.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
# NEWS
|
2
2
|
|
3
|
+
## 12.1.0: 2022-12-05 {#version-12-1-0}
|
4
|
+
|
5
|
+
### Fixes
|
6
|
+
|
7
|
+
* [{Groonga::PatriciaTrie}] Fixed a bug that `Groonga::PatriciaTrie#scan` returned wrong offsets if there are many hit words. [GitHub#207][Patch by Naoya Murakami]
|
8
|
+
|
9
|
+
### Thanks
|
10
|
+
|
11
|
+
* Naoya Murakami
|
12
|
+
|
3
13
|
## 12.0.8: 2022-09-28 {#version-12-0-8}
|
4
14
|
|
5
15
|
### Improvements
|
@@ -445,10 +445,14 @@ rb_grn_patricia_trie_scan (VALUE self, VALUE rb_string)
|
|
445
445
|
grn_pat_scan_hit hits[1024];
|
446
446
|
const char *string;
|
447
447
|
long string_length;
|
448
|
+
const char *original_string;
|
449
|
+
long rest_offset;
|
448
450
|
grn_bool block_given;
|
449
451
|
|
450
452
|
string = StringValuePtr(rb_string);
|
451
453
|
string_length = RSTRING_LEN(rb_string);
|
454
|
+
original_string = string;
|
455
|
+
rest_offset = 0;
|
452
456
|
|
453
457
|
rb_grn_table_key_support_deconstruct(SELF(self), &table, &context,
|
454
458
|
NULL, NULL, NULL,
|
@@ -481,7 +485,7 @@ rb_grn_patricia_trie_scan (VALUE self, VALUE rb_string)
|
|
481
485
|
matched_info = rb_ary_new_from_args(4,
|
482
486
|
record,
|
483
487
|
term,
|
484
|
-
UINT2NUM(hits[i].offset),
|
488
|
+
UINT2NUM(hits[i].offset + rest_offset),
|
485
489
|
UINT2NUM(hits[i].length));
|
486
490
|
if (block_given) {
|
487
491
|
rb_yield(matched_info);
|
@@ -490,6 +494,7 @@ rb_grn_patricia_trie_scan (VALUE self, VALUE rb_string)
|
|
490
494
|
}
|
491
495
|
previous_offset = hits[i].offset;
|
492
496
|
}
|
497
|
+
rest_offset = rest - original_string;
|
493
498
|
string_length -= rest - string;
|
494
499
|
string = rest;
|
495
500
|
}
|
data/ext/groonga/rb-grn.h
CHANGED
@@ -92,8 +92,8 @@ RB_GRN_BEGIN_DECLS
|
|
92
92
|
#define RB_GRN_HAVE_FLOAT32 GRN_VERSION_OR_LATER(10, 0, 2)
|
93
93
|
|
94
94
|
#define RB_GRN_MAJOR_VERSION 12
|
95
|
-
#define RB_GRN_MINOR_VERSION
|
96
|
-
#define RB_GRN_MICRO_VERSION
|
95
|
+
#define RB_GRN_MINOR_VERSION 1
|
96
|
+
#define RB_GRN_MICRO_VERSION 0
|
97
97
|
|
98
98
|
#define RB_GRN_OBJECT(object) ((RbGrnObject *)(object))
|
99
99
|
#define RB_GRN_NAMED_OBJECT(object) ((RbGrnNamedObject *)(object))
|
data/test/test-patricia-trie.rb
CHANGED
@@ -154,6 +154,23 @@ class PatriciaTrieTest < Test::Unit::TestCase
|
|
154
154
|
words.scan('muTEki リンクの冒険 ミリバール アルパカ ガッ'))
|
155
155
|
end
|
156
156
|
|
157
|
+
def test_scan_for_many_words
|
158
|
+
Groonga::Context.default_options = {:encoding => "utf-8"}
|
159
|
+
words = Groonga::PatriciaTrie.create(:key_type => "ShortText",
|
160
|
+
:key_normalize => true)
|
161
|
+
words.add("x")
|
162
|
+
dot = words.add(".")
|
163
|
+
longtext = ""
|
164
|
+
scanned = []
|
165
|
+
|
166
|
+
1025.times.each do |i|
|
167
|
+
longtext += "."
|
168
|
+
scanned.push([dot, ".", i, 1])
|
169
|
+
end
|
170
|
+
assert_equal(scanned,
|
171
|
+
words.scan(longtext))
|
172
|
+
end
|
173
|
+
|
157
174
|
def test_scan_no_database
|
158
175
|
Groonga::Context.open(encoding: "utf-8") do |context|
|
159
176
|
Groonga::PatriciaTrie.create(context: context,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rroonga
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 12.0
|
4
|
+
version: 12.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kouhei Sutou
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2022-
|
15
|
+
date: 2022-12-06 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: groonga-client
|
@@ -387,7 +387,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
387
387
|
- !ruby/object:Gem::Version
|
388
388
|
version: '0'
|
389
389
|
requirements: []
|
390
|
-
rubygems_version: 3.3.
|
390
|
+
rubygems_version: 3.3.24
|
391
391
|
signing_key:
|
392
392
|
specification_version: 4
|
393
393
|
summary: Ruby bindings for Groonga that provide full text search and column store
|