rroonga 7.1.1-x64-mingw32 → 9.0.2-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/Rakefile +3 -3
- data/doc/text/news.md +22 -0
- data/ext/groonga/extconf.rb +29 -26
- data/ext/groonga/rb-grn.h +3 -3
- data/lib/2.2/groonga.so +0 -0
- data/lib/2.3/groonga.so +0 -0
- data/lib/2.4/groonga.so +0 -0
- data/lib/2.5/groonga.so +0 -0
- data/lib/groonga/expression-builder.rb +1 -1
- data/lib/groonga/schema.rb +13 -0
- data/rroonga-build.rb +4 -11
- data/test/test-expression-builder.rb +8 -0
- data/vendor/local/bin/cv2pdb.exe +0 -0
- data/vendor/local/bin/generate-pdb.bat +38 -36
- data/vendor/local/bin/grndb.exe +0 -0
- data/vendor/local/bin/groonga-benchmark.exe +0 -0
- data/vendor/local/bin/groonga-suggest-create-dataset.exe +0 -0
- data/vendor/local/bin/groonga.exe +0 -0
- data/vendor/local/bin/libgroonga-0.dll +0 -0
- data/vendor/local/bin/libmecab-2.dll +0 -0
- data/vendor/local/bin/libmsgpackc.dll +0 -0
- data/vendor/local/bin/libonigmo-6.dll +0 -0
- data/vendor/local/bin/libpcre-1.dll +0 -0
- data/vendor/local/bin/libpcrecpp-0.dll +0 -0
- data/vendor/local/bin/libpcreposix-0.dll +0 -0
- data/vendor/local/bin/lz4.exe +0 -0
- data/vendor/local/bin/lz4c.exe +0 -0
- data/vendor/local/bin/{lz4cat → lz4cat.exe} +0 -0
- data/vendor/local/bin/mecab.exe +0 -0
- data/vendor/local/bin/pcre-config +1 -1
- data/vendor/local/bin/pcregrep.exe +0 -0
- data/vendor/local/bin/pcretest.exe +0 -0
- data/vendor/local/bin/unlz4.exe +0 -0
- data/vendor/local/bin/zlib1.dll +0 -0
- data/vendor/local/include/groonga/groonga.h +16 -1
- data/vendor/local/include/groonga/groonga/accessor.h +5 -1
- data/vendor/local/include/groonga/groonga/column.h +4 -0
- data/vendor/local/include/groonga/groonga/db.h +3 -1
- data/vendor/local/include/groonga/groonga/expr.h +5 -0
- data/vendor/local/include/groonga/groonga/groonga.h +124 -171
- data/vendor/local/include/groonga/groonga/highlighter.h +57 -0
- data/vendor/local/include/groonga/groonga/ii.h +2 -0
- data/vendor/local/include/groonga/groonga/index_column.h +31 -0
- data/vendor/local/include/groonga/groonga/memory.h +29 -0
- data/vendor/local/include/groonga/groonga/msgpack.h +50 -0
- data/vendor/local/include/groonga/groonga/obj.h +22 -1
- data/vendor/local/include/groonga/groonga/option.h +61 -0
- data/vendor/local/include/groonga/groonga/output.h +57 -2
- data/vendor/local/include/groonga/groonga/output_columns.h +38 -0
- data/vendor/local/include/groonga/groonga/plugin.h +5 -0
- data/vendor/local/include/groonga/groonga/raw_string.h +60 -0
- data/vendor/local/include/groonga/groonga/string.h +113 -0
- data/vendor/local/include/groonga/groonga/table.h +89 -1
- data/vendor/local/include/groonga/groonga/thread.h +15 -0
- data/vendor/local/include/groonga/groonga/time.h +1 -0
- data/vendor/local/include/groonga/groonga/token.h +60 -10
- data/vendor/local/include/groonga/groonga/token_cursor.h +59 -0
- data/vendor/local/include/groonga/groonga/token_filter.h +24 -0
- data/vendor/local/include/groonga/groonga/token_metadata.h +49 -0
- data/vendor/local/include/groonga/groonga/tokenizer.h +99 -25
- data/vendor/local/include/groonga/groonga/tokenizer_query_deprecated.h +50 -0
- data/vendor/local/include/groonga/groonga/vector.h +80 -0
- data/vendor/local/include/groonga/groonga/version.h +32 -0
- data/vendor/local/include/groonga/groonga/window_function.h +18 -8
- data/vendor/local/include/groonga/groonga/window_function_executor.h +68 -0
- data/vendor/local/include/lz4.h +504 -212
- data/vendor/local/include/lz4frame.h +433 -153
- data/vendor/local/include/lz4frame_static.h +47 -0
- data/vendor/local/include/lz4hc.h +281 -108
- data/vendor/local/include/msgpack.hpp +4 -0
- data/vendor/local/include/msgpack/adaptor/adaptor_base.hpp +1 -0
- data/vendor/local/include/msgpack/adaptor/adaptor_base_decl.hpp +1 -0
- data/vendor/local/include/msgpack/adaptor/array_ref_decl.hpp +1 -0
- data/vendor/local/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp +1 -0
- data/vendor/local/include/msgpack/adaptor/boost/string_view.hpp +15 -0
- data/vendor/local/include/msgpack/adaptor/check_container_size_decl.hpp +1 -0
- data/vendor/local/include/msgpack/adaptor/cpp17/optional.hpp +16 -0
- data/vendor/local/include/msgpack/adaptor/cpp17/string_view.hpp +16 -0
- data/vendor/local/include/msgpack/adaptor/define_decl.hpp +2 -0
- data/vendor/local/include/msgpack/adaptor/ext_decl.hpp +1 -0
- data/vendor/local/include/msgpack/adaptor/fixint_decl.hpp +1 -0
- data/vendor/local/include/msgpack/adaptor/int_decl.hpp +1 -0
- data/vendor/local/include/msgpack/adaptor/map_decl.hpp +1 -0
- data/vendor/local/include/msgpack/adaptor/msgpack_tuple_decl.hpp +1 -0
- data/vendor/local/include/msgpack/adaptor/nil_decl.hpp +1 -0
- data/vendor/local/include/msgpack/adaptor/raw_decl.hpp +1 -0
- data/vendor/local/include/msgpack/adaptor/size_equal_only_decl.hpp +1 -0
- data/vendor/local/include/msgpack/adaptor/tr1/unordered_map.hpp +2 -2
- data/vendor/local/include/msgpack/adaptor/tr1/unordered_set.hpp +2 -2
- data/vendor/local/include/msgpack/adaptor/v4raw_decl.hpp +1 -0
- data/vendor/local/include/msgpack/cpp_config_decl.hpp +1 -0
- data/vendor/local/include/msgpack/create_object_visitor.hpp +17 -0
- data/vendor/local/include/msgpack/create_object_visitor_decl.hpp +16 -0
- data/vendor/local/include/msgpack/fbuffer.h +1 -1
- data/vendor/local/include/msgpack/fbuffer_decl.hpp +1 -0
- data/vendor/local/include/msgpack/gcc_atomic.hpp +0 -2
- data/vendor/local/include/msgpack/iterator_decl.hpp +2 -1
- data/vendor/local/include/msgpack/meta_decl.hpp +1 -0
- data/vendor/local/include/msgpack/null_visitor.hpp +17 -0
- data/vendor/local/include/msgpack/null_visitor_decl.hpp +16 -0
- data/vendor/local/include/msgpack/object.h +5 -0
- data/vendor/local/include/msgpack/object_decl.hpp +1 -0
- data/vendor/local/include/msgpack/object_fwd.hpp +1 -0
- data/vendor/local/include/msgpack/object_fwd_decl.hpp +1 -0
- data/vendor/local/include/msgpack/pack.h +1 -0
- data/vendor/local/include/msgpack/pack_decl.hpp +1 -0
- data/vendor/local/include/msgpack/parse.hpp +18 -0
- data/vendor/local/include/msgpack/parse_decl.hpp +16 -0
- data/vendor/local/include/msgpack/parse_return.hpp +17 -0
- data/vendor/local/include/msgpack/sbuffer_decl.hpp +1 -0
- data/vendor/local/include/msgpack/sysdep.h +34 -26
- data/vendor/local/include/msgpack/type.hpp +9 -0
- data/vendor/local/include/msgpack/unpack.h +12 -1
- data/vendor/local/include/msgpack/unpack.hpp +1 -0
- data/vendor/local/include/msgpack/unpack_decl.hpp +1 -0
- data/vendor/local/include/msgpack/unpack_exception.hpp +15 -0
- data/vendor/local/include/msgpack/unpack_template.h +22 -30
- data/vendor/local/include/msgpack/v1/adaptor/array_ref.hpp +6 -6
- data/vendor/local/include/msgpack/v1/adaptor/boost/fusion.hpp +49 -6
- data/vendor/local/include/msgpack/v1/adaptor/boost/msgpack_variant.hpp +6 -4
- data/vendor/local/include/msgpack/v1/adaptor/boost/string_view.hpp +87 -0
- data/vendor/local/include/msgpack/v1/adaptor/carray.hpp +11 -11
- data/vendor/local/include/msgpack/v1/adaptor/char_ptr.hpp +1 -1
- data/vendor/local/include/msgpack/v1/adaptor/cpp11/array.hpp +1 -1
- data/vendor/local/include/msgpack/v1/adaptor/cpp11/array_char.hpp +8 -1
- data/vendor/local/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp +8 -1
- data/vendor/local/include/msgpack/v1/adaptor/cpp11/forward_list.hpp +1 -1
- data/vendor/local/include/msgpack/v1/adaptor/cpp11/tuple.hpp +2 -2
- data/vendor/local/include/msgpack/v1/adaptor/cpp11/unordered_map.hpp +4 -4
- data/vendor/local/include/msgpack/v1/adaptor/cpp11/unordered_set.hpp +2 -2
- data/vendor/local/include/msgpack/v1/adaptor/cpp17/optional.hpp +90 -0
- data/vendor/local/include/msgpack/v1/adaptor/cpp17/string_view.hpp +86 -0
- data/vendor/local/include/msgpack/v1/adaptor/deque.hpp +1 -1
- data/vendor/local/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp +1088 -32
- data/vendor/local/include/msgpack/v1/adaptor/detail/cpp03_define_map.hpp +32 -16
- data/vendor/local/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp +32 -32
- data/vendor/local/include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp +45 -0
- data/vendor/local/include/msgpack/v1/adaptor/detail/cpp11_define_array.hpp +4 -3
- data/vendor/local/include/msgpack/v1/adaptor/detail/cpp11_define_map.hpp +4 -2
- data/vendor/local/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp +2 -2
- data/vendor/local/include/msgpack/v1/adaptor/ext.hpp +1 -1
- data/vendor/local/include/msgpack/v1/adaptor/fixint.hpp +40 -24
- data/vendor/local/include/msgpack/v1/adaptor/float.hpp +4 -4
- data/vendor/local/include/msgpack/v1/adaptor/int.hpp +55 -33
- data/vendor/local/include/msgpack/v1/adaptor/list.hpp +1 -1
- data/vendor/local/include/msgpack/v1/adaptor/map.hpp +10 -10
- data/vendor/local/include/msgpack/v1/adaptor/pair.hpp +2 -2
- data/vendor/local/include/msgpack/v1/adaptor/set.hpp +2 -2
- data/vendor/local/include/msgpack/v1/adaptor/string.hpp +1 -1
- data/vendor/local/include/msgpack/v1/adaptor/tr1/unordered_map.hpp +2 -2
- data/vendor/local/include/msgpack/v1/adaptor/tr1/unordered_set.hpp +2 -2
- data/vendor/local/include/msgpack/v1/adaptor/vector.hpp +5 -5
- data/vendor/local/include/msgpack/v1/adaptor/vector_bool.hpp +1 -1
- data/vendor/local/include/msgpack/v1/adaptor/vector_char.hpp +9 -9
- data/vendor/local/include/msgpack/v1/adaptor/vector_unsigned_char.hpp +9 -9
- data/vendor/local/include/msgpack/v1/cpp_config.hpp +6 -0
- data/vendor/local/include/msgpack/v1/cpp_config_decl.hpp +6 -0
- data/vendor/local/include/msgpack/v1/detail/cpp03_zone.hpp +41 -34
- data/vendor/local/include/msgpack/v1/detail/cpp03_zone_decl.hpp +8 -0
- data/vendor/local/include/msgpack/v1/detail/cpp11_zone.hpp +25 -19
- data/vendor/local/include/msgpack/v1/detail/cpp11_zone_decl.hpp +8 -0
- data/vendor/local/include/msgpack/v1/meta.hpp +6 -0
- data/vendor/local/include/msgpack/v1/meta_decl.hpp +5 -0
- data/vendor/local/include/msgpack/v1/object.hpp +768 -393
- data/vendor/local/include/msgpack/v1/object_decl.hpp +11 -1
- data/vendor/local/include/msgpack/v1/object_fwd.hpp +4 -1
- data/vendor/local/include/msgpack/v1/object_fwd_decl.hpp +3 -1
- data/vendor/local/include/msgpack/v1/parse_return.hpp +36 -0
- data/vendor/local/include/msgpack/v1/unpack.hpp +39 -120
- data/vendor/local/include/msgpack/v1/unpack_decl.hpp +2 -9
- data/vendor/local/include/msgpack/v1/unpack_exception.hpp +122 -0
- data/vendor/local/include/msgpack/v1/vrefbuffer.hpp +2 -2
- data/vendor/local/include/msgpack/v2/create_object_visitor.hpp +250 -0
- data/vendor/local/include/msgpack/v2/create_object_visitor_decl.hpp +33 -0
- data/vendor/local/include/msgpack/v2/meta_decl.hpp +4 -0
- data/vendor/local/include/msgpack/v2/null_visitor.hpp +96 -0
- data/vendor/local/include/msgpack/v2/null_visitor_decl.hpp +29 -0
- data/vendor/local/include/msgpack/v2/object_decl.hpp +4 -0
- data/vendor/local/include/msgpack/v2/object_fwd.hpp +1 -1
- data/vendor/local/include/msgpack/v2/object_fwd_decl.hpp +2 -0
- data/vendor/local/include/msgpack/v2/pack_decl.hpp +1 -0
- data/vendor/local/include/msgpack/v2/parse.hpp +1072 -0
- data/vendor/local/include/msgpack/v2/parse_decl.hpp +79 -0
- data/vendor/local/include/msgpack/v2/parse_return.hpp +37 -0
- data/vendor/local/include/msgpack/v2/unpack.hpp +21 -1298
- data/vendor/local/include/msgpack/v2/unpack_decl.hpp +9 -45
- data/vendor/local/include/msgpack/v2/x3_parse.hpp +875 -0
- data/vendor/local/include/msgpack/v2/x3_parse_decl.hpp +36 -0
- data/vendor/local/include/msgpack/v2/x3_unpack.hpp +120 -0
- data/vendor/local/include/msgpack/v2/x3_unpack_decl.hpp +71 -0
- data/vendor/local/include/msgpack/v3/adaptor/adaptor_base.hpp +58 -0
- data/vendor/local/include/msgpack/v3/adaptor/adaptor_base_decl.hpp +52 -0
- data/vendor/local/include/msgpack/v3/adaptor/array_ref_decl.hpp +36 -0
- data/vendor/local/include/msgpack/v3/adaptor/boost/msgpack_variant_decl.hpp +42 -0
- data/vendor/local/include/msgpack/v3/adaptor/check_container_size_decl.hpp +39 -0
- data/vendor/local/include/msgpack/v3/adaptor/define_decl.hpp +23 -0
- data/vendor/local/include/msgpack/v3/adaptor/detail/cpp03_define_array_decl.hpp +31 -0
- data/vendor/local/include/msgpack/v3/adaptor/detail/cpp03_define_map_decl.hpp +31 -0
- data/vendor/local/include/msgpack/v3/adaptor/detail/cpp03_msgpack_tuple_decl.hpp +43 -0
- data/vendor/local/include/msgpack/v3/adaptor/detail/cpp11_define_array_decl.hpp +32 -0
- data/vendor/local/include/msgpack/v3/adaptor/detail/cpp11_define_map_decl.hpp +31 -0
- data/vendor/local/include/msgpack/v3/adaptor/detail/cpp11_msgpack_tuple_decl.hpp +59 -0
- data/vendor/local/include/msgpack/v3/adaptor/ext_decl.hpp +34 -0
- data/vendor/local/include/msgpack/v3/adaptor/fixint_decl.hpp +43 -0
- data/vendor/local/include/msgpack/v3/adaptor/int_decl.hpp +54 -0
- data/vendor/local/include/msgpack/v3/adaptor/map_decl.hpp +33 -0
- data/vendor/local/include/msgpack/v3/adaptor/msgpack_tuple_decl.hpp +21 -0
- data/vendor/local/include/msgpack/v3/adaptor/nil_decl.hpp +42 -0
- data/vendor/local/include/msgpack/v3/adaptor/raw_decl.hpp +33 -0
- data/vendor/local/include/msgpack/v3/adaptor/size_equal_only_decl.hpp +35 -0
- data/vendor/local/include/msgpack/v3/adaptor/v4raw_decl.hpp +34 -0
- data/vendor/local/include/msgpack/v3/cpp_config_decl.hpp +84 -0
- data/vendor/local/include/msgpack/v3/create_object_visitor_decl.hpp +33 -0
- data/vendor/local/include/msgpack/v3/detail/cpp03_zone_decl.hpp +31 -0
- data/vendor/local/include/msgpack/v3/detail/cpp11_zone_decl.hpp +31 -0
- data/vendor/local/include/msgpack/v3/fbuffer_decl.hpp +32 -0
- data/vendor/local/include/msgpack/v3/iterator_decl.hpp +33 -0
- data/vendor/local/include/msgpack/v3/meta_decl.hpp +50 -0
- data/vendor/local/include/msgpack/v3/null_visitor_decl.hpp +29 -0
- data/vendor/local/include/msgpack/v3/object_decl.hpp +53 -0
- data/vendor/local/include/msgpack/v3/object_fwd.hpp +70 -0
- data/vendor/local/include/msgpack/v3/object_fwd_decl.hpp +75 -0
- data/vendor/local/include/msgpack/v3/pack_decl.hpp +55 -0
- data/vendor/local/include/msgpack/v3/parse.hpp +677 -0
- data/vendor/local/include/msgpack/v3/parse_decl.hpp +49 -0
- data/vendor/local/include/msgpack/v3/parse_return.hpp +35 -0
- data/vendor/local/include/msgpack/v3/sbuffer_decl.hpp +33 -0
- data/vendor/local/include/msgpack/v3/unpack.hpp +192 -0
- data/vendor/local/include/msgpack/v3/unpack_decl.hpp +304 -0
- data/vendor/local/include/msgpack/v3/vrefbuffer_decl.hpp +29 -0
- data/vendor/local/include/msgpack/v3/x3_parse_decl.hpp +34 -0
- data/vendor/local/include/msgpack/v3/x3_unpack.hpp +97 -0
- data/vendor/local/include/msgpack/v3/x3_unpack_decl.hpp +65 -0
- data/vendor/local/include/msgpack/v3/zbuffer_decl.hpp +29 -0
- data/vendor/local/include/msgpack/v3/zone_decl.hpp +21 -0
- data/vendor/local/include/msgpack/version_master.h +2 -2
- data/vendor/local/include/msgpack/versioning.hpp +5 -3
- data/vendor/local/include/msgpack/vrefbuffer.h +1 -2
- data/vendor/local/include/msgpack/vrefbuffer_decl.hpp +1 -0
- data/vendor/local/include/msgpack/x3_parse.hpp +15 -0
- data/vendor/local/include/msgpack/x3_parse_decl.hpp +16 -0
- data/vendor/local/include/msgpack/x3_unpack.hpp +16 -0
- data/vendor/local/include/msgpack/x3_unpack_decl.hpp +16 -0
- data/vendor/local/include/msgpack/zbuffer_decl.hpp +1 -0
- data/vendor/local/include/msgpack/zone_decl.hpp +1 -0
- data/vendor/local/include/pcre.h +6 -6
- data/vendor/local/lib/cmake/msgpack/msgpack-config-version.cmake +46 -0
- data/vendor/local/lib/cmake/msgpack/msgpack-config.cmake +47 -0
- data/vendor/local/lib/cmake/msgpack/msgpack-targets-noconfig.cmake +29 -0
- data/vendor/local/lib/cmake/msgpack/msgpack-targets.cmake +101 -0
- data/vendor/local/lib/groonga/plugins/functions/index_column.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/index_column.dll +0 -0
- data/vendor/local/lib/groonga/plugins/functions/index_column.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/index_column.la +1 -1
- data/vendor/local/lib/groonga/plugins/functions/math.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/math.dll +0 -0
- data/vendor/local/lib/groonga/plugins/functions/math.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/math.la +1 -1
- data/vendor/local/lib/groonga/plugins/functions/number.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/number.dll +0 -0
- data/vendor/local/lib/groonga/plugins/functions/number.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/number.la +1 -1
- data/vendor/local/lib/groonga/plugins/functions/string.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/string.dll +0 -0
- data/vendor/local/lib/groonga/plugins/functions/string.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/string.la +1 -1
- data/vendor/local/lib/groonga/plugins/functions/time.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/time.dll +0 -0
- data/vendor/local/lib/groonga/plugins/functions/time.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/time.la +1 -1
- data/vendor/local/lib/groonga/plugins/functions/vector.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/vector.dll +0 -0
- data/vendor/local/lib/groonga/plugins/functions/vector.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/vector.la +1 -1
- data/vendor/local/lib/groonga/plugins/normalizers/mysql.a +0 -0
- data/vendor/local/lib/groonga/plugins/normalizers/mysql.dll +0 -0
- data/vendor/local/lib/groonga/plugins/normalizers/mysql.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/normalizers/mysql.la +2 -2
- data/vendor/local/lib/groonga/plugins/query_expanders/tsv.a +0 -0
- data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll +0 -0
- data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/query_expanders/tsv.la +1 -1
- data/vendor/local/lib/groonga/plugins/sharding/dynamic_columns.rb +150 -19
- data/vendor/local/lib/groonga/plugins/sharding/logical_count.rb +123 -65
- data/vendor/local/lib/groonga/plugins/sharding/logical_range_filter.rb +528 -113
- data/vendor/local/lib/groonga/plugins/sharding/logical_select.rb +142 -40
- data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
- data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
- data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/suggest/suggest.la +1 -1
- data/vendor/local/lib/groonga/plugins/token_filters/stop_word.a +0 -0
- data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll +0 -0
- data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/token_filters/stop_word.la +1 -1
- data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
- data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
- data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +1 -1
- data/vendor/local/lib/groonga/scripts/ruby/backtrace_entry.rb +1 -1
- data/vendor/local/lib/groonga/scripts/ruby/command_line/grndb.rb +64 -35
- data/vendor/local/lib/groonga/scripts/ruby/expression.rb +3 -1
- data/vendor/local/lib/groonga/scripts/ruby/expression_rewriters.rb +15 -21
- data/vendor/local/lib/groonga/scripts/ruby/expression_rewriters/optimizer.rb +274 -0
- data/vendor/local/lib/groonga/scripts/ruby/expression_tree.rb +8 -2
- data/vendor/local/lib/groonga/scripts/ruby/expression_tree/assign.rb +22 -0
- data/vendor/local/lib/groonga/scripts/ruby/expression_tree/assign_binary_operation.rb +24 -0
- data/vendor/local/lib/groonga/scripts/ruby/expression_tree/binary_operation.rb +206 -8
- data/vendor/local/lib/groonga/scripts/ruby/expression_tree/constant.rb +16 -1
- data/vendor/local/lib/groonga/scripts/ruby/expression_tree/function_call.rb +30 -1
- data/vendor/local/lib/groonga/scripts/ruby/expression_tree/logical_operation.rb +6 -0
- data/vendor/local/lib/groonga/scripts/ruby/expression_tree/member.rb +18 -0
- data/vendor/local/lib/groonga/scripts/ruby/expression_tree/null.rb +17 -0
- data/vendor/local/lib/groonga/scripts/ruby/expression_tree/reference.rb +18 -0
- data/vendor/local/lib/groonga/scripts/ruby/expression_tree/table.rb +14 -0
- data/vendor/local/lib/groonga/scripts/ruby/expression_tree/unary_operation.rb +26 -0
- data/vendor/local/lib/groonga/scripts/ruby/expression_tree/variable.rb +4 -0
- data/vendor/local/lib/groonga/scripts/ruby/expression_tree_builder.rb +78 -8
- data/vendor/local/lib/groonga/scripts/ruby/index_column.rb +10 -0
- data/vendor/local/lib/groonga/scripts/ruby/initialize/post.rb +2 -0
- data/vendor/local/lib/groonga/scripts/ruby/locale_output.rb +28 -0
- data/vendor/local/lib/groonga/scripts/ruby/logger.rb +36 -4
- data/vendor/local/lib/groonga/scripts/ruby/record.rb +1 -1
- data/vendor/local/lib/groonga/scripts/ruby/scan_info_builder.rb +0 -3
- data/vendor/local/lib/groonga/scripts/ruby/scan_info_data.rb +46 -5
- data/vendor/local/lib/groonga/scripts/ruby/scan_info_data_size_estimator.rb +5 -136
- data/vendor/local/lib/groonga/scripts/ruby/table.rb +2 -2
- data/vendor/local/lib/libgroonga.a +0 -0
- data/vendor/local/lib/libgroonga.dll.a +0 -0
- data/vendor/local/lib/libgroonga.la +1 -1
- data/vendor/local/lib/liblz4.a +0 -0
- data/vendor/local/lib/liblz4.dll +0 -0
- data/vendor/local/lib/liblz4.dll.1 +0 -0
- data/vendor/local/lib/{liblz4.dll.1.5.0 → liblz4.dll.1.8.2} +0 -0
- data/vendor/local/lib/libmecab.dll.a +0 -0
- data/vendor/local/lib/libmsgpackc.a +0 -0
- data/vendor/local/lib/libmsgpackc.dll.a +0 -0
- data/vendor/local/lib/libonigmo.a +0 -0
- data/vendor/local/lib/libonigmo.dll.a +0 -0
- data/vendor/local/lib/libpcre.a +0 -0
- data/vendor/local/lib/libpcre.dll.a +0 -0
- data/vendor/local/lib/libpcre.la +2 -2
- data/vendor/local/lib/libpcrecpp.dll.a +0 -0
- data/vendor/local/lib/libpcrecpp.la +1 -1
- data/vendor/local/lib/libpcreposix.a +0 -0
- data/vendor/local/lib/libpcreposix.dll.a +0 -0
- data/vendor/local/lib/libpcreposix.la +2 -2
- data/vendor/local/lib/libz.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/groonga-normalizer-mysql.pc +1 -1
- data/vendor/local/lib/pkgconfig/groonga.pc +2 -2
- data/vendor/local/lib/pkgconfig/liblz4.pc +3 -3
- data/vendor/local/lib/pkgconfig/libpcre.pc +1 -1
- data/vendor/local/lib/pkgconfig/libpcrecpp.pc +1 -1
- data/vendor/local/lib/pkgconfig/libpcreposix.pc +1 -1
- data/vendor/local/lib/pkgconfig/msgpack.pc +1 -1
- data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
- data/vendor/local/share/doc/groonga-normalizer-mysql/README.md +14 -22
- data/vendor/local/share/doc/groonga-normalizer-mysql/news.md +22 -2
- data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
- data/vendor/local/share/doc/groonga/en/html/_static/basic.css +113 -4
- data/vendor/local/share/doc/groonga/en/html/_static/doctools.js +46 -19
- data/vendor/local/share/doc/groonga/en/html/_static/documentation_options.js +10 -0
- data/vendor/local/share/doc/groonga/en/html/_static/{jquery-3.1.0.js → jquery-3.2.1.js} +474 -295
- data/vendor/local/share/doc/groonga/en/html/_static/jquery.js +4 -4
- data/vendor/local/share/doc/groonga/en/html/_static/language_data.js +297 -0
- data/vendor/local/share/doc/groonga/en/html/_static/pygments.css +4 -0
- data/vendor/local/share/doc/groonga/en/html/_static/searchtools.js +69 -322
- data/vendor/local/share/doc/groonga/en/html/characteristic.html +16 -24
- data/vendor/local/share/doc/groonga/en/html/client.html +15 -23
- data/vendor/local/share/doc/groonga/en/html/community.html +30 -38
- data/vendor/local/share/doc/groonga/en/html/contribution.html +23 -31
- data/vendor/local/share/doc/groonga/en/html/contribution/development.html +15 -23
- data/vendor/local/share/doc/groonga/en/html/contribution/development/build.html +15 -23
- data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_autotools.html +58 -66
- data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_cmake.html +51 -56
- data/vendor/local/share/doc/groonga/en/html/contribution/development/build/windows_cmake.html +52 -56
- data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +27 -35
- data/vendor/local/share/doc/groonga/en/html/contribution/development/cooperation.html +19 -27
- data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +26 -34
- data/vendor/local/share/doc/groonga/en/html/contribution/development/release.html +167 -167
- data/vendor/local/share/doc/groonga/en/html/contribution/development/repository.html +16 -24
- data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +28 -36
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +15 -23
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +15 -23
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +59 -67
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/introduction.html +31 -39
- data/vendor/local/share/doc/groonga/en/html/contribution/report.html +18 -26
- data/vendor/local/share/doc/groonga/en/html/development.html +15 -23
- data/vendor/local/share/doc/groonga/en/html/development/travis-ci.html +38 -43
- data/vendor/local/share/doc/groonga/en/html/genindex.html +50 -28
- data/vendor/local/share/doc/groonga/en/html/index.html +248 -234
- data/vendor/local/share/doc/groonga/en/html/install.html +43 -47
- data/vendor/local/share/doc/groonga/en/html/install/centos.html +43 -51
- data/vendor/local/share/doc/groonga/en/html/install/debian.html +52 -131
- data/vendor/local/share/doc/groonga/en/html/install/docker.html +155 -0
- data/vendor/local/share/doc/groonga/en/html/install/fedora.html +41 -49
- data/vendor/local/share/doc/groonga/en/html/install/mac_os_x.html +29 -37
- data/vendor/local/share/doc/groonga/en/html/install/others.html +142 -150
- data/vendor/local/share/doc/groonga/en/html/install/solaris.html +30 -38
- data/vendor/local/share/doc/groonga/en/html/install/ubuntu.html +43 -51
- data/vendor/local/share/doc/groonga/en/html/install/windows.html +33 -41
- data/vendor/local/share/doc/groonga/en/html/limitations.html +36 -42
- data/vendor/local/share/doc/groonga/en/html/news.html +1586 -598
- data/vendor/local/share/doc/groonga/en/html/news/0.x.html +83 -83
- data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +147 -155
- data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +26 -34
- data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +225 -233
- data/vendor/local/share/doc/groonga/en/html/news/1.3.x.html +48 -56
- data/vendor/local/share/doc/groonga/en/html/news/2.x.html +378 -386
- data/vendor/local/share/doc/groonga/en/html/news/3.x.html +320 -328
- data/vendor/local/share/doc/groonga/en/html/news/4.x.html +442 -448
- data/vendor/local/share/doc/groonga/en/html/news/5.x.html +742 -860
- data/vendor/local/share/doc/groonga/en/html/news/6.x.html +544 -621
- data/vendor/local/share/doc/groonga/en/html/news/senna.html +32 -40
- data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
- data/vendor/local/share/doc/groonga/en/html/reference.html +208 -198
- data/vendor/local/share/doc/groonga/en/html/reference/alias.html +85 -93
- data/vendor/local/share/doc/groonga/en/html/reference/api.html +50 -57
- data/vendor/local/share/doc/groonga/en/html/reference/api/global_configurations.html +62 -77
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_cache.html +117 -149
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_column.html +140 -176
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_command_version.html +43 -55
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_content_type.html +48 -56
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ctx.html +194 -254
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_db.html +106 -138
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_encoding.html +62 -82
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_expr.html +117 -137
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_geo.html +74 -98
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_hook.html +79 -103
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ii.html +40 -48
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_index_cursor.html +57 -73
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_info.html +75 -99
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_inspect.html +495 -0
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_match_escalation.html +52 -68
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_obj.html +291 -357
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_proc.html +69 -89
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_search.html +47 -59
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table.html +226 -306
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table_cursor.html +120 -160
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_thread.html +80 -103
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_type.html +46 -58
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_user_data.html +40 -52
- data/vendor/local/share/doc/groonga/en/html/reference/api/overview.html +52 -66
- data/vendor/local/share/doc/groonga/en/html/reference/api/plugin.html +98 -122
- data/vendor/local/share/doc/groonga/en/html/reference/cast.html +40 -26
- data/vendor/local/share/doc/groonga/en/html/reference/column.html +16 -24
- data/vendor/local/share/doc/groonga/en/html/reference/columns/index.html +16 -24
- data/vendor/local/share/doc/groonga/en/html/reference/columns/pseudo.html +30 -34
- data/vendor/local/share/doc/groonga/en/html/reference/columns/scalar.html +16 -24
- data/vendor/local/share/doc/groonga/en/html/reference/columns/vector.html +92 -100
- data/vendor/local/share/doc/groonga/en/html/reference/command.html +76 -84
- data/vendor/local/share/doc/groonga/en/html/reference/command/command_version.html +26 -34
- data/vendor/local/share/doc/groonga/en/html/reference/command/output_format.html +64 -72
- data/vendor/local/share/doc/groonga/en/html/reference/command/pretty_print.html +21 -29
- data/vendor/local/share/doc/groonga/en/html/reference/command/request_id.html +25 -33
- data/vendor/local/share/doc/groonga/en/html/reference/command/request_timeout.html +32 -40
- data/vendor/local/share/doc/groonga/en/html/reference/command/return_code.html +105 -113
- data/vendor/local/share/doc/groonga/en/html/reference/commands/cache_limit.html +44 -50
- data/vendor/local/share/doc/groonga/en/html/reference/commands/check.html +85 -73
- data/vendor/local/share/doc/groonga/en/html/reference/commands/clearlock.html +31 -37
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_copy.html +131 -139
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_create.html +370 -326
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_list.html +115 -117
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_remove.html +38 -44
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_rename.html +47 -53
- data/vendor/local/share/doc/groonga/en/html/reference/commands/config_delete.html +40 -48
- data/vendor/local/share/doc/groonga/en/html/reference/commands/config_get.html +42 -50
- data/vendor/local/share/doc/groonga/en/html/reference/commands/config_set.html +41 -49
- data/vendor/local/share/doc/groonga/en/html/reference/commands/database_unmap.html +37 -45
- data/vendor/local/share/doc/groonga/en/html/reference/commands/define_selector.html +71 -63
- data/vendor/local/share/doc/groonga/en/html/reference/commands/defrag.html +31 -37
- data/vendor/local/share/doc/groonga/en/html/reference/commands/delete.html +49 -51
- data/vendor/local/share/doc/groonga/en/html/reference/commands/dump.html +64 -71
- data/vendor/local/share/doc/groonga/en/html/reference/commands/io_flush.html +335 -138
- data/vendor/local/share/doc/groonga/en/html/reference/commands/load.html +233 -87
- data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_acquire.html +45 -53
- data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_clear.html +42 -48
- data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_release.html +43 -51
- data/vendor/local/share/doc/groonga/en/html/reference/commands/log_level.html +58 -64
- data/vendor/local/share/doc/groonga/en/html/reference/commands/log_put.html +33 -38
- data/vendor/local/share/doc/groonga/en/html/reference/commands/log_reopen.html +31 -38
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_count.html +295 -218
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_parameters.html +56 -64
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_range_filter.html +532 -214
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_select.html +797 -388
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_shard_list.html +35 -43
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_table_remove.html +188 -196
- data/vendor/local/share/doc/groonga/en/html/reference/commands/normalize.html +83 -90
- data/vendor/local/share/doc/groonga/en/html/reference/commands/normalizer_list.html +41 -48
- data/vendor/local/share/doc/groonga/en/html/reference/commands/object_exist.html +41 -49
- data/vendor/local/share/doc/groonga/en/html/reference/commands/object_inspect.html +401 -403
- data/vendor/local/share/doc/groonga/en/html/reference/commands/object_list.html +253 -261
- data/vendor/local/share/doc/groonga/en/html/reference/commands/object_remove.html +60 -68
- data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_register.html +36 -44
- data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_unregister.html +35 -43
- data/vendor/local/share/doc/groonga/en/html/reference/commands/query_expand.html +21 -29
- data/vendor/local/share/doc/groonga/en/html/reference/commands/quit.html +22 -30
- data/vendor/local/share/doc/groonga/en/html/reference/commands/range_filter.html +21 -29
- data/vendor/local/share/doc/groonga/en/html/reference/commands/register.html +39 -47
- data/vendor/local/share/doc/groonga/en/html/reference/commands/reindex.html +47 -53
- data/vendor/local/share/doc/groonga/en/html/reference/commands/request_cancel.html +72 -74
- data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_eval.html +38 -45
- data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_load.html +38 -45
- data/vendor/local/share/doc/groonga/en/html/reference/commands/schema.html +330 -338
- data/vendor/local/share/doc/groonga/en/html/reference/commands/select.html +1545 -1194
- data/vendor/local/share/doc/groonga/en/html/reference/commands/shutdown.html +57 -65
- data/vendor/local/share/doc/groonga/en/html/reference/commands/status.html +83 -91
- data/vendor/local/share/doc/groonga/en/html/reference/commands/suggest.html +119 -133
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_copy.html +30 -38
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_create.html +165 -174
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_list.html +50 -50
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_remove.html +104 -112
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_rename.html +42 -50
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_tokenize.html +49 -57
- data/vendor/local/share/doc/groonga/en/html/reference/commands/thread_limit.html +46 -54
- data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenize.html +110 -117
- data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenizer_list.html +41 -48
- data/vendor/local/share/doc/groonga/en/html/reference/commands/truncate.html +40 -46
- data/vendor/local/share/doc/groonga/en/html/reference/configuration.html +37 -45
- data/vendor/local/share/doc/groonga/en/html/reference/executables.html +19 -27
- data/vendor/local/share/doc/groonga/en/html/reference/executables/grndb.html +134 -114
- data/vendor/local/share/doc/groonga/en/html/reference/executables/grnslap.html +25 -31
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-benchmark.html +66 -66
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-httpd.html +174 -182
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-server-http.html +25 -33
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-create-dataset.html +27 -35
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-httpd.html +191 -199
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-learner.html +32 -40
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga.html +189 -163
- data/vendor/local/share/doc/groonga/en/html/reference/function.html +59 -64
- data/vendor/local/share/doc/groonga/en/html/reference/functions/between.html +71 -79
- data/vendor/local/share/doc/groonga/en/html/reference/functions/cast_loose.html +210 -0
- data/vendor/local/share/doc/groonga/en/html/reference/functions/edit_distance.html +49 -55
- data/vendor/local/share/doc/groonga/en/html/reference/functions/fuzzy_search.html +38 -46
- data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_distance.html +133 -142
- data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_circle.html +67 -73
- data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_rectangle.html +56 -62
- data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_full.html +80 -88
- data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_html.html +70 -78
- data/vendor/local/share/doc/groonga/en/html/reference/functions/html_untag.html +56 -64
- data/vendor/local/share/doc/groonga/en/html/reference/functions/in_records.html +87 -94
- data/vendor/local/share/doc/groonga/en/html/reference/functions/in_values.html +54 -62
- data/vendor/local/share/doc/groonga/en/html/reference/functions/math_abs.html +55 -63
- data/vendor/local/share/doc/groonga/en/html/reference/functions/now.html +40 -48
- data/vendor/local/share/doc/groonga/en/html/reference/functions/number_classify.html +36 -44
- data/vendor/local/share/doc/groonga/en/html/reference/functions/prefix_rk_search.html +74 -82
- data/vendor/local/share/doc/groonga/en/html/reference/functions/query.html +152 -160
- data/vendor/local/share/doc/groonga/en/html/reference/functions/rand.html +45 -52
- data/vendor/local/share/doc/groonga/en/html/reference/functions/snippet_html.html +76 -84
- data/vendor/local/share/doc/groonga/en/html/reference/functions/string_length.html +37 -45
- data/vendor/local/share/doc/groonga/en/html/reference/functions/string_substring.html +39 -47
- data/vendor/local/share/doc/groonga/en/html/reference/functions/sub_filter.html +76 -84
- data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_day.html +37 -45
- data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_day_of_week.html +278 -0
- data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_hour.html +37 -45
- data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_minute.html +36 -44
- data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_month.html +36 -44
- data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_second.html +36 -44
- data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_week.html +36 -44
- data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_year.html +37 -45
- data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_find.html +368 -0
- data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_new.html +40 -48
- data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_size.html +54 -62
- data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_slice.html +40 -47
- data/vendor/local/share/doc/groonga/en/html/reference/grn_expr.html +44 -52
- data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/query_syntax.html +307 -316
- data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/script_syntax.html +486 -492
- data/vendor/local/share/doc/groonga/en/html/reference/indexing.html +44 -52
- data/vendor/local/share/doc/groonga/en/html/reference/log.html +128 -147
- data/vendor/local/share/doc/groonga/en/html/reference/normalizers.html +43 -92
- data/vendor/local/share/doc/groonga/en/html/reference/normalizers/normalizer_auto.html +179 -0
- data/vendor/local/share/doc/groonga/en/html/reference/normalizers/normalizer_nfkc100.html +897 -0
- data/vendor/local/share/doc/groonga/en/html/reference/normalizers/normalizer_nfkc51.html +162 -0
- data/vendor/local/share/doc/groonga/en/html/reference/operations.html +26 -34
- data/vendor/local/share/doc/groonga/en/html/reference/operations/geolocation_search.html +48 -56
- data/vendor/local/share/doc/groonga/en/html/reference/operations/prefix_rk_search.html +47 -55
- data/vendor/local/share/doc/groonga/en/html/reference/output.html +47 -55
- data/vendor/local/share/doc/groonga/en/html/reference/query_expanders.html +20 -28
- data/vendor/local/share/doc/groonga/en/html/reference/query_expanders/tsv.html +93 -101
- data/vendor/local/share/doc/groonga/en/html/reference/regular_expression.html +228 -225
- data/vendor/local/share/doc/groonga/en/html/reference/scorer.html +59 -67
- data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_at_most.html +50 -58
- data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_idf.html +57 -65
- data/vendor/local/share/doc/groonga/en/html/reference/sharding.html +76 -86
- data/vendor/local/share/doc/groonga/en/html/reference/suggest.html +43 -51
- data/vendor/local/share/doc/groonga/en/html/reference/suggest/completion.html +159 -167
- data/vendor/local/share/doc/groonga/en/html/reference/suggest/correction.html +93 -101
- data/vendor/local/share/doc/groonga/en/html/reference/suggest/introduction.html +85 -93
- data/vendor/local/share/doc/groonga/en/html/reference/suggest/suggestion.html +88 -96
- data/vendor/local/share/doc/groonga/en/html/reference/tables.html +142 -150
- data/vendor/local/share/doc/groonga/en/html/reference/token_filter/summary.html +147 -0
- data/vendor/local/share/doc/groonga/en/html/reference/token_filters.html +31 -223
- data/vendor/local/share/doc/groonga/en/html/reference/token_filters/token_filter_nfkc100.html +626 -0
- data/vendor/local/share/doc/groonga/en/html/reference/token_filters/token_filter_stem.html +291 -0
- data/vendor/local/share/doc/groonga/en/html/reference/token_filters/token_filter_stop_word.html +287 -0
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizer/summary.html +259 -0
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers.html +42 -1455
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram.html +368 -0
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_ignore_blank.html +221 -0
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol.html +240 -0
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol_alpha.html +270 -0
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol_alpha_digit.html +292 -0
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_split_symbol.html +179 -0
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_split_symbol_alpha.html +200 -0
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_split_symbol_alpha_digit.html +212 -0
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_delimit.html +357 -0
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_delimit_null.html +162 -0
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_mecab.html +783 -0
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_regexp.html +289 -0
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_trigram.html +194 -0
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_unigram.html +194 -0
- data/vendor/local/share/doc/groonga/en/html/reference/tuning.html +71 -79
- data/vendor/local/share/doc/groonga/en/html/reference/types.html +64 -72
- data/vendor/local/share/doc/groonga/en/html/reference/window_function.html +29 -37
- data/vendor/local/share/doc/groonga/en/html/reference/window_functions/record_number.html +38 -46
- data/vendor/local/share/doc/groonga/en/html/reference/window_functions/window_count.html +38 -46
- data/vendor/local/share/doc/groonga/en/html/reference/window_functions/window_record_number.html +38 -46
- data/vendor/local/share/doc/groonga/en/html/reference/window_functions/window_sum.html +38 -46
- data/vendor/local/share/doc/groonga/en/html/search.html +13 -24
- data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
- data/vendor/local/share/doc/groonga/en/html/server.html +15 -23
- data/vendor/local/share/doc/groonga/en/html/server/gqtp.html +27 -35
- data/vendor/local/share/doc/groonga/en/html/server/http.html +18 -26
- data/vendor/local/share/doc/groonga/en/html/server/http/comparison.html +94 -102
- data/vendor/local/share/doc/groonga/en/html/server/http/groonga-httpd.html +15 -23
- data/vendor/local/share/doc/groonga/en/html/server/http/groonga.html +15 -23
- data/vendor/local/share/doc/groonga/en/html/server/memcached.html +18 -26
- data/vendor/local/share/doc/groonga/en/html/server/package.html +101 -109
- data/vendor/local/share/doc/groonga/en/html/spec.html +19 -27
- data/vendor/local/share/doc/groonga/en/html/spec/gqtp.html +207 -215
- data/vendor/local/share/doc/groonga/en/html/spec/search.html +39 -39
- data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +15 -23
- data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +46 -50
- data/vendor/local/share/doc/groonga/en/html/troubleshooting/how_to_analyze_error_message.html +27 -35
- data/vendor/local/share/doc/groonga/en/html/troubleshooting/mmap_cannot_allocate_memory.html +26 -31
- data/vendor/local/share/doc/groonga/en/html/tutorial.html +17 -25
- data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +46 -54
- data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +63 -71
- data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +30 -38
- data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +88 -97
- data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +19 -27
- data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +61 -69
- data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +108 -116
- data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +24 -32
- data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +19 -27
- data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +32 -40
- data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +52 -60
- data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
- data/vendor/local/share/doc/groonga/ja/html/_static/basic.css +113 -4
- data/vendor/local/share/doc/groonga/ja/html/_static/doctools.js +46 -19
- data/vendor/local/share/doc/groonga/ja/html/_static/documentation_options.js +10 -0
- data/vendor/local/share/doc/groonga/ja/html/_static/{jquery-3.1.0.js → jquery-3.2.1.js} +474 -295
- data/vendor/local/share/doc/groonga/ja/html/_static/jquery.js +4 -4
- data/vendor/local/share/doc/groonga/ja/html/_static/language_data.js +124 -0
- data/vendor/local/share/doc/groonga/ja/html/_static/pygments.css +4 -0
- data/vendor/local/share/doc/groonga/ja/html/_static/searchtools.js +70 -150
- data/vendor/local/share/doc/groonga/ja/html/characteristic.html +15 -23
- data/vendor/local/share/doc/groonga/ja/html/client.html +15 -23
- data/vendor/local/share/doc/groonga/ja/html/community.html +29 -37
- data/vendor/local/share/doc/groonga/ja/html/contribution.html +23 -31
- data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +15 -23
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/build.html +15 -23
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_autotools.html +50 -58
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_cmake.html +43 -48
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/windows_cmake.html +47 -51
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +26 -34
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/cooperation.html +18 -26
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +23 -31
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/release.html +162 -162
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/repository.html +16 -24
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +26 -34
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +15 -23
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +15 -23
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +50 -58
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/introduction.html +28 -36
- data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +17 -25
- data/vendor/local/share/doc/groonga/ja/html/development.html +15 -23
- data/vendor/local/share/doc/groonga/ja/html/development/travis-ci.html +32 -37
- data/vendor/local/share/doc/groonga/ja/html/genindex.html +50 -28
- data/vendor/local/share/doc/groonga/ja/html/index.html +247 -233
- data/vendor/local/share/doc/groonga/ja/html/install.html +41 -45
- data/vendor/local/share/doc/groonga/ja/html/install/centos.html +44 -52
- data/vendor/local/share/doc/groonga/ja/html/install/debian.html +52 -121
- data/vendor/local/share/doc/groonga/ja/html/install/docker.html +155 -0
- data/vendor/local/share/doc/groonga/ja/html/install/fedora.html +40 -48
- data/vendor/local/share/doc/groonga/ja/html/install/mac_os_x.html +28 -36
- data/vendor/local/share/doc/groonga/ja/html/install/others.html +116 -124
- data/vendor/local/share/doc/groonga/ja/html/install/solaris.html +28 -36
- data/vendor/local/share/doc/groonga/ja/html/install/ubuntu.html +43 -51
- data/vendor/local/share/doc/groonga/ja/html/install/windows.html +29 -37
- data/vendor/local/share/doc/groonga/ja/html/limitations.html +30 -36
- data/vendor/local/share/doc/groonga/ja/html/news.html +1234 -384
- data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +82 -82
- data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +146 -154
- data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +25 -33
- data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +191 -199
- data/vendor/local/share/doc/groonga/ja/html/news/1.3.x.html +41 -49
- data/vendor/local/share/doc/groonga/ja/html/news/2.x.html +283 -291
- data/vendor/local/share/doc/groonga/ja/html/news/3.x.html +229 -237
- data/vendor/local/share/doc/groonga/ja/html/news/4.x.html +274 -280
- data/vendor/local/share/doc/groonga/ja/html/news/5.x.html +475 -593
- data/vendor/local/share/doc/groonga/ja/html/news/6.x.html +313 -390
- data/vendor/local/share/doc/groonga/ja/html/news/senna.html +31 -39
- data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
- data/vendor/local/share/doc/groonga/ja/html/reference.html +208 -198
- data/vendor/local/share/doc/groonga/ja/html/reference/alias.html +70 -78
- data/vendor/local/share/doc/groonga/ja/html/reference/api.html +50 -57
- data/vendor/local/share/doc/groonga/ja/html/reference/api/global_configurations.html +57 -72
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_cache.html +107 -139
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_column.html +137 -173
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_command_version.html +40 -52
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_content_type.html +46 -54
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ctx.html +184 -244
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_db.html +99 -131
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_encoding.html +57 -77
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_expr.html +100 -120
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_geo.html +71 -95
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_hook.html +75 -99
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ii.html +37 -45
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_index_cursor.html +54 -70
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_info.html +71 -95
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_inspect.html +487 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_match_escalation.html +49 -65
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_obj.html +286 -352
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_proc.html +64 -84
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_search.html +44 -56
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table.html +219 -299
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table_cursor.html +116 -156
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_thread.html +70 -93
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_type.html +42 -54
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_user_data.html +36 -48
- data/vendor/local/share/doc/groonga/ja/html/reference/api/overview.html +48 -62
- data/vendor/local/share/doc/groonga/ja/html/reference/api/plugin.html +94 -118
- data/vendor/local/share/doc/groonga/ja/html/reference/cast.html +39 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/column.html +15 -23
- data/vendor/local/share/doc/groonga/ja/html/reference/columns/index.html +15 -23
- data/vendor/local/share/doc/groonga/ja/html/reference/columns/pseudo.html +28 -32
- data/vendor/local/share/doc/groonga/ja/html/reference/columns/scalar.html +15 -23
- data/vendor/local/share/doc/groonga/ja/html/reference/columns/vector.html +76 -84
- data/vendor/local/share/doc/groonga/ja/html/reference/command.html +76 -84
- data/vendor/local/share/doc/groonga/ja/html/reference/command/command_version.html +25 -33
- data/vendor/local/share/doc/groonga/ja/html/reference/command/output_format.html +51 -59
- data/vendor/local/share/doc/groonga/ja/html/reference/command/pretty_print.html +20 -28
- data/vendor/local/share/doc/groonga/ja/html/reference/command/request_id.html +21 -29
- data/vendor/local/share/doc/groonga/ja/html/reference/command/request_timeout.html +27 -35
- data/vendor/local/share/doc/groonga/ja/html/reference/command/return_code.html +101 -109
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/cache_limit.html +39 -45
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/check.html +84 -72
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/clearlock.html +30 -36
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_copy.html +104 -112
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_create.html +271 -237
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_list.html +100 -102
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_remove.html +37 -43
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_rename.html +41 -47
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_delete.html +38 -46
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_get.html +39 -47
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_set.html +39 -47
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/database_unmap.html +34 -42
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/define_selector.html +70 -62
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/defrag.html +30 -36
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/delete.html +42 -44
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/dump.html +59 -68
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/io_flush.html +300 -126
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/load.html +212 -80
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_acquire.html +42 -50
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_clear.html +40 -46
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_release.html +41 -49
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_level.html +57 -63
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_put.html +32 -37
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_reopen.html +30 -37
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_count.html +246 -178
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_parameters.html +51 -59
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_range_filter.html +479 -175
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_select.html +718 -326
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_shard_list.html +34 -42
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_table_remove.html +145 -153
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalize.html +78 -85
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalizer_list.html +40 -47
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_exist.html +36 -44
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_inspect.html +360 -362
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_list.html +221 -229
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_remove.html +47 -55
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_register.html +32 -40
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_unregister.html +33 -41
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/query_expand.html +20 -28
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/quit.html +21 -29
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/range_filter.html +20 -28
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/register.html +35 -43
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/reindex.html +42 -48
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/request_cancel.html +57 -57
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_eval.html +36 -43
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_load.html +36 -43
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/schema.html +317 -325
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/select.html +1246 -917
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/shutdown.html +50 -58
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/status.html +77 -85
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/suggest.html +109 -123
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_copy.html +29 -37
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_create.html +131 -140
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_list.html +49 -49
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_remove.html +87 -95
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_rename.html +36 -44
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_tokenize.html +44 -52
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/thread_limit.html +38 -46
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenize.html +93 -100
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenizer_list.html +40 -47
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/truncate.html +39 -45
- data/vendor/local/share/doc/groonga/ja/html/reference/configuration.html +36 -44
- data/vendor/local/share/doc/groonga/ja/html/reference/executables.html +19 -27
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/grndb.html +125 -107
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/grnslap.html +23 -29
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-benchmark.html +62 -62
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-httpd.html +132 -140
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-server-http.html +23 -31
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-create-dataset.html +25 -33
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-httpd.html +166 -174
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-learner.html +31 -39
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga.html +189 -165
- data/vendor/local/share/doc/groonga/ja/html/reference/function.html +59 -64
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/between.html +69 -77
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/cast_loose.html +208 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/edit_distance.html +48 -54
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/fuzzy_search.html +37 -45
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_distance.html +115 -124
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_circle.html +66 -72
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_rectangle.html +55 -61
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_full.html +69 -77
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_html.html +60 -68
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/html_untag.html +54 -62
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_records.html +85 -93
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_values.html +54 -62
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/math_abs.html +54 -62
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/now.html +39 -47
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/number_classify.html +35 -43
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/prefix_rk_search.html +67 -75
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/query.html +130 -138
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/rand.html +44 -51
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/snippet_html.html +61 -69
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/string_length.html +36 -44
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/string_substring.html +38 -46
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/sub_filter.html +63 -71
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_day.html +36 -44
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_day_of_week.html +276 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_hour.html +36 -44
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_minute.html +35 -43
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_month.html +35 -43
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_second.html +35 -43
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_week.html +35 -43
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_year.html +36 -44
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_find.html +353 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_new.html +39 -47
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_size.html +52 -61
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_slice.html +38 -46
- data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr.html +38 -46
- data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/query_syntax.html +200 -208
- data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/script_syntax.html +375 -382
- data/vendor/local/share/doc/groonga/ja/html/reference/indexing.html +39 -47
- data/vendor/local/share/doc/groonga/ja/html/reference/log.html +125 -144
- data/vendor/local/share/doc/groonga/ja/html/reference/normalizers.html +36 -70
- data/vendor/local/share/doc/groonga/ja/html/reference/normalizers/normalizer_auto.html +168 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/normalizers/normalizer_nfkc100.html +887 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/normalizers/normalizer_nfkc51.html +160 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/operations.html +26 -34
- data/vendor/local/share/doc/groonga/ja/html/reference/operations/geolocation_search.html +38 -46
- data/vendor/local/share/doc/groonga/ja/html/reference/operations/prefix_rk_search.html +41 -49
- data/vendor/local/share/doc/groonga/ja/html/reference/output.html +42 -50
- data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders.html +20 -28
- data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders/tsv.html +68 -76
- data/vendor/local/share/doc/groonga/ja/html/reference/regular_expression.html +178 -184
- data/vendor/local/share/doc/groonga/ja/html/reference/scorer.html +38 -46
- data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_at_most.html +38 -46
- data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_idf.html +39 -47
- data/vendor/local/share/doc/groonga/ja/html/reference/sharding.html +63 -73
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest.html +43 -51
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest/completion.html +130 -138
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest/correction.html +72 -80
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest/introduction.html +68 -76
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest/suggestion.html +76 -86
- data/vendor/local/share/doc/groonga/ja/html/reference/tables.html +129 -137
- data/vendor/local/share/doc/groonga/ja/html/reference/token_filter/summary.html +145 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/token_filters.html +31 -215
- data/vendor/local/share/doc/groonga/ja/html/reference/token_filters/token_filter_nfkc100.html +617 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/token_filters/token_filter_stem.html +289 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/token_filters/token_filter_stop_word.html +284 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizer/summary.html +233 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers.html +42 -1349
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram.html +344 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_ignore_blank.html +219 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol.html +237 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol_alpha.html +267 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol_alpha_digit.html +287 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_split_symbol.html +179 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_split_symbol_alpha.html +199 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_split_symbol_alpha_digit.html +209 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_delimit.html +344 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_delimit_null.html +160 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_mecab.html +764 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_regexp.html +284 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_trigram.html +191 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_unigram.html +191 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/tuning.html +65 -73
- data/vendor/local/share/doc/groonga/ja/html/reference/types.html +48 -56
- data/vendor/local/share/doc/groonga/ja/html/reference/window_function.html +29 -37
- data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/record_number.html +37 -45
- data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/window_count.html +37 -45
- data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/window_record_number.html +37 -45
- data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/window_sum.html +37 -45
- data/vendor/local/share/doc/groonga/ja/html/search.html +13 -24
- data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
- data/vendor/local/share/doc/groonga/ja/html/server.html +15 -23
- data/vendor/local/share/doc/groonga/ja/html/server/gqtp.html +22 -30
- data/vendor/local/share/doc/groonga/ja/html/server/http.html +17 -25
- data/vendor/local/share/doc/groonga/ja/html/server/http/comparison.html +82 -90
- data/vendor/local/share/doc/groonga/ja/html/server/http/groonga-httpd.html +15 -23
- data/vendor/local/share/doc/groonga/ja/html/server/http/groonga.html +15 -23
- data/vendor/local/share/doc/groonga/ja/html/server/memcached.html +16 -24
- data/vendor/local/share/doc/groonga/ja/html/server/package.html +99 -107
- data/vendor/local/share/doc/groonga/ja/html/spec.html +19 -27
- data/vendor/local/share/doc/groonga/ja/html/spec/gqtp.html +201 -209
- data/vendor/local/share/doc/groonga/ja/html/spec/search.html +36 -36
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +15 -23
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +44 -48
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting/how_to_analyze_error_message.html +21 -29
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting/mmap_cannot_allocate_memory.html +24 -29
- data/vendor/local/share/doc/groonga/ja/html/tutorial.html +16 -24
- data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +32 -40
- data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +62 -70
- data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +22 -30
- data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +77 -86
- data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +15 -23
- data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +56 -64
- data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +84 -92
- data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +20 -28
- data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +18 -26
- data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +21 -29
- data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +43 -51
- data/vendor/local/share/doc/pcre/AUTHORS +3 -3
- data/vendor/local/share/doc/pcre/ChangeLog +53 -0
- data/vendor/local/share/doc/pcre/LICENCE +3 -3
- data/vendor/local/share/doc/pcre/NEWS +6 -0
- data/vendor/local/share/doc/pcre/html/NON-AUTOTOOLS-BUILD.txt +8 -7
- data/vendor/local/share/groonga/mruby/LEGAL +35 -35
- data/vendor/local/share/license/cv2pdb/{README → README.MD} +28 -10
- data/vendor/local/share/license/groonga-normalizer-mysql/README.md +14 -22
- data/vendor/local/share/license/lz4/LICENSE +2 -2
- data/vendor/local/share/license/mruby/AUTHORS +3 -0
- data/vendor/local/share/license/mruby/MITL +1 -1
- data/vendor/local/share/license/mruby/README.md +1 -1
- data/vendor/local/share/license/msgpack/README.md +5 -34
- data/vendor/local/share/license/pcre/LICENCE +3 -3
- data/vendor/local/share/man/man1/lz4.1 +221 -86
- data/vendor/local/share/man/man1/lz4c.1 +222 -32
- data/vendor/local/share/man/man1/lz4cat.1 +221 -30
- data/vendor/local/share/man/man1/unlz4.1 +223 -0
- metadata +231 -87
- data/lib/2.1/groonga.so +0 -0
- data/vendor/local/lib/groonga/plugins/expression_rewriters/optimizer.rb +0 -147
- data/vendor/local/lib/groonga/scripts/ruby/expression_tree/options.rb +0 -14
- data/vendor/local/share/doc/groonga/en/html/_static/ajax-loader.gif +0 -0
- data/vendor/local/share/doc/groonga/en/html/_static/comment-bright.png +0 -0
- data/vendor/local/share/doc/groonga/en/html/_static/comment-close.png +0 -0
- data/vendor/local/share/doc/groonga/en/html/_static/comment.png +0 -0
- data/vendor/local/share/doc/groonga/en/html/_static/down-pressed.png +0 -0
- data/vendor/local/share/doc/groonga/en/html/_static/down.png +0 -0
- data/vendor/local/share/doc/groonga/en/html/_static/up-pressed.png +0 -0
- data/vendor/local/share/doc/groonga/en/html/_static/up.png +0 -0
- data/vendor/local/share/doc/groonga/en/html/_static/websupport.js +0 -808
- data/vendor/local/share/doc/groonga/ja/html/_static/ajax-loader.gif +0 -0
- data/vendor/local/share/doc/groonga/ja/html/_static/comment-bright.png +0 -0
- data/vendor/local/share/doc/groonga/ja/html/_static/comment-close.png +0 -0
- data/vendor/local/share/doc/groonga/ja/html/_static/comment.png +0 -0
- data/vendor/local/share/doc/groonga/ja/html/_static/down-pressed.png +0 -0
- data/vendor/local/share/doc/groonga/ja/html/_static/down.png +0 -0
- data/vendor/local/share/doc/groonga/ja/html/_static/up-pressed.png +0 -0
- data/vendor/local/share/doc/groonga/ja/html/_static/up.png +0 -0
- data/vendor/local/share/doc/groonga/ja/html/_static/websupport.js +0 -808
@@ -10,6 +10,7 @@ module Groonga
|
|
10
10
|
"max",
|
11
11
|
"max_border",
|
12
12
|
"filter",
|
13
|
+
"post_filter",
|
13
14
|
])
|
14
15
|
|
15
16
|
def run_body(input)
|
@@ -18,9 +19,14 @@ module Groonga
|
|
18
19
|
counter = Counter.new(input, enumerator.target_range)
|
19
20
|
total = 0
|
20
21
|
have_shard = false
|
21
|
-
|
22
|
-
|
23
|
-
|
22
|
+
begin
|
23
|
+
enumerator.each do |shard, shard_range|
|
24
|
+
have_shard = true
|
25
|
+
counter.count_pre(shard, shard_range)
|
26
|
+
end
|
27
|
+
total += counter.count
|
28
|
+
ensure
|
29
|
+
counter.close
|
24
30
|
end
|
25
31
|
unless have_shard
|
26
32
|
message =
|
@@ -43,22 +49,40 @@ module Groonga
|
|
43
49
|
key << "#{input[:max]}\0"
|
44
50
|
key << "#{input[:max_border]}\0"
|
45
51
|
key << "#{input[:filter]}\0"
|
52
|
+
key << "#{input[:post_filter]}\0"
|
46
53
|
dynamic_columns = DynamicColumns.parse(input)
|
47
54
|
key << dynamic_columns.cache_key
|
48
55
|
key
|
49
56
|
end
|
50
57
|
|
58
|
+
class ShardCountContext
|
59
|
+
attr_reader :shard
|
60
|
+
attr_reader :cover_type
|
61
|
+
attr_reader :range_index
|
62
|
+
attr_accessor :table
|
63
|
+
def initialize(shard, cover_type, range_index)
|
64
|
+
@shard = shard
|
65
|
+
@cover_type = cover_type
|
66
|
+
@range_idnex = range_index
|
67
|
+
@table = shard.table
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
51
71
|
class Counter
|
52
72
|
def initialize(input, target_range)
|
53
73
|
@logger = Context.instance.logger
|
54
74
|
@filter = input[:filter]
|
75
|
+
@post_filter = input[:post_filter]
|
55
76
|
@dynamic_columns = DynamicColumns.parse(input)
|
56
77
|
@target_range = target_range
|
78
|
+
@contexts = []
|
79
|
+
@temporary_tables = []
|
80
|
+
@temporary_expressions = []
|
57
81
|
end
|
58
82
|
|
59
|
-
def
|
83
|
+
def count_pre(shard, shard_range)
|
60
84
|
cover_type = @target_range.cover_type(shard_range)
|
61
|
-
return
|
85
|
+
return if cover_type == :none
|
62
86
|
|
63
87
|
shard_key = shard.key
|
64
88
|
if shard_key.nil?
|
@@ -66,41 +90,41 @@ module Groonga
|
|
66
90
|
"<#{shard.key_name}>"
|
67
91
|
raise InvalidArgument, message
|
68
92
|
end
|
69
|
-
table_name = shard.table_name
|
70
93
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
range_index
|
83
|
-
|
84
|
-
log_use_range_index(false, table_name, "need filter",
|
94
|
+
table_name = shard.table_name
|
95
|
+
range_index = nil
|
96
|
+
if @filter or @post_filter
|
97
|
+
log_use_range_index(false, table_name, "need filter",
|
98
|
+
__LINE__, __method__)
|
99
|
+
elsif cover_type == :all
|
100
|
+
log_use_range_index(false, table_name, "covered",
|
101
|
+
__LINE__, __method__)
|
102
|
+
else
|
103
|
+
index_info = shard_key.find_index(Operator::LESS)
|
104
|
+
range_index = index_info.index if index_info
|
105
|
+
if range_index
|
106
|
+
log_use_range_index(true, table_name, "range index is available",
|
85
107
|
__LINE__, __method__)
|
86
108
|
else
|
87
|
-
|
88
|
-
|
89
|
-
if range_index
|
90
|
-
log_use_range_index(true, table_name, "range index is available",
|
91
|
-
__LINE__, __method__)
|
92
|
-
else
|
93
|
-
log_use_range_index(false, table_name, "no range index",
|
94
|
-
__LINE__, __method__)
|
95
|
-
end
|
109
|
+
log_use_range_index(false, table_name, "no range index",
|
110
|
+
__LINE__, __method__)
|
96
111
|
end
|
112
|
+
end
|
113
|
+
@contexts << ShardCountContext.new(shard, cover_type, range_index)
|
114
|
+
end
|
97
115
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
116
|
+
def count
|
117
|
+
prepare_contexts
|
118
|
+
total = 0
|
119
|
+
@contexts.each do |context|
|
120
|
+
total += count_shard(context)
|
103
121
|
end
|
122
|
+
total
|
123
|
+
end
|
124
|
+
|
125
|
+
def close
|
126
|
+
@temporary_tables.each(&:close)
|
127
|
+
@temporary_expressions.each(&:close)
|
104
128
|
end
|
105
129
|
|
106
130
|
private
|
@@ -119,34 +143,51 @@ module Groonga
|
|
119
143
|
message)
|
120
144
|
end
|
121
145
|
|
122
|
-
def
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
146
|
+
def prepare_contexts
|
147
|
+
if @filter or @post_filter
|
148
|
+
if @dynamic_columns.have_initial?
|
149
|
+
apply_targets = []
|
150
|
+
@contexts.each do |context|
|
151
|
+
table = context.table.select_all
|
152
|
+
@temporary_tables << table
|
153
|
+
context.table = table
|
154
|
+
apply_targets << [table]
|
155
|
+
end
|
156
|
+
@dynamic_columns.apply_initial(apply_targets)
|
129
157
|
end
|
130
|
-
dynamic_column.apply(table)
|
131
158
|
end
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
159
|
+
@contexts.each do |context|
|
160
|
+
filter_shard(context)
|
161
|
+
end
|
162
|
+
if @post_filter
|
163
|
+
if @dynamic_columns.have_filtered?
|
164
|
+
apply_targets = @contexts.collect do |context|
|
165
|
+
[context.table]
|
166
|
+
end
|
167
|
+
@dynamic_columns.apply_filtered(apply_targets)
|
168
|
+
end
|
169
|
+
@contexts.each do |context|
|
170
|
+
post_filter_shard(context)
|
171
|
+
end
|
137
172
|
end
|
138
173
|
end
|
139
174
|
|
140
|
-
def
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
175
|
+
def filter_shard(context)
|
176
|
+
return if context.range_index
|
177
|
+
|
178
|
+
if context.cover_type == :all and @filter.nil?
|
179
|
+
if @post_filter and @dynamic_columns.have_filtered?
|
180
|
+
filtered_table = context.table.select_all
|
181
|
+
@temporary_tables << filtered_table
|
182
|
+
context.table = filtered_table
|
183
|
+
end
|
184
|
+
else
|
185
|
+
expression = Expression.create(context.table)
|
186
|
+
@temporary_expressions << expression
|
187
|
+
expression_builder = RangeExpressionBuilder.new(context.shard.key,
|
188
|
+
@target_range)
|
189
|
+
expression_builder.filter = @filter
|
190
|
+
case context.cover_type
|
150
191
|
when :all
|
151
192
|
expression_builder.build_all(expression)
|
152
193
|
when :partial_min
|
@@ -156,16 +197,33 @@ module Groonga
|
|
156
197
|
when :partial_min_and_max
|
157
198
|
expression_builder.build_partial_min_and_max(expression)
|
158
199
|
end
|
159
|
-
filtered_table = table.select(expression)
|
160
|
-
filtered_table
|
161
|
-
|
162
|
-
filtered_table.close if filtered_table
|
163
|
-
expression.close if expression
|
200
|
+
filtered_table = context.table.select(expression)
|
201
|
+
@temporary_tables << filtered_table
|
202
|
+
context.table = filtered_table
|
164
203
|
end
|
165
204
|
end
|
166
205
|
|
167
|
-
def
|
168
|
-
|
206
|
+
def count_shard(context)
|
207
|
+
if context.range_index
|
208
|
+
count_n_records_in_range(context)
|
209
|
+
else
|
210
|
+
context.table.size
|
211
|
+
end
|
212
|
+
end
|
213
|
+
|
214
|
+
def post_filter_shard(context)
|
215
|
+
expression = nil
|
216
|
+
post_filtered_table = nil
|
217
|
+
expression = Expression.create(context.table)
|
218
|
+
@temporary_expressions << expression
|
219
|
+
expression.parse(@post_filter)
|
220
|
+
filtered_table = context.table.select(expression)
|
221
|
+
@temporary_tables << filtered_table
|
222
|
+
context.table = filtered_table
|
223
|
+
end
|
224
|
+
|
225
|
+
def count_n_records_in_range(context)
|
226
|
+
case context.cover_type
|
169
227
|
when :partial_min
|
170
228
|
min = @target_range.min
|
171
229
|
min_border = @target_range.min_border
|
@@ -197,7 +255,7 @@ module Groonga
|
|
197
255
|
flags |= TableCursorFlags::LT
|
198
256
|
end
|
199
257
|
|
200
|
-
TableCursor.open(range_index.table,
|
258
|
+
TableCursor.open(context.range_index.table,
|
201
259
|
:min => min,
|
202
260
|
:max => max,
|
203
261
|
:flags => flags) do |table_cursor|
|
@@ -16,6 +16,7 @@ module Groonga
|
|
16
16
|
"output_columns",
|
17
17
|
"use_range_index",
|
18
18
|
"post_filter",
|
19
|
+
"sort_keys",
|
19
20
|
])
|
20
21
|
|
21
22
|
def run_body(input)
|
@@ -73,26 +74,30 @@ module Groonga
|
|
73
74
|
key << "#{input[:output_columns]}\0"
|
74
75
|
key << "#{input[:use_range_index]}\0"
|
75
76
|
key << "#{input[:post_filter]}\0"
|
77
|
+
key << "#{input[:sort_keys]}\0"
|
76
78
|
dynamic_columns = DynamicColumns.parse(input)
|
77
79
|
key << dynamic_columns.cache_key
|
78
80
|
key
|
79
81
|
end
|
80
82
|
|
81
83
|
class ExecuteContext
|
84
|
+
include KeysParsable
|
85
|
+
|
82
86
|
attr_reader :use_range_index
|
83
87
|
attr_reader :enumerator
|
84
88
|
attr_reader :order
|
85
89
|
attr_reader :filter
|
86
90
|
attr_reader :offset
|
87
91
|
attr_reader :limit
|
92
|
+
attr_reader :post_filter
|
93
|
+
attr_reader :sort_keys
|
88
94
|
attr_reader :dynamic_columns
|
89
95
|
attr_accessor :current_offset
|
90
96
|
attr_accessor :current_limit
|
91
97
|
attr_reader :result_sets
|
92
|
-
attr_reader :unsorted_result_sets
|
93
98
|
attr_reader :temporary_tables
|
94
99
|
attr_reader :threshold
|
95
|
-
attr_reader :
|
100
|
+
attr_reader :time_classify_types
|
96
101
|
def initialize(input)
|
97
102
|
@input = input
|
98
103
|
@use_range_index = parse_use_range_index(@input[:use_range_index])
|
@@ -101,34 +106,34 @@ module Groonga
|
|
101
106
|
@filter = @input[:filter]
|
102
107
|
@offset = (@input[:offset] || 0).to_i
|
103
108
|
@limit = (@input[:limit] || 10).to_i
|
109
|
+
@post_filter = @input[:post_filter]
|
110
|
+
@sort_keys = parse_keys(@input[:sort_keys])
|
111
|
+
|
104
112
|
@dynamic_columns = DynamicColumns.parse(@input)
|
105
113
|
|
106
114
|
@current_offset = @offset
|
107
115
|
@current_limit = @limit
|
108
116
|
|
109
117
|
@result_sets = []
|
110
|
-
@unsorted_result_sets = []
|
111
|
-
|
112
118
|
@temporary_tables = []
|
113
119
|
|
114
120
|
@threshold = compute_threshold
|
115
121
|
|
116
|
-
@
|
122
|
+
@time_classify_types = detect_time_classify_types
|
117
123
|
end
|
118
124
|
|
119
125
|
def close
|
120
|
-
@unsorted_result_sets.each do |result_set|
|
121
|
-
result_set.close if result_set.temporary?
|
122
|
-
end
|
123
|
-
@result_sets.each do |result_set|
|
124
|
-
result_set.close if result_set.temporary?
|
125
|
-
end
|
126
|
-
|
127
126
|
@temporary_tables.each do |table|
|
128
127
|
table.close
|
129
128
|
end
|
130
129
|
end
|
131
130
|
|
131
|
+
def need_look_ahead?
|
132
|
+
return false unless @dynamic_columns.have_window_function?
|
133
|
+
return false unless @time_classify_types.empty?
|
134
|
+
true
|
135
|
+
end
|
136
|
+
|
132
137
|
private
|
133
138
|
def parse_use_range_index(use_range_index)
|
134
139
|
case use_range_index
|
@@ -163,6 +168,33 @@ module Groonga
|
|
163
168
|
default_threshold = 0.2
|
164
169
|
(threshold_env || default_threshold).to_f
|
165
170
|
end
|
171
|
+
|
172
|
+
def detect_time_classify_types
|
173
|
+
window_group_keys = []
|
174
|
+
@dynamic_columns.each_filtered do |dynamic_column|
|
175
|
+
window_group_keys.concat(dynamic_column.window_group_keys)
|
176
|
+
end
|
177
|
+
return [] if window_group_keys.empty?
|
178
|
+
|
179
|
+
types = []
|
180
|
+
@dynamic_columns.each do |dynamic_column|
|
181
|
+
next unless window_group_keys.include?(dynamic_column.label)
|
182
|
+
case dynamic_column.value.strip
|
183
|
+
when /\Atime_classify_(.+?)\s*\(\s*([a-zA-Z\d_]+)\s*[,)]/
|
184
|
+
type = $1
|
185
|
+
column = $2
|
186
|
+
next if column != @enumerator.shard_key_name
|
187
|
+
|
188
|
+
case type
|
189
|
+
when "minute", "second"
|
190
|
+
types << type
|
191
|
+
when "day", "hour"
|
192
|
+
types << type
|
193
|
+
end
|
194
|
+
end
|
195
|
+
end
|
196
|
+
types
|
197
|
+
end
|
166
198
|
end
|
167
199
|
|
168
200
|
class Executor
|
@@ -172,20 +204,13 @@ module Groonga
|
|
172
204
|
|
173
205
|
def execute
|
174
206
|
first_shard = nil
|
175
|
-
|
176
|
-
|
177
|
-
if @context.order == :descending
|
178
|
-
each_method = :reverse_each
|
179
|
-
else
|
180
|
-
each_method = :each
|
181
|
-
end
|
182
|
-
enumerator.send(each_method) do |shard, shard_range|
|
183
|
-
first_shard ||= shard
|
184
|
-
shard_executor = ShardExecutor.new(@context, shard, shard_range)
|
207
|
+
each_shard_executor do |shard_executor|
|
208
|
+
first_shard ||= shard_executor.shard
|
185
209
|
shard_executor.execute
|
186
|
-
break if @context.current_limit
|
210
|
+
break if @context.current_limit.zero?
|
187
211
|
end
|
188
212
|
if first_shard.nil?
|
213
|
+
enumerator = @context.enumerator
|
189
214
|
message =
|
190
215
|
"[logical_range_filter] no shard exists: " +
|
191
216
|
"logical_table: <#{enumerator.logical_table}>: " +
|
@@ -195,82 +220,411 @@ module Groonga
|
|
195
220
|
if @context.result_sets.empty?
|
196
221
|
result_set = HashTable.create(:flags => ObjectFlags::WITH_SUBREC,
|
197
222
|
:key_type => first_shard.table)
|
198
|
-
@context.
|
199
|
-
|
223
|
+
@context.temporary_tables << result_set
|
224
|
+
targets = [[result_set]]
|
225
|
+
@context.dynamic_columns.apply_initial(targets)
|
226
|
+
@context.dynamic_columns.apply_filtered(targets)
|
227
|
+
@context.result_sets << result_set
|
228
|
+
end
|
229
|
+
end
|
230
|
+
|
231
|
+
private
|
232
|
+
def each_shard_executor(&block)
|
233
|
+
enumerator = @context.enumerator
|
234
|
+
target_range = enumerator.target_range
|
235
|
+
if @context.order == :descending
|
236
|
+
each_method = :reverse_each
|
237
|
+
else
|
238
|
+
each_method = :each
|
239
|
+
end
|
240
|
+
if @context.need_look_ahead?
|
241
|
+
executors = []
|
242
|
+
previous_executor = nil
|
243
|
+
enumerator.send(each_method) do |shard, shard_range|
|
244
|
+
current_executor = ShardExecutor.new(@context, shard, shard_range)
|
245
|
+
if previous_executor
|
246
|
+
previous_executor.next_executor = current_executor
|
247
|
+
current_executor.previous_executor = previous_executor
|
248
|
+
executors << previous_executor
|
249
|
+
end
|
250
|
+
previous_executor = current_executor
|
200
251
|
end
|
201
|
-
|
202
|
-
|
252
|
+
executors << previous_executor if previous_executor
|
253
|
+
executors.each(&block)
|
254
|
+
else
|
255
|
+
enumerator.send(each_method) do |shard, shard_range|
|
256
|
+
yield(ShardExecutor.new(@context, shard, shard_range))
|
203
257
|
end
|
204
|
-
@context.result_sets << result_set
|
205
258
|
end
|
206
259
|
end
|
207
260
|
end
|
208
261
|
|
262
|
+
class Window
|
263
|
+
include Comparable
|
264
|
+
|
265
|
+
attr_reader :unit
|
266
|
+
attr_reader :step
|
267
|
+
def initialize(context, shard, shard_range, unit, step)
|
268
|
+
@context = context
|
269
|
+
@shard = shard
|
270
|
+
@shard_range = shard_range
|
271
|
+
@unit = unit
|
272
|
+
@step = step
|
273
|
+
|
274
|
+
@between = Groonga::Context.instance["between"]
|
275
|
+
|
276
|
+
@target_range = @context.enumerator.target_range
|
277
|
+
|
278
|
+
case @unit
|
279
|
+
when :day
|
280
|
+
@step_second = (60 * 60 * 24) * @step
|
281
|
+
when :hour
|
282
|
+
@step_second = (60 * 60) * @step
|
283
|
+
else
|
284
|
+
raise InvalidArgument "Unexpected unit: #{@unit.inspect}"
|
285
|
+
end
|
286
|
+
end
|
287
|
+
|
288
|
+
def <=>(other)
|
289
|
+
case @unit
|
290
|
+
when other.unit
|
291
|
+
@step <=> other.unit
|
292
|
+
when :day # @unit == :day && other.unit == :hour
|
293
|
+
1
|
294
|
+
else # @unit == :hour && other.unit == :day
|
295
|
+
-1
|
296
|
+
end
|
297
|
+
end
|
298
|
+
|
299
|
+
def each(table)
|
300
|
+
min = create_min_edge
|
301
|
+
max = create_max_edge(min)
|
302
|
+
shard_key = table.find_column(@context.enumerator.shard_key_name)
|
303
|
+
begin
|
304
|
+
current_min = min
|
305
|
+
while current_min < max do
|
306
|
+
next_min = compute_next_min_edge(current_min)
|
307
|
+
if next_min > max
|
308
|
+
current_max = max
|
309
|
+
else
|
310
|
+
current_max = WindowEdge.new(next_min.year,
|
311
|
+
next_min.month,
|
312
|
+
next_min.day,
|
313
|
+
next_min.hour,
|
314
|
+
next_min.minute,
|
315
|
+
next_min.second,
|
316
|
+
next_min.microsecond,
|
317
|
+
:exclude)
|
318
|
+
end
|
319
|
+
windowed_table = select_by_range(table,
|
320
|
+
shard_key,
|
321
|
+
current_min,
|
322
|
+
current_max)
|
323
|
+
if windowed_table.empty?
|
324
|
+
windowed_table.close
|
325
|
+
else
|
326
|
+
message = "[logical_range_filter][window] "
|
327
|
+
message << "<#{@shard.table_name}>: "
|
328
|
+
message << inspect_range(current_min, current_max)
|
329
|
+
Context.instance.logger.log(Logger::Level::DEBUG,
|
330
|
+
__FILE__,
|
331
|
+
__LINE__,
|
332
|
+
__method__.to_s,
|
333
|
+
message)
|
334
|
+
yield(windowed_table)
|
335
|
+
end
|
336
|
+
current_min = next_min
|
337
|
+
end
|
338
|
+
ensure
|
339
|
+
shard_key.close
|
340
|
+
end
|
341
|
+
end
|
342
|
+
|
343
|
+
private
|
344
|
+
def create_min_edge
|
345
|
+
min = @target_range.min
|
346
|
+
if min
|
347
|
+
year = min.year
|
348
|
+
month = min.month
|
349
|
+
day = min.day
|
350
|
+
hour = min.hour
|
351
|
+
minute = min.min
|
352
|
+
second = min.sec
|
353
|
+
microsecond = min.usec
|
354
|
+
border = @target_range.min_border
|
355
|
+
else
|
356
|
+
year = @shard_range.year
|
357
|
+
month = @shard_range.month
|
358
|
+
day = 1
|
359
|
+
hour = 0
|
360
|
+
minute = 0
|
361
|
+
second = 0
|
362
|
+
microsecond = 0
|
363
|
+
border = :include
|
364
|
+
end
|
365
|
+
WindowEdge.new(year, month, day, hour, minute, second, microsecond,
|
366
|
+
border)
|
367
|
+
end
|
368
|
+
|
369
|
+
def create_max_edge(min)
|
370
|
+
max = @target_range.max
|
371
|
+
if max
|
372
|
+
year = max.year
|
373
|
+
month = max.month
|
374
|
+
day = max.day
|
375
|
+
hour = max.hour
|
376
|
+
minute = max.min
|
377
|
+
second = max.sec
|
378
|
+
microsecond = max.usec
|
379
|
+
border = @target_range.max_border
|
380
|
+
else
|
381
|
+
next_shard_edge = @shard_range.least_over_time
|
382
|
+
year = next_shard_edge.year
|
383
|
+
month = next_shard_edge.month
|
384
|
+
day = next_shard_edge.day
|
385
|
+
hour = 0
|
386
|
+
minute = 0
|
387
|
+
second = 0
|
388
|
+
microsecond = 0
|
389
|
+
border = :exclude
|
390
|
+
end
|
391
|
+
WindowEdge.new(year, month, day, hour, minute, second, microsecond,
|
392
|
+
border)
|
393
|
+
end
|
394
|
+
|
395
|
+
def compute_next_min_edge(current_min)
|
396
|
+
next_edge = Time.at(current_min.to_time.to_i + @step_second)
|
397
|
+
year = next_edge.year
|
398
|
+
month = next_edge.month
|
399
|
+
day = next_edge.day
|
400
|
+
if @unit == :day
|
401
|
+
hour = 0
|
402
|
+
else
|
403
|
+
hour = next_edge.hour
|
404
|
+
end
|
405
|
+
minute = 0
|
406
|
+
second = 0
|
407
|
+
microsecond = 0
|
408
|
+
border = :include
|
409
|
+
WindowEdge.new(year, month, day, hour, minute, second, microsecond,
|
410
|
+
border)
|
411
|
+
end
|
412
|
+
|
413
|
+
def select_by_range(table, shard_key, min, max)
|
414
|
+
expression = Expression.create(table)
|
415
|
+
begin
|
416
|
+
expression.append_object(@between, Operator::PUSH, 1)
|
417
|
+
expression.append_object(shard_key, Operator::PUSH, 1)
|
418
|
+
expression.append_operator(Operator::GET_VALUE, 1)
|
419
|
+
expression.append_constant(min.to_s, Operator::PUSH, 1)
|
420
|
+
expression.append_constant(min.border, Operator::PUSH, 1)
|
421
|
+
expression.append_constant(max.to_s, Operator::PUSH, 1)
|
422
|
+
expression.append_constant(max.border, Operator::PUSH, 1)
|
423
|
+
expression.append_operator(Operator::CALL, 5)
|
424
|
+
table.select(expression)
|
425
|
+
ensure
|
426
|
+
expression.close
|
427
|
+
end
|
428
|
+
end
|
429
|
+
|
430
|
+
def inspect_range(min, max)
|
431
|
+
range = ""
|
432
|
+
if min.border == :include
|
433
|
+
range << "["
|
434
|
+
else
|
435
|
+
range << "("
|
436
|
+
end
|
437
|
+
range << min.to_s
|
438
|
+
range << ","
|
439
|
+
range << max.to_s
|
440
|
+
if max.border == :include
|
441
|
+
range << "]"
|
442
|
+
else
|
443
|
+
range << ")"
|
444
|
+
end
|
445
|
+
range
|
446
|
+
end
|
447
|
+
end
|
448
|
+
|
449
|
+
class WindowEdge
|
450
|
+
include Comparable
|
451
|
+
|
452
|
+
attr_reader :year
|
453
|
+
attr_reader :month
|
454
|
+
attr_reader :day
|
455
|
+
attr_reader :hour
|
456
|
+
attr_reader :minute
|
457
|
+
attr_reader :second
|
458
|
+
attr_reader :microsecond
|
459
|
+
attr_reader :border
|
460
|
+
def initialize(year, month, day, hour, minute, second, microsecond,
|
461
|
+
border)
|
462
|
+
@year = year
|
463
|
+
@month = month
|
464
|
+
@day = day
|
465
|
+
@hour = hour
|
466
|
+
@minute = minute
|
467
|
+
@second = second
|
468
|
+
@microsecond = microsecond
|
469
|
+
@border = border
|
470
|
+
end
|
471
|
+
|
472
|
+
def to_s
|
473
|
+
format = "%04d/%02d/%02d %02d:%02d:%02d"
|
474
|
+
format_values = [@year, @month, @day, @hour, @minute, @second]
|
475
|
+
unless @microsecond.zero?
|
476
|
+
format << ".%06d"
|
477
|
+
format_values << @microsecond
|
478
|
+
end
|
479
|
+
format % format_values
|
480
|
+
end
|
481
|
+
|
482
|
+
def to_time
|
483
|
+
Time.local(@year, @month, @day, @hour, @minute, @second, @microsecond)
|
484
|
+
end
|
485
|
+
|
486
|
+
def values
|
487
|
+
[@year, @month, @day, @hour, @minute, @second, @microsecond]
|
488
|
+
end
|
489
|
+
|
490
|
+
def <=>(other)
|
491
|
+
(values + [@border == :include ? 1 : 0]) <=>
|
492
|
+
(other.values + [other.border == :include ? 1 : 0])
|
493
|
+
end
|
494
|
+
end
|
495
|
+
|
209
496
|
class ShardExecutor
|
497
|
+
attr_reader :shard
|
498
|
+
attr_writer :previous_executor
|
499
|
+
attr_writer :next_executor
|
210
500
|
def initialize(context, shard, shard_range)
|
211
501
|
@context = context
|
212
502
|
@shard = shard
|
213
503
|
@shard_range = shard_range
|
214
504
|
|
505
|
+
@shard_key = shard.key
|
215
506
|
@target_table = @shard.table
|
216
507
|
|
217
508
|
@filter = @context.filter
|
218
509
|
@post_filter = @context.post_filter
|
219
510
|
@result_sets = @context.result_sets
|
220
|
-
@
|
511
|
+
@filtered_result_sets = []
|
512
|
+
@temporary_tables = @context.temporary_tables
|
221
513
|
|
222
514
|
@target_range = @context.enumerator.target_range
|
223
515
|
|
224
516
|
@cover_type = @target_range.cover_type(@shard_range)
|
517
|
+
|
518
|
+
@previous_executor = nil
|
519
|
+
@next_executor = nil
|
520
|
+
|
521
|
+
@initital_table = nil
|
522
|
+
|
523
|
+
@range_index = nil
|
524
|
+
@window = nil
|
525
|
+
|
526
|
+
@prepared = false
|
527
|
+
@filtered = false
|
225
528
|
end
|
226
529
|
|
227
530
|
def execute
|
228
|
-
|
229
|
-
|
531
|
+
ensure_filtered
|
532
|
+
|
533
|
+
return if @filtered_result_sets.empty?
|
534
|
+
|
535
|
+
if @window
|
536
|
+
@filtered_result_sets.each do |result_set|
|
537
|
+
@window.each(result_set) do |windowed_result_set|
|
538
|
+
@temporary_tables << windowed_result_set
|
539
|
+
if @context.dynamic_columns.have_filtered?
|
540
|
+
apply_targets = [[windowed_result_set]]
|
541
|
+
@context.dynamic_columns.apply_filtered(apply_targets)
|
542
|
+
end
|
543
|
+
sort_result_set(windowed_result_set)
|
544
|
+
return if @context.current_limit.zero?
|
545
|
+
end
|
546
|
+
end
|
547
|
+
else
|
548
|
+
apply_targets = []
|
549
|
+
if @previous_executor
|
550
|
+
@previous_executor.add_filtered_stage_context(apply_targets)
|
551
|
+
end
|
552
|
+
@filtered_result_sets.each do |result_set|
|
553
|
+
apply_targets << [result_set]
|
554
|
+
end
|
555
|
+
if @next_executor
|
556
|
+
@next_executor.add_filtered_stage_context(apply_targets)
|
557
|
+
end
|
558
|
+
options = {}
|
559
|
+
if @context.need_look_ahead?
|
560
|
+
options[:normal] = false
|
561
|
+
end
|
562
|
+
@context.dynamic_columns.apply_filtered(apply_targets, options)
|
563
|
+
@filtered_result_sets.each do |result_set|
|
564
|
+
sort_result_set(result_set)
|
565
|
+
end
|
566
|
+
end
|
567
|
+
end
|
230
568
|
|
231
|
-
|
232
|
-
|
569
|
+
def add_initial_stage_context(apply_targets)
|
570
|
+
ensure_prepared
|
571
|
+
return unless @initial_table
|
572
|
+
apply_targets << [@initial_table, {context: true}]
|
573
|
+
end
|
574
|
+
|
575
|
+
def add_filtered_stage_context(apply_targets)
|
576
|
+
ensure_filtered
|
577
|
+
@filtered_result_sets.each do |table|
|
578
|
+
apply_targets << [table, {context: true}]
|
579
|
+
end
|
580
|
+
end
|
581
|
+
|
582
|
+
private
|
583
|
+
def have_record?
|
584
|
+
return false if @cover_type == :none
|
585
|
+
return false if @target_table.empty?
|
586
|
+
true
|
587
|
+
end
|
588
|
+
|
589
|
+
def ensure_prepared
|
590
|
+
return if @prepared
|
591
|
+
@prepared = true
|
592
|
+
|
593
|
+
return unless have_record?
|
594
|
+
|
595
|
+
if @shard_key.nil?
|
233
596
|
message = "[logical_range_filter] shard_key doesn't exist: " +
|
234
597
|
"<#{@shard.key_name}>"
|
235
598
|
raise InvalidArgument, message
|
236
599
|
end
|
237
600
|
|
238
|
-
expression_builder = RangeExpressionBuilder.new(shard_key,
|
239
|
-
|
240
|
-
expression_builder.filter = @filter
|
241
|
-
|
242
|
-
index_info
|
243
|
-
|
244
|
-
range_index = index_info.index
|
245
|
-
unless use_range_index?(range_index, expression_builder)
|
246
|
-
range_index = nil
|
247
|
-
end
|
248
|
-
else
|
249
|
-
range_index = nil
|
601
|
+
@expression_builder = RangeExpressionBuilder.new(@shard_key,
|
602
|
+
@target_range)
|
603
|
+
@expression_builder.filter = @filter
|
604
|
+
index_info = @shard_key.find_index(Operator::LESS)
|
605
|
+
if index_info and use_range_index?
|
606
|
+
@range_index = index_info.index
|
250
607
|
end
|
251
608
|
|
252
|
-
@context.dynamic_columns.
|
253
|
-
if @
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
@
|
259
|
-
|
260
|
-
@target_table.select(expression)
|
261
|
-
end
|
262
|
-
@cover_type = :all
|
263
|
-
expression_builder.filter = @filter
|
609
|
+
if @context.dynamic_columns.have_initial?
|
610
|
+
if @cover_type == :all
|
611
|
+
@target_table = @target_table.select_all
|
612
|
+
else
|
613
|
+
@expression_builder.filter = nil
|
614
|
+
@target_table = create_expression(@target_table) do |expression|
|
615
|
+
@expression_builder.build(expression, @shard_range)
|
616
|
+
@target_table.select(expression)
|
264
617
|
end
|
265
|
-
@
|
618
|
+
@expression_builder.filter = @filter
|
619
|
+
@cover_type = :all
|
266
620
|
end
|
267
|
-
|
621
|
+
@temporary_tables << @target_table
|
622
|
+
@initial_table = @target_table
|
268
623
|
end
|
269
624
|
|
270
|
-
|
625
|
+
@window = detect_window
|
271
626
|
end
|
272
627
|
|
273
|
-
private
|
274
628
|
def decide_use_range_index(use, reason, line, method)
|
275
629
|
message = "[logical_range_filter]"
|
276
630
|
if use
|
@@ -289,7 +643,7 @@ module Groonga
|
|
289
643
|
use
|
290
644
|
end
|
291
645
|
|
292
|
-
def use_range_index?
|
646
|
+
def use_range_index?
|
293
647
|
use_range_index_parameter_message =
|
294
648
|
"force by use_range_index parameter"
|
295
649
|
case @context.use_range_index
|
@@ -326,6 +680,11 @@ module Groonga
|
|
326
680
|
return decide_use_range_index(false, reason, __LINE__, __method__)
|
327
681
|
end
|
328
682
|
|
683
|
+
unless @context.sort_keys.empty?
|
684
|
+
reason = "sort_keys is used"
|
685
|
+
return decide_use_range_index(false, reason, __LINE__, __method__)
|
686
|
+
end
|
687
|
+
|
329
688
|
current_limit = @context.current_limit
|
330
689
|
if current_limit < 0
|
331
690
|
reason = "limit is negative: <#{current_limit}>"
|
@@ -360,7 +719,7 @@ module Groonga
|
|
360
719
|
when :all
|
361
720
|
if @filter
|
362
721
|
create_expression(table) do |expression|
|
363
|
-
expression_builder.build_all(expression)
|
722
|
+
@expression_builder.build_all(expression)
|
364
723
|
unless range_index_available_expression?(expression,
|
365
724
|
__LINE__, __method__)
|
366
725
|
return false
|
@@ -372,7 +731,7 @@ module Groonga
|
|
372
731
|
end
|
373
732
|
when :partial_min
|
374
733
|
create_expression(table) do |expression|
|
375
|
-
expression_builder.build_partial_min(expression)
|
734
|
+
@expression_builder.build_partial_min(expression)
|
376
735
|
unless range_index_available_expression?(expression,
|
377
736
|
__LINE__, __method__)
|
378
737
|
return false
|
@@ -381,7 +740,7 @@ module Groonga
|
|
381
740
|
end
|
382
741
|
when :partial_max
|
383
742
|
create_expression(table) do |expression|
|
384
|
-
expression_builder.build_partial_max(expression)
|
743
|
+
@expression_builder.build_partial_max(expression)
|
385
744
|
unless range_index_available_expression?(expression,
|
386
745
|
__LINE__, __method__)
|
387
746
|
return false
|
@@ -390,7 +749,7 @@ module Groonga
|
|
390
749
|
end
|
391
750
|
when :partial_min_and_max
|
392
751
|
create_expression(table) do |expression|
|
393
|
-
expression_builder.build_partial_min_and_max(expression)
|
752
|
+
@expression_builder.build_partial_min_and_max(expression)
|
394
753
|
unless range_index_available_expression?(expression,
|
395
754
|
__LINE__, __method__)
|
396
755
|
return false
|
@@ -463,65 +822,102 @@ module Groonga
|
|
463
822
|
nil
|
464
823
|
end
|
465
824
|
|
466
|
-
def
|
825
|
+
def ensure_filtered
|
826
|
+
return if @filtered
|
827
|
+
|
828
|
+
@filtered = true
|
829
|
+
|
830
|
+
ensure_prepared
|
831
|
+
return unless have_record?
|
832
|
+
|
833
|
+
if @context.dynamic_columns.have_initial?
|
834
|
+
apply_targets = []
|
835
|
+
if @previous_executor
|
836
|
+
@previous_executor.add_initial_stage_context(apply_targets)
|
837
|
+
end
|
838
|
+
apply_targets << [@target_table]
|
839
|
+
if @next_executor
|
840
|
+
@next_executor.add_initial_stage_context(apply_targets)
|
841
|
+
end
|
842
|
+
@context.dynamic_columns.apply_initial(apply_targets)
|
843
|
+
end
|
844
|
+
|
845
|
+
execute_filter(@range_index)
|
846
|
+
|
847
|
+
return unless @context.need_look_ahead?
|
848
|
+
|
849
|
+
apply_targets = []
|
850
|
+
@filtered_result_sets = @filtered_result_sets.collect do |result_set|
|
851
|
+
if result_set == @shard.table
|
852
|
+
result_set = result_set.select_all
|
853
|
+
@temporary_tables << result_set
|
854
|
+
end
|
855
|
+
apply_targets << [result_set]
|
856
|
+
result_set
|
857
|
+
end
|
858
|
+
@context.dynamic_columns.apply_filtered(apply_targets,
|
859
|
+
window_function: false)
|
860
|
+
end
|
861
|
+
|
862
|
+
def execute_filter(range_index)
|
467
863
|
case @cover_type
|
468
864
|
when :all
|
469
|
-
filter_shard_all(range_index
|
865
|
+
filter_shard_all(range_index)
|
470
866
|
when :partial_min
|
471
867
|
if range_index
|
472
|
-
filter_by_range(range_index,
|
868
|
+
filter_by_range(range_index,
|
473
869
|
@target_range.min, @target_range.min_border,
|
474
870
|
nil, nil)
|
475
871
|
else
|
476
872
|
filter_table do |expression|
|
477
|
-
expression_builder.build_partial_min(expression)
|
873
|
+
@expression_builder.build_partial_min(expression)
|
478
874
|
end
|
479
875
|
end
|
480
876
|
when :partial_max
|
481
877
|
if range_index
|
482
|
-
filter_by_range(range_index,
|
878
|
+
filter_by_range(range_index,
|
483
879
|
nil, nil,
|
484
880
|
@target_range.max, @target_range.max_border)
|
485
881
|
else
|
486
882
|
filter_table do |expression|
|
487
|
-
expression_builder.build_partial_max(expression)
|
883
|
+
@expression_builder.build_partial_max(expression)
|
488
884
|
end
|
489
885
|
end
|
490
886
|
when :partial_min_and_max
|
491
887
|
if range_index
|
492
|
-
filter_by_range(range_index,
|
888
|
+
filter_by_range(range_index,
|
493
889
|
@target_range.min, @target_range.min_border,
|
494
890
|
@target_range.max, @target_range.max_border)
|
495
891
|
else
|
496
892
|
filter_table do |expression|
|
497
|
-
expression_builder.build_partial_min_and_max(expression)
|
893
|
+
@expression_builder.build_partial_min_and_max(expression)
|
498
894
|
end
|
499
895
|
end
|
500
896
|
end
|
501
897
|
end
|
502
898
|
|
503
|
-
def filter_shard_all(range_index
|
899
|
+
def filter_shard_all(range_index)
|
504
900
|
table = @target_table
|
505
901
|
if @filter.nil?
|
506
902
|
if @post_filter.nil? and table.size <= @context.current_offset
|
507
903
|
@context.current_offset -= table.size
|
508
904
|
return
|
509
905
|
end
|
510
|
-
if range_index
|
511
|
-
filter_by_range(range_index,
|
906
|
+
if @range_index
|
907
|
+
filter_by_range(range_index,
|
512
908
|
nil, nil,
|
513
909
|
nil, nil)
|
514
910
|
else
|
515
|
-
|
911
|
+
add_filtered_result_set(table)
|
516
912
|
end
|
517
913
|
else
|
518
|
-
if range_index
|
519
|
-
filter_by_range(range_index,
|
914
|
+
if @range_index
|
915
|
+
filter_by_range(range_index,
|
520
916
|
nil, nil,
|
521
917
|
nil, nil)
|
522
918
|
else
|
523
919
|
filter_table do |expression|
|
524
|
-
expression_builder.build_all(expression)
|
920
|
+
@expression_builder.build_all(expression)
|
525
921
|
end
|
526
922
|
end
|
527
923
|
end
|
@@ -536,8 +932,7 @@ module Groonga
|
|
536
932
|
end
|
537
933
|
end
|
538
934
|
|
539
|
-
def filter_by_range(range_index,
|
540
|
-
min, min_border, max, max_border)
|
935
|
+
def filter_by_range(range_index, min, min_border, max, max_border)
|
541
936
|
lexicon = range_index.domain
|
542
937
|
data_table = range_index.range
|
543
938
|
flags = build_range_search_flags(min_border, max_border)
|
@@ -584,18 +979,18 @@ module Groonga
|
|
584
979
|
decide_use_range_index(false,
|
585
980
|
fallback_message,
|
586
981
|
__LINE__, __method__)
|
587
|
-
execute_filter(nil
|
982
|
+
execute_filter(nil)
|
588
983
|
return
|
589
984
|
end
|
590
985
|
end
|
591
|
-
rescue
|
986
|
+
rescue => error
|
592
987
|
result_set.close
|
593
|
-
raise
|
988
|
+
raise error
|
594
989
|
end
|
595
990
|
|
596
991
|
if n_matched_records <= @context.current_offset
|
597
992
|
@context.current_offset -= n_matched_records
|
598
|
-
result_set
|
993
|
+
@temporary_tables << result_set
|
599
994
|
return
|
600
995
|
end
|
601
996
|
|
@@ -605,6 +1000,7 @@ module Groonga
|
|
605
1000
|
if @context.current_limit > 0
|
606
1001
|
@context.current_limit -= result_set.size
|
607
1002
|
end
|
1003
|
+
@temporary_tables << result_set
|
608
1004
|
@result_sets << result_set
|
609
1005
|
end
|
610
1006
|
|
@@ -649,7 +1045,8 @@ module Groonga
|
|
649
1045
|
create_expression(table) do |expression|
|
650
1046
|
yield(expression)
|
651
1047
|
result_set = table.select(expression)
|
652
|
-
|
1048
|
+
@temporary_tables << result_set
|
1049
|
+
add_filtered_result_set(result_set)
|
653
1050
|
end
|
654
1051
|
end
|
655
1052
|
|
@@ -660,40 +1057,41 @@ module Groonga
|
|
660
1057
|
end
|
661
1058
|
end
|
662
1059
|
|
663
|
-
def
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
result_set.close if result_set.temporary?
|
668
|
-
return
|
669
|
-
end
|
670
|
-
|
671
|
-
@context.dynamic_columns.each_filtered do |dynamic_column|
|
672
|
-
if result_set == @shard.table
|
673
|
-
result_set = result_set.select_all
|
674
|
-
end
|
675
|
-
dynamic_column.apply(result_set)
|
676
|
-
end
|
1060
|
+
def add_filtered_result_set(result_set)
|
1061
|
+
return if result_set.empty?
|
1062
|
+
@filtered_result_sets << result_set
|
1063
|
+
end
|
677
1064
|
|
1065
|
+
def sort_result_set(result_set)
|
678
1066
|
unless @post_filter.nil?
|
679
|
-
|
680
|
-
|
681
|
-
@context.temporary_tables << filtered_table
|
1067
|
+
result_set = apply_post_filter(result_set)
|
1068
|
+
@temporary_tables << result_set
|
682
1069
|
end
|
683
1070
|
|
684
1071
|
if result_set.size <= @context.current_offset
|
685
1072
|
@context.current_offset -= result_set.size
|
686
|
-
result_set.close if result_set.temporary?
|
687
1073
|
return
|
688
1074
|
end
|
689
1075
|
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
1076
|
+
if @context.sort_keys.empty?
|
1077
|
+
sort_keys = [
|
1078
|
+
{
|
1079
|
+
:key => @context.enumerator.shard_key_name,
|
1080
|
+
:order => @context.order,
|
1081
|
+
},
|
1082
|
+
]
|
1083
|
+
else
|
1084
|
+
sort_keys = @context.sort_keys.collect do |sort_key|
|
1085
|
+
if sort_key.start_with?("-")
|
1086
|
+
key = sort_key[1..-1]
|
1087
|
+
order = :descending
|
1088
|
+
else
|
1089
|
+
key = sort_key
|
1090
|
+
order = :ascending
|
1091
|
+
end
|
1092
|
+
{:key => key, :order => order}
|
1093
|
+
end
|
1094
|
+
end
|
697
1095
|
if @context.current_limit > 0
|
698
1096
|
limit = @context.current_limit
|
699
1097
|
else
|
@@ -702,6 +1100,7 @@ module Groonga
|
|
702
1100
|
sorted_result_set = result_set.sort(sort_keys,
|
703
1101
|
:offset => @context.current_offset,
|
704
1102
|
:limit => limit)
|
1103
|
+
@temporary_tables << sorted_result_set
|
705
1104
|
@result_sets << sorted_result_set
|
706
1105
|
if @context.current_offset > 0
|
707
1106
|
@context.current_offset = 0
|
@@ -710,6 +1109,22 @@ module Groonga
|
|
710
1109
|
@context.current_limit -= sorted_result_set.size
|
711
1110
|
end
|
712
1111
|
end
|
1112
|
+
|
1113
|
+
def detect_window
|
1114
|
+
# TODO: return nil if result_set is small enough
|
1115
|
+
windows = []
|
1116
|
+
@context.time_classify_types.each do |type|
|
1117
|
+
case type
|
1118
|
+
when "minute", "second"
|
1119
|
+
windows << Window.new(@context, @shard, @shard_range, :hour, 1)
|
1120
|
+
when "day", "hour"
|
1121
|
+
unless @shard_range.is_a?(LogicalEnumerator::DayShardRange)
|
1122
|
+
windows << Window.new(@context, @shard, @shard_range, :day, 1)
|
1123
|
+
end
|
1124
|
+
end
|
1125
|
+
end
|
1126
|
+
windows.max
|
1127
|
+
end
|
713
1128
|
end
|
714
1129
|
end
|
715
1130
|
end
|