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
         |