rroonga 9.0.3-x86-mingw32 → 9.0.7-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/doc/text/news.md +30 -0
 - data/ext/groonga/rb-grn-context.c +27 -0
 - data/ext/groonga/rb-grn-flushable.c +7 -0
 - data/ext/groonga/rb-grn-index-column.c +28 -0
 - data/ext/groonga/rb-grn-index-cursor.c +19 -0
 - data/ext/groonga/rb-grn-logger.c +17 -3
 - data/ext/groonga/rb-grn-object.c +236 -22
 - data/ext/groonga/rb-grn-table.c +68 -42
 - data/ext/groonga/rb-grn.h +1 -1
 - 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/2.6/groonga.so +0 -0
 - data/lib/groonga/dumper.rb +3 -0
 - data/lib/groonga/record.rb +2 -2
 - data/test/groonga-test-utils.rb +28 -5
 - data/test/run-test.rb +0 -2
 - data/test/test-accessor.rb +63 -7
 - data/test/test-context.rb +25 -0
 - data/test/test-exception.rb +5 -0
 - data/test/test-flushable.rb +51 -6
 - data/test/test-index-column.rb +67 -6
 - data/test/test-index-cursor.rb +26 -0
 - data/test/test-logger.rb +56 -11
 - data/test/test-plugin.rb +1 -0
 - data/test/test-query-logger.rb +4 -3
 - data/test/test-record.rb +2 -1
 - data/test/test-remote.rb +40 -10
 - data/test/test-schema-dumper.rb +13 -0
 - data/test/test-table.rb +21 -1
 - data/test/test-variable.rb +23 -7
 - data/vendor/local/bin/generate-pdb.bat +21 -21
 - 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.exe +0 -0
 - data/vendor/local/bin/mecab.exe +0 -0
 - 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/cmake/RapidJSONConfig.cmake +3 -0
 - data/vendor/local/cmake/RapidJSONConfigVersion.cmake +10 -0
 - data/vendor/local/include/groonga/groonga/expr.h +16 -0
 - data/vendor/local/include/groonga/groonga/obj.h +8 -0
 - data/vendor/local/include/groonga/groonga/output.h +5 -0
 - data/vendor/local/include/groonga/groonga/version.h +2 -2
 - data/vendor/local/include/rapidjson/allocators.h +271 -0
 - data/vendor/local/include/rapidjson/document.h +2575 -0
 - data/vendor/local/include/rapidjson/encodedstream.h +299 -0
 - data/vendor/local/include/rapidjson/encodings.h +716 -0
 - data/vendor/local/include/rapidjson/error/en.h +74 -0
 - data/vendor/local/include/rapidjson/error/error.h +155 -0
 - data/vendor/local/include/rapidjson/filereadstream.h +99 -0
 - data/vendor/local/include/rapidjson/filewritestream.h +104 -0
 - data/vendor/local/include/rapidjson/fwd.h +151 -0
 - data/vendor/local/include/rapidjson/internal/biginteger.h +290 -0
 - data/vendor/local/include/rapidjson/internal/diyfp.h +258 -0
 - data/vendor/local/include/rapidjson/internal/dtoa.h +245 -0
 - data/vendor/local/include/rapidjson/internal/ieee754.h +78 -0
 - data/vendor/local/include/rapidjson/internal/itoa.h +304 -0
 - data/vendor/local/include/rapidjson/internal/meta.h +181 -0
 - data/vendor/local/include/rapidjson/internal/pow10.h +55 -0
 - data/vendor/local/include/rapidjson/internal/regex.h +701 -0
 - data/vendor/local/include/rapidjson/internal/stack.h +230 -0
 - data/vendor/local/include/rapidjson/internal/strfunc.h +55 -0
 - data/vendor/local/include/rapidjson/internal/strtod.h +269 -0
 - data/vendor/local/include/rapidjson/internal/swap.h +46 -0
 - data/vendor/local/include/rapidjson/istreamwrapper.h +115 -0
 - data/vendor/local/include/rapidjson/memorybuffer.h +70 -0
 - data/vendor/local/include/rapidjson/memorystream.h +71 -0
 - data/vendor/local/include/rapidjson/msinttypes/inttypes.h +316 -0
 - data/vendor/local/include/rapidjson/msinttypes/stdint.h +300 -0
 - data/vendor/local/include/rapidjson/ostreamwrapper.h +81 -0
 - data/vendor/local/include/rapidjson/pointer.h +1358 -0
 - data/vendor/local/include/rapidjson/prettywriter.h +255 -0
 - data/vendor/local/include/rapidjson/rapidjson.h +615 -0
 - data/vendor/local/include/rapidjson/reader.h +1879 -0
 - data/vendor/local/include/rapidjson/schema.h +2006 -0
 - data/vendor/local/include/rapidjson/stream.h +179 -0
 - data/vendor/local/include/rapidjson/stringbuffer.h +117 -0
 - data/vendor/local/include/rapidjson/writer.h +610 -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/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 +44 -18
 - data/vendor/local/lib/groonga/plugins/sharding/logical_count.rb +9 -8
 - data/vendor/local/lib/groonga/plugins/sharding/logical_range_filter.rb +48 -15
 - data/vendor/local/lib/groonga/plugins/sharding/logical_select.rb +84 -58
 - data/vendor/local/lib/groonga/plugins/sharding/range_expression_builder.rb +1 -1
 - 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/command.rb +3 -4
 - data/vendor/local/lib/groonga/scripts/ruby/command_line/grndb.rb +267 -77
 - data/vendor/local/lib/groonga/scripts/ruby/command_line_parser.rb +96 -0
 - data/vendor/local/lib/groonga/scripts/ruby/expression_rewriters/optimizer.rb +1 -1
 - data/vendor/local/lib/groonga/scripts/ruby/expression_tree/binary_operation.rb +30 -7
 - data/vendor/local/lib/groonga/scripts/ruby/initialize/pre.rb +5 -0
 - data/vendor/local/lib/groonga/scripts/ruby/loggable.rb +8 -0
 - data/vendor/local/lib/groonga/scripts/ruby/logger/flags.rb +70 -0
 - data/vendor/local/lib/groonga/scripts/ruby/query_loggable.rb +8 -0
 - data/vendor/local/lib/groonga/scripts/ruby/scan_info_builder.rb +1 -1
 - data/vendor/local/lib/groonga/scripts/ruby/scan_info_data.rb +2 -2
 - data/vendor/local/lib/groonga/scripts/ruby/time.rb +9 -0
 - 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.dll +0 -0
 - data/vendor/local/lib/liblz4.dll.1 +0 -0
 - data/vendor/local/lib/liblz4.dll.1.8.2 +0 -0
 - data/vendor/local/lib/libmecab.dll.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/libonigmo.la +1 -1
 - data/vendor/local/lib/libpcre.dll.a +0 -0
 - data/vendor/local/lib/libpcrecpp.dll.a +0 -0
 - data/vendor/local/lib/libpcreposix.dll.a +0 -0
 - data/vendor/local/lib/libz.dll.a +0 -0
 - data/vendor/local/lib/pkgconfig/groonga.pc +2 -2
 - 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/RapidJSON/examples/CMakeLists.txt +42 -0
 - data/vendor/local/share/doc/RapidJSON/examples/capitalize/capitalize.cpp +67 -0
 - data/vendor/local/share/doc/RapidJSON/examples/condense/condense.cpp +32 -0
 - data/vendor/local/share/doc/RapidJSON/examples/filterkey/filterkey.cpp +135 -0
 - data/vendor/local/share/doc/RapidJSON/examples/filterkeydom/filterkeydom.cpp +170 -0
 - data/vendor/local/share/doc/RapidJSON/examples/jsonx/jsonx.cpp +207 -0
 - data/vendor/local/share/doc/RapidJSON/examples/messagereader/messagereader.cpp +105 -0
 - data/vendor/local/share/doc/RapidJSON/examples/parsebyparts/parsebyparts.cpp +173 -0
 - data/vendor/local/share/doc/RapidJSON/examples/pretty/pretty.cpp +30 -0
 - data/vendor/local/share/doc/RapidJSON/examples/prettyauto/prettyauto.cpp +56 -0
 - data/vendor/local/share/doc/RapidJSON/examples/schemavalidator/schemavalidator.cpp +72 -0
 - data/vendor/local/share/doc/RapidJSON/examples/serialize/serialize.cpp +173 -0
 - data/vendor/local/share/doc/RapidJSON/examples/simpledom/simpledom.cpp +29 -0
 - data/vendor/local/share/doc/RapidJSON/examples/simplereader/simplereader.cpp +42 -0
 - data/vendor/local/share/doc/RapidJSON/examples/simplewriter/simplewriter.cpp +36 -0
 - data/vendor/local/share/doc/RapidJSON/examples/tutorial/tutorial.cpp +151 -0
 - data/vendor/local/share/doc/RapidJSON/readme.md +160 -0
 - data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
 - data/vendor/local/share/doc/groonga/en/html/_static/documentation_options.js +1 -1
 - data/vendor/local/share/doc/groonga/en/html/characteristic.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/client.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/community.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/contribution.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/contribution/development.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/build.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_autotools.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_cmake.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/build/windows_cmake.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/cooperation.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/release.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/repository.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/contribution/documentation/introduction.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/contribution/report.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/development.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/development/travis-ci.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/genindex.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/index.html +11 -7
 - data/vendor/local/share/doc/groonga/en/html/install.html +5 -4
 - data/vendor/local/share/doc/groonga/en/html/install/centos.html +6 -6
 - data/vendor/local/share/doc/groonga/en/html/install/debian.html +79 -8
 - data/vendor/local/share/doc/groonga/en/html/install/docker.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/install/fedora.html +6 -6
 - data/vendor/local/share/doc/groonga/en/html/install/mac_os_x.html +6 -6
 - data/vendor/local/share/doc/groonga/en/html/install/others.html +6 -6
 - data/vendor/local/share/doc/groonga/en/html/install/solaris.html +6 -6
 - data/vendor/local/share/doc/groonga/en/html/install/ubuntu.html +6 -6
 - data/vendor/local/share/doc/groonga/en/html/install/windows.html +12 -12
 - data/vendor/local/share/doc/groonga/en/html/limitations.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/news.html +498 -206
 - data/vendor/local/share/doc/groonga/en/html/news/0.x.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/news/1.3.x.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/news/2.x.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/news/3.x.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/news/4.x.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/news/5.x.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/news/6.x.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/news/senna.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
 - data/vendor/local/share/doc/groonga/en/html/reference.html +9 -6
 - data/vendor/local/share/doc/groonga/en/html/reference/alias.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/global_configurations.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_cache.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_column.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_command_version.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_content_type.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ctx.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_db.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_encoding.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_expr.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_geo.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_hook.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ii.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_index_cursor.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_info.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_inspect.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_match_escalation.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_obj.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_proc.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_search.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table_cursor.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_thread.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_type.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_user_data.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/overview.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/api/plugin.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/cast.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/column.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/columns/index.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/columns/pseudo.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/columns/scalar.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/columns/vector.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/command.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/command/command_version.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/command/output_format.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/command/pretty_print.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/command/request_id.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/command/request_timeout.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/command/return_code.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/cache_limit.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/check.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/clearlock.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/column_copy.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/column_create.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/column_list.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/column_remove.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/column_rename.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/config_delete.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/config_get.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/config_set.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/database_unmap.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/define_selector.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/defrag.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/delete.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/dump.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/io_flush.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/load.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_acquire.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_clear.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_release.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/log_level.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/log_put.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/log_reopen.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_count.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_parameters.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_range_filter.html +77 -4
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_select.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_shard_list.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_table_remove.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/normalize.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/normalizer_list.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/object_exist.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/object_inspect.html +78 -54
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/object_list.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/object_remove.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_register.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_unregister.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/query_expand.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/quit.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/range_filter.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/register.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/reindex.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/request_cancel.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_eval.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_load.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/schema.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/select.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/shutdown.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/status.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/suggest.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/table_copy.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/table_create.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/table_list.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/table_remove.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/table_rename.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/table_tokenize.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/thread_limit.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenize.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenizer_list.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/truncate.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/configuration.html +6 -6
 - data/vendor/local/share/doc/groonga/en/html/reference/executables.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/grndb.html +58 -4
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/grnslap.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-benchmark.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-httpd.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-server-http.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-create-dataset.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-httpd.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-learner.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/function.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/between.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/cast_loose.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/edit_distance.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/fuzzy_search.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_distance.html +11 -19
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_circle.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_rectangle.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_full.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_html.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/html_untag.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/in_records.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/in_values.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/math_abs.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/now.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/number_classify.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/prefix_rk_search.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/query.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/rand.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/snippet_html.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/string_length.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/string_substring.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/sub_filter.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_day.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_day_of_week.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_hour.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_minute.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_month.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_second.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_week.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_year.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_find.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_new.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_size.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_slice.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/grn_expr.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/query_syntax.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/script_syntax.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/indexing.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/log.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/normalizers.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/normalizers/normalizer_auto.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/normalizers/normalizer_nfkc100.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/normalizers/normalizer_nfkc51.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/operations.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/operations/geolocation_search.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/operations/prefix_rk_search.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/output.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/query_expanders.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/query_expanders/tsv.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/regular_expression.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/scorer.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_at_most.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_idf.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/sharding.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/suggest.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/suggest/completion.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/suggest/correction.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/suggest/introduction.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/suggest/suggestion.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/tables.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/token_filter/summary.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/token_filters.html +7 -7
 - data/vendor/local/share/doc/groonga/en/html/reference/token_filters/token_filter_nfkc100.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/token_filters/token_filter_stem.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/token_filters/token_filter_stop_word.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizer/summary.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers.html +9 -6
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_ignore_blank.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol_alpha.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol_alpha_digit.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_split_symbol.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_split_symbol_alpha.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_split_symbol_alpha_digit.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_delimit.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_delimit_null.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_mecab.html +8 -8
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_ngram.html +1005 -0
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_pattern.html +240 -0
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_regexp.html +21 -21
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_table.html +246 -0
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_trigram.html +20 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_unigram.html +15 -15
 - data/vendor/local/share/doc/groonga/en/html/reference/tuning.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/types.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/window_function.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/window_functions/record_number.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/window_functions/window_count.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/window_functions/window_record_number.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/reference/window_functions/window_sum.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/search.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
 - data/vendor/local/share/doc/groonga/en/html/server.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/server/gqtp.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/server/http.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/server/http/comparison.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/server/http/groonga-httpd.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/server/http/groonga.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/server/memcached.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/server/package.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/spec.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/spec/gqtp.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/spec/search.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/troubleshooting/how_to_analyze_error_message.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/troubleshooting/mmap_cannot_allocate_memory.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/tutorial.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +68 -6
 - data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +37 -4
 - data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +3 -3
 - data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
 - data/vendor/local/share/doc/groonga/ja/html/_static/documentation_options.js +1 -1
 - data/vendor/local/share/doc/groonga/ja/html/characteristic.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/client.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/community.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/contribution.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/build.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_autotools.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_cmake.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/windows_cmake.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/cooperation.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/release.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/repository.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/introduction.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/development.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/development/travis-ci.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/genindex.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/index.html +11 -7
 - data/vendor/local/share/doc/groonga/ja/html/install.html +5 -4
 - data/vendor/local/share/doc/groonga/ja/html/install/centos.html +6 -6
 - data/vendor/local/share/doc/groonga/ja/html/install/debian.html +69 -8
 - data/vendor/local/share/doc/groonga/ja/html/install/docker.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/install/fedora.html +6 -6
 - data/vendor/local/share/doc/groonga/ja/html/install/mac_os_x.html +6 -6
 - data/vendor/local/share/doc/groonga/ja/html/install/others.html +6 -6
 - data/vendor/local/share/doc/groonga/ja/html/install/solaris.html +6 -6
 - data/vendor/local/share/doc/groonga/ja/html/install/ubuntu.html +6 -6
 - data/vendor/local/share/doc/groonga/ja/html/install/windows.html +12 -12
 - data/vendor/local/share/doc/groonga/ja/html/limitations.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/news.html +494 -206
 - data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/news/1.3.x.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/news/2.x.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/news/3.x.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/news/4.x.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/news/5.x.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/news/6.x.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/news/senna.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
 - data/vendor/local/share/doc/groonga/ja/html/reference.html +9 -6
 - data/vendor/local/share/doc/groonga/ja/html/reference/alias.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/global_configurations.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_cache.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_column.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_command_version.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_content_type.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ctx.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_db.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_encoding.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_expr.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_geo.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_hook.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ii.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_index_cursor.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_info.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_inspect.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_match_escalation.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_obj.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_proc.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_search.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table_cursor.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_thread.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_type.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_user_data.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/overview.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/plugin.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/cast.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/column.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/columns/index.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/columns/pseudo.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/columns/scalar.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/columns/vector.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/command.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/command/command_version.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/command/output_format.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/command/pretty_print.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/command/request_id.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/command/request_timeout.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/command/return_code.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/cache_limit.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/check.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/clearlock.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_copy.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_create.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_list.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_remove.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_rename.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_delete.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_get.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_set.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/database_unmap.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/define_selector.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/defrag.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/delete.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/dump.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/io_flush.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/load.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_acquire.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_clear.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_release.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_level.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_put.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_reopen.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_count.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_parameters.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_range_filter.html +75 -4
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_select.html +7 -7
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_shard_list.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_table_remove.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalize.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalizer_list.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_exist.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_inspect.html +73 -54
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_list.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_remove.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_register.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_unregister.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/query_expand.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/quit.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/range_filter.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/register.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/reindex.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/request_cancel.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_eval.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_load.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/schema.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/select.html +7 -7
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/shutdown.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/status.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/suggest.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_copy.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_create.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_list.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_remove.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_rename.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_tokenize.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/thread_limit.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenize.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenizer_list.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/truncate.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/configuration.html +6 -6
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/grndb.html +57 -4
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/grnslap.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-benchmark.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-httpd.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-server-http.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-create-dataset.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-httpd.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-learner.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/function.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/between.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/cast_loose.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/edit_distance.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/fuzzy_search.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_distance.html +11 -19
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_circle.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_rectangle.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_full.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_html.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/html_untag.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_records.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_values.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/math_abs.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/now.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/number_classify.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/prefix_rk_search.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/query.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/rand.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/snippet_html.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/string_length.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/string_substring.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/sub_filter.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_day.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_day_of_week.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_hour.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_minute.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_month.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_second.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_week.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_year.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_find.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_new.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_size.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_slice.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/query_syntax.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/script_syntax.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/indexing.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/log.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/normalizers.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/normalizers/normalizer_auto.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/normalizers/normalizer_nfkc100.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/normalizers/normalizer_nfkc51.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/operations.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/operations/geolocation_search.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/operations/prefix_rk_search.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/output.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders/tsv.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/regular_expression.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/scorer.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_at_most.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_idf.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/sharding.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/suggest.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/suggest/completion.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/suggest/correction.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/suggest/introduction.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/suggest/suggestion.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/tables.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/token_filter/summary.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/token_filters.html +7 -7
 - data/vendor/local/share/doc/groonga/ja/html/reference/token_filters/token_filter_nfkc100.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/token_filters/token_filter_stem.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/token_filters/token_filter_stop_word.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizer/summary.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers.html +9 -6
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_ignore_blank.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol_alpha.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol_alpha_digit.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_split_symbol.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_split_symbol_alpha.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_split_symbol_alpha_digit.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_delimit.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_delimit_null.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_mecab.html +8 -8
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_ngram.html +998 -0
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_pattern.html +240 -0
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_regexp.html +21 -21
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_table.html +242 -0
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_trigram.html +20 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_unigram.html +15 -15
 - data/vendor/local/share/doc/groonga/ja/html/reference/tuning.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/types.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/window_function.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/record_number.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/window_count.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/window_record_number.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/window_sum.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/search.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
 - data/vendor/local/share/doc/groonga/ja/html/server.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/server/gqtp.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/server/http.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/server/http/comparison.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/server/http/groonga-httpd.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/server/http/groonga.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/server/memcached.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/server/package.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/spec.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/spec/gqtp.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/spec/search.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/troubleshooting/how_to_analyze_error_message.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/troubleshooting/mmap_cannot_allocate_memory.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/tutorial.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +64 -6
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +37 -4
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +3 -3
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +3 -3
 - data/vendor/local/share/groonga/COPYING +502 -0
 - data/vendor/local/share/groonga/mruby/LEGAL +58 -54
 - data/vendor/local/share/license/mruby/AUTHORS +6 -2
 - data/vendor/local/share/license/mruby/LEGAL +1 -1
 - data/vendor/local/share/license/mruby/{MITL → LICENSE} +1 -1
 - data/vendor/local/share/license/mruby/README.md +3 -3
 - data/vendor/local/share/license/rapidjson/license.txt +57 -0
 - metadata +126 -60
 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         @@ -4,7 +4,7 @@ module Groonga 
     | 
|
| 
       4 
4 
     | 
    
         
             
                  include Enumerable
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
                  class << self
         
     | 
| 
       7 
     | 
    
         
            -
                    def parse(input)
         
     | 
| 
      
 7 
     | 
    
         
            +
                    def parse(tag, input)
         
     | 
| 
       8 
8 
     | 
    
         
             
                      initial_contexts = {}
         
     | 
| 
       9 
9 
     | 
    
         
             
                      filtered_contexts = {}
         
     | 
| 
       10 
10 
     | 
    
         
             
                      output_contexts = {}
         
     | 
| 
         @@ -21,7 +21,9 @@ module Groonga 
     | 
|
| 
       21 
21 
     | 
    
         
             
                        else
         
     | 
| 
       22 
22 
     | 
    
         
             
                          next
         
     | 
| 
       23 
23 
     | 
    
         
             
                        end
         
     | 
| 
       24 
     | 
    
         
            -
                        contexts[label] = DynamicColumnExecuteContext.new( 
     | 
| 
      
 24 
     | 
    
         
            +
                        contexts[label] = DynamicColumnExecuteContext.new(tag,
         
     | 
| 
      
 25 
     | 
    
         
            +
                                                                          label,
         
     | 
| 
      
 26 
     | 
    
         
            +
                                                                          arguments)
         
     | 
| 
       25 
27 
     | 
    
         
             
                      end
         
     | 
| 
       26 
28 
     | 
    
         | 
| 
       27 
29 
     | 
    
         
             
                      new(DynamicColumnExecuteContexts.new(initial_contexts),
         
     | 
| 
         @@ -125,15 +127,26 @@ module Groonga 
     | 
|
| 
       125 
127 
     | 
    
         
             
                    end
         
     | 
| 
       126 
128 
     | 
    
         | 
| 
       127 
129 
     | 
    
         
             
                    if options.fetch(:normal, true)
         
     | 
| 
       128 
     | 
    
         
            -
                      targets.each do |result_set,  
     | 
| 
      
 130 
     | 
    
         
            +
                      targets.each do |result_set, target_options|
         
     | 
| 
       129 
131 
     | 
    
         
             
                        normal_contexts.each do |context|
         
     | 
| 
       130 
     | 
    
         
            -
                           
     | 
| 
      
 132 
     | 
    
         
            +
                          global_options = nil
         
     | 
| 
      
 133 
     | 
    
         
            +
                          if options and options[:query_log_prefix]
         
     | 
| 
      
 134 
     | 
    
         
            +
                            global_options = {
         
     | 
| 
      
 135 
     | 
    
         
            +
                              query_log_prefix: options[:query_log_prefix],
         
     | 
| 
      
 136 
     | 
    
         
            +
                            }
         
     | 
| 
      
 137 
     | 
    
         
            +
                          end
         
     | 
| 
      
 138 
     | 
    
         
            +
                          if target_options and global_options
         
     | 
| 
      
 139 
     | 
    
         
            +
                            target_options = global_options.merge(target_options)
         
     | 
| 
      
 140 
     | 
    
         
            +
                          elsif global_options
         
     | 
| 
      
 141 
     | 
    
         
            +
                            target_options = global_options
         
     | 
| 
      
 142 
     | 
    
         
            +
                          end
         
     | 
| 
      
 143 
     | 
    
         
            +
                          context.apply(result_set, target_options)
         
     | 
| 
       131 
144 
     | 
    
         
             
                        end
         
     | 
| 
       132 
145 
     | 
    
         
             
                      end
         
     | 
| 
       133 
146 
     | 
    
         
             
                    end
         
     | 
| 
       134 
147 
     | 
    
         
             
                    if options.fetch(:window_function, true)
         
     | 
| 
       135 
148 
     | 
    
         
             
                      window_function_contexts.each do |context|
         
     | 
| 
       136 
     | 
    
         
            -
                        context.apply_window_function(targets)
         
     | 
| 
      
 149 
     | 
    
         
            +
                        context.apply_window_function(targets, options)
         
     | 
| 
       137 
150 
     | 
    
         
             
                      end
         
     | 
| 
       138 
151 
     | 
    
         
             
                    end
         
     | 
| 
       139 
152 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -183,6 +196,7 @@ module Groonga 
     | 
|
| 
       183 
196 
     | 
    
         
             
                end
         
     | 
| 
       184 
197 
     | 
    
         | 
| 
       185 
198 
     | 
    
         
             
                class DynamicColumnExecuteContext
         
     | 
| 
      
 199 
     | 
    
         
            +
                  include QueryLoggable
         
     | 
| 
       186 
200 
     | 
    
         
             
                  include KeysParsable
         
     | 
| 
       187 
201 
     | 
    
         | 
| 
       188 
202 
     | 
    
         
             
                  attr_reader :label
         
     | 
| 
         @@ -192,7 +206,8 @@ module Groonga 
     | 
|
| 
       192 
206 
     | 
    
         
             
                  attr_reader :value
         
     | 
| 
       193 
207 
     | 
    
         
             
                  attr_reader :window_sort_keys
         
     | 
| 
       194 
208 
     | 
    
         
             
                  attr_reader :window_group_keys
         
     | 
| 
       195 
     | 
    
         
            -
                  def initialize(label, arguments)
         
     | 
| 
      
 209 
     | 
    
         
            +
                  def initialize(tag, label, arguments)
         
     | 
| 
      
 210 
     | 
    
         
            +
                    @tag = tag
         
     | 
| 
       196 
211 
     | 
    
         
             
                    @label = label
         
     | 
| 
       197 
212 
     | 
    
         
             
                    @stage = arguments["stage"]
         
     | 
| 
       198 
213 
     | 
    
         
             
                    @type = parse_type(arguments["type"])
         
     | 
| 
         @@ -210,22 +225,28 @@ module Groonga 
     | 
|
| 
       210 
225 
     | 
    
         
             
                  def apply(table, options=nil)
         
     | 
| 
       211 
226 
     | 
    
         
             
                    return if table.find_column(@label)
         
     | 
| 
       212 
227 
     | 
    
         
             
                    column = table.create_column(@label, @flags, @type)
         
     | 
| 
       213 
     | 
    
         
            -
                    return if table.empty?
         
     | 
| 
       214 
228 
     | 
    
         | 
| 
       215 
     | 
    
         
            -
                     
     | 
| 
       216 
     | 
    
         
            -
                     
     | 
| 
       217 
     | 
    
         
            -
                     
     | 
| 
       218 
     | 
    
         
            -
             
     | 
| 
       219 
     | 
    
         
            -
                       
     | 
| 
       220 
     | 
    
         
            -
                      expression 
     | 
| 
       221 
     | 
    
         
            -
                       
     | 
| 
       222 
     | 
    
         
            -
             
     | 
| 
       223 
     | 
    
         
            -
             
     | 
| 
      
 229 
     | 
    
         
            +
                    query_log_prefix = nil
         
     | 
| 
      
 230 
     | 
    
         
            +
                    query_log_prefix = options[:query_log_prefix] if options
         
     | 
| 
      
 231 
     | 
    
         
            +
                    unless table.empty?
         
     | 
| 
      
 232 
     | 
    
         
            +
                      condition = nil
         
     | 
| 
      
 233 
     | 
    
         
            +
                      condition = options[:condition] if options
         
     | 
| 
      
 234 
     | 
    
         
            +
                      expression = Expression.create(table)
         
     | 
| 
      
 235 
     | 
    
         
            +
                      begin
         
     | 
| 
      
 236 
     | 
    
         
            +
                        expression.parse(@value)
         
     | 
| 
      
 237 
     | 
    
         
            +
                        expression.condition = condition if condition
         
     | 
| 
      
 238 
     | 
    
         
            +
                        table.apply_expression(column, expression)
         
     | 
| 
      
 239 
     | 
    
         
            +
                      ensure
         
     | 
| 
      
 240 
     | 
    
         
            +
                        expression.close
         
     | 
| 
      
 241 
     | 
    
         
            +
                      end
         
     | 
| 
       224 
242 
     | 
    
         
             
                    end
         
     | 
| 
      
 243 
     | 
    
         
            +
                    query_logger.log(:size, ":",
         
     | 
| 
      
 244 
     | 
    
         
            +
                                     "#{query_log_prefix}columns[#{@label}](#{table.size})")
         
     | 
| 
       225 
245 
     | 
    
         
             
                  end
         
     | 
| 
       226 
246 
     | 
    
         | 
| 
       227 
     | 
    
         
            -
                  def apply_window_function(targets)
         
     | 
| 
      
 247 
     | 
    
         
            +
                  def apply_window_function(targets, options=nil)
         
     | 
| 
       228 
248 
     | 
    
         
             
                    executor = WindowFunctionExecutor.new
         
     | 
| 
      
 249 
     | 
    
         
            +
                    n_records = 0
         
     | 
| 
       229 
250 
     | 
    
         
             
                    begin
         
     | 
| 
       230 
251 
     | 
    
         
             
                      executor.source = @value
         
     | 
| 
       231 
252 
     | 
    
         
             
                      executor.sort_keys = @window_sort_keys.join(", ")
         
     | 
| 
         @@ -240,12 +261,17 @@ module Groonga 
     | 
|
| 
       240 
261 
     | 
    
         
             
                          executor.add_context_table(table)
         
     | 
| 
       241 
262 
     | 
    
         
             
                        else
         
     | 
| 
       242 
263 
     | 
    
         
             
                          executor.add_table(table)
         
     | 
| 
      
 264 
     | 
    
         
            +
                          n_records += table.size
         
     | 
| 
       243 
265 
     | 
    
         
             
                        end
         
     | 
| 
       244 
266 
     | 
    
         
             
                      end
         
     | 
| 
       245 
267 
     | 
    
         
             
                      executor.execute
         
     | 
| 
       246 
268 
     | 
    
         
             
                    ensure
         
     | 
| 
       247 
269 
     | 
    
         
             
                      executor.close
         
     | 
| 
       248 
270 
     | 
    
         
             
                    end
         
     | 
| 
      
 271 
     | 
    
         
            +
                    query_log_prefix = nil
         
     | 
| 
      
 272 
     | 
    
         
            +
                    query_log_prefix = options[:query_log_prefix] if options
         
     | 
| 
      
 273 
     | 
    
         
            +
                    query_logger.log(:size, ":",
         
     | 
| 
      
 274 
     | 
    
         
            +
                                     "#{query_log_prefix}columns[#{@label}](#{n_records})")
         
     | 
| 
       249 
275 
     | 
    
         
             
                  end
         
     | 
| 
       250 
276 
     | 
    
         | 
| 
       251 
277 
     | 
    
         
             
                  private
         
     | 
| 
         @@ -276,7 +302,7 @@ module Groonga 
     | 
|
| 
       276 
302 
     | 
    
         
             
                  end
         
     | 
| 
       277 
303 
     | 
    
         | 
| 
       278 
304 
     | 
    
         
             
                  def error_message_tag
         
     | 
| 
       279 
     | 
    
         
            -
                    "[ 
     | 
| 
      
 305 
     | 
    
         
            +
                    "#{@tag}[columns][#{@stage}][#{@label}]"
         
     | 
| 
       280 
306 
     | 
    
         
             
                  end
         
     | 
| 
       281 
307 
     | 
    
         
             
                end
         
     | 
| 
       282 
308 
     | 
    
         
             
              end
         
     | 
| 
         @@ -50,7 +50,7 @@ module Groonga 
     | 
|
| 
       50 
50 
     | 
    
         
             
                    key << "#{input[:max_border]}\0"
         
     | 
| 
       51 
51 
     | 
    
         
             
                    key << "#{input[:filter]}\0"
         
     | 
| 
       52 
52 
     | 
    
         
             
                    key << "#{input[:post_filter]}\0"
         
     | 
| 
       53 
     | 
    
         
            -
                    dynamic_columns = DynamicColumns.parse(input)
         
     | 
| 
      
 53 
     | 
    
         
            +
                    dynamic_columns = DynamicColumns.parse("[logical_count]", input)
         
     | 
| 
       54 
54 
     | 
    
         
             
                    key << dynamic_columns.cache_key
         
     | 
| 
       55 
55 
     | 
    
         
             
                    key
         
     | 
| 
       56 
56 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -69,11 +69,12 @@ module Groonga 
     | 
|
| 
       69 
69 
     | 
    
         
             
                  end
         
     | 
| 
       70 
70 
     | 
    
         | 
| 
       71 
71 
     | 
    
         
             
                  class Counter
         
     | 
| 
      
 72 
     | 
    
         
            +
                    include Loggable
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
       72 
74 
     | 
    
         
             
                    def initialize(input, target_range)
         
     | 
| 
       73 
     | 
    
         
            -
                      @logger = Context.instance.logger
         
     | 
| 
       74 
75 
     | 
    
         
             
                      @filter = input[:filter]
         
     | 
| 
       75 
76 
     | 
    
         
             
                      @post_filter = input[:post_filter]
         
     | 
| 
       76 
     | 
    
         
            -
                      @dynamic_columns = DynamicColumns.parse(input)
         
     | 
| 
      
 77 
     | 
    
         
            +
                      @dynamic_columns = DynamicColumns.parse("[logical_count]", input)
         
     | 
| 
       77 
78 
     | 
    
         
             
                      @target_range = target_range
         
     | 
| 
       78 
79 
     | 
    
         
             
                      @contexts = []
         
     | 
| 
       79 
80 
     | 
    
         
             
                      @temporary_tables = []
         
     | 
| 
         @@ -136,11 +137,11 @@ module Groonga 
     | 
|
| 
       136 
137 
     | 
    
         
             
                        message << "[select]"
         
     | 
| 
       137 
138 
     | 
    
         
             
                      end
         
     | 
| 
       138 
139 
     | 
    
         
             
                      message << " <#{table_name}>: #{reason}"
         
     | 
| 
       139 
     | 
    
         
            -
                       
     | 
| 
       140 
     | 
    
         
            -
             
     | 
| 
       141 
     | 
    
         
            -
             
     | 
| 
       142 
     | 
    
         
            -
             
     | 
| 
       143 
     | 
    
         
            -
             
     | 
| 
      
 140 
     | 
    
         
            +
                      logger.log(Logger::Level::DEBUG,
         
     | 
| 
      
 141 
     | 
    
         
            +
                                 __FILE__,
         
     | 
| 
      
 142 
     | 
    
         
            +
                                 line,
         
     | 
| 
      
 143 
     | 
    
         
            +
                                 method.to_s,
         
     | 
| 
      
 144 
     | 
    
         
            +
                                 message)
         
     | 
| 
       144 
145 
     | 
    
         
             
                    end
         
     | 
| 
       145 
146 
     | 
    
         | 
| 
       146 
147 
     | 
    
         
             
                    def prepare_contexts
         
     | 
| 
         @@ -53,6 +53,7 @@ module Groonga 
     | 
|
| 
       53 
53 
     | 
    
         
             
                          break if limit <= 0
         
     | 
| 
       54 
54 
     | 
    
         
             
                        end
         
     | 
| 
       55 
55 
     | 
    
         
             
                      end
         
     | 
| 
      
 56 
     | 
    
         
            +
                      query_logger.log(:size, ":", "output(#{n_elements - 1})")
         
     | 
| 
       56 
57 
     | 
    
         
             
                    ensure
         
     | 
| 
       57 
58 
     | 
    
         
             
                      context.close
         
     | 
| 
       58 
59 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -75,7 +76,8 @@ module Groonga 
     | 
|
| 
       75 
76 
     | 
    
         
             
                    key << "#{input[:use_range_index]}\0"
         
     | 
| 
       76 
77 
     | 
    
         
             
                    key << "#{input[:post_filter]}\0"
         
     | 
| 
       77 
78 
     | 
    
         
             
                    key << "#{input[:sort_keys]}\0"
         
     | 
| 
       78 
     | 
    
         
            -
                    dynamic_columns = DynamicColumns.parse( 
     | 
| 
      
 79 
     | 
    
         
            +
                    dynamic_columns = DynamicColumns.parse("[logical_range_filter]",
         
     | 
| 
      
 80 
     | 
    
         
            +
                                                           input)
         
     | 
| 
       79 
81 
     | 
    
         
             
                    key << dynamic_columns.cache_key
         
     | 
| 
       80 
82 
     | 
    
         
             
                    key
         
     | 
| 
       81 
83 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -97,6 +99,7 @@ module Groonga 
     | 
|
| 
       97 
99 
     | 
    
         
             
                    attr_reader :result_sets
         
     | 
| 
       98 
100 
     | 
    
         
             
                    attr_reader :temporary_tables
         
     | 
| 
       99 
101 
     | 
    
         
             
                    attr_reader :threshold
         
     | 
| 
      
 102 
     | 
    
         
            +
                    attr_reader :large_shard_threshold
         
     | 
| 
       100 
103 
     | 
    
         
             
                    attr_reader :time_classify_types
         
     | 
| 
       101 
104 
     | 
    
         
             
                    def initialize(input)
         
     | 
| 
       102 
105 
     | 
    
         
             
                      @input = input
         
     | 
| 
         @@ -109,7 +112,8 @@ module Groonga 
     | 
|
| 
       109 
112 
     | 
    
         
             
                      @post_filter = @input[:post_filter]
         
     | 
| 
       110 
113 
     | 
    
         
             
                      @sort_keys = parse_keys(@input[:sort_keys])
         
     | 
| 
       111 
114 
     | 
    
         | 
| 
       112 
     | 
    
         
            -
                      @dynamic_columns = DynamicColumns.parse( 
     | 
| 
      
 115 
     | 
    
         
            +
                      @dynamic_columns = DynamicColumns.parse("[logical_range_filter]",
         
     | 
| 
      
 116 
     | 
    
         
            +
                                                              @input)
         
     | 
| 
       113 
117 
     | 
    
         | 
| 
       114 
118 
     | 
    
         
             
                      @current_offset = @offset
         
     | 
| 
       115 
119 
     | 
    
         
             
                      @current_limit = @limit
         
     | 
| 
         @@ -118,6 +122,7 @@ module Groonga 
     | 
|
| 
       118 
122 
     | 
    
         
             
                      @temporary_tables = []
         
     | 
| 
       119 
123 
     | 
    
         | 
| 
       120 
124 
     | 
    
         
             
                      @threshold = compute_threshold
         
     | 
| 
      
 125 
     | 
    
         
            +
                      @large_shard_threshold = compute_large_shard_threshold
         
     | 
| 
       121 
126 
     | 
    
         | 
| 
       122 
127 
     | 
    
         
             
                      @time_classify_types = detect_time_classify_types
         
     | 
| 
       123 
128 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -169,6 +174,12 @@ module Groonga 
     | 
|
| 
       169 
174 
     | 
    
         
             
                      (threshold_env || default_threshold).to_f
         
     | 
| 
       170 
175 
     | 
    
         
             
                    end
         
     | 
| 
       171 
176 
     | 
    
         | 
| 
      
 177 
     | 
    
         
            +
                    def compute_large_shard_threshold
         
     | 
| 
      
 178 
     | 
    
         
            +
                      threshold_env = ENV["GRN_LOGICAL_RANGE_FILTER_LARGE_SHARD_THRESHOLD"]
         
     | 
| 
      
 179 
     | 
    
         
            +
                      default_threshold = "10_000"
         
     | 
| 
      
 180 
     | 
    
         
            +
                      (threshold_env || default_threshold).to_i(10)
         
     | 
| 
      
 181 
     | 
    
         
            +
                    end
         
     | 
| 
      
 182 
     | 
    
         
            +
             
     | 
| 
       172 
183 
     | 
    
         
             
                    def detect_time_classify_types
         
     | 
| 
       173 
184 
     | 
    
         
             
                      window_group_keys = []
         
     | 
| 
       174 
185 
     | 
    
         
             
                      @dynamic_columns.each_filtered do |dynamic_column|
         
     | 
| 
         @@ -261,6 +272,7 @@ module Groonga 
     | 
|
| 
       261 
272 
     | 
    
         | 
| 
       262 
273 
     | 
    
         
             
                  class Window
         
     | 
| 
       263 
274 
     | 
    
         
             
                    include Comparable
         
     | 
| 
      
 275 
     | 
    
         
            +
                    include Loggable
         
     | 
| 
       264 
276 
     | 
    
         | 
| 
       265 
277 
     | 
    
         
             
                    attr_reader :unit
         
     | 
| 
       266 
278 
     | 
    
         
             
                    attr_reader :step
         
     | 
| 
         @@ -326,11 +338,11 @@ module Groonga 
     | 
|
| 
       326 
338 
     | 
    
         
             
                            message = "[logical_range_filter][window] "
         
     | 
| 
       327 
339 
     | 
    
         
             
                            message << "<#{@shard.table_name}>: "
         
     | 
| 
       328 
340 
     | 
    
         
             
                            message << inspect_range(current_min, current_max)
         
     | 
| 
       329 
     | 
    
         
            -
                             
     | 
| 
       330 
     | 
    
         
            -
             
     | 
| 
       331 
     | 
    
         
            -
             
     | 
| 
       332 
     | 
    
         
            -
             
     | 
| 
       333 
     | 
    
         
            -
             
     | 
| 
      
 341 
     | 
    
         
            +
                            logger.log(Logger::Level::DEBUG,
         
     | 
| 
      
 342 
     | 
    
         
            +
                                       __FILE__,
         
     | 
| 
      
 343 
     | 
    
         
            +
                                       __LINE__,
         
     | 
| 
      
 344 
     | 
    
         
            +
                                       __method__.to_s,
         
     | 
| 
      
 345 
     | 
    
         
            +
                                       message)
         
     | 
| 
       334 
346 
     | 
    
         
             
                            yield(windowed_table)
         
     | 
| 
       335 
347 
     | 
    
         
             
                          end
         
     | 
| 
       336 
348 
     | 
    
         
             
                          current_min = next_min
         
     | 
| 
         @@ -494,6 +506,9 @@ module Groonga 
     | 
|
| 
       494 
506 
     | 
    
         
             
                  end
         
     | 
| 
       495 
507 
     | 
    
         | 
| 
       496 
508 
     | 
    
         
             
                  class ShardExecutor
         
     | 
| 
      
 509 
     | 
    
         
            +
                    include Loggable
         
     | 
| 
      
 510 
     | 
    
         
            +
                    include QueryLoggable
         
     | 
| 
      
 511 
     | 
    
         
            +
             
     | 
| 
       497 
512 
     | 
    
         
             
                    attr_reader :shard
         
     | 
| 
       498 
513 
     | 
    
         
             
                    attr_writer :previous_executor
         
     | 
| 
       499 
514 
     | 
    
         
             
                    attr_writer :next_executor
         
     | 
| 
         @@ -634,12 +649,11 @@ module Groonga 
     | 
|
| 
       634 
649 
     | 
    
         
             
                      end
         
     | 
| 
       635 
650 
     | 
    
         
             
                      message << "<#{@shard.table_name}>: "
         
     | 
| 
       636 
651 
     | 
    
         
             
                      message << reason
         
     | 
| 
       637 
     | 
    
         
            -
                       
     | 
| 
       638 
     | 
    
         
            -
             
     | 
| 
       639 
     | 
    
         
            -
             
     | 
| 
       640 
     | 
    
         
            -
             
     | 
| 
       641 
     | 
    
         
            -
             
     | 
| 
       642 
     | 
    
         
            -
             
     | 
| 
      
 652 
     | 
    
         
            +
                      logger.log(Logger::Level::DEBUG,
         
     | 
| 
      
 653 
     | 
    
         
            +
                                 __FILE__,
         
     | 
| 
      
 654 
     | 
    
         
            +
                                 line,
         
     | 
| 
      
 655 
     | 
    
         
            +
                                 method.to_s,
         
     | 
| 
      
 656 
     | 
    
         
            +
                                 message)
         
     | 
| 
       643 
657 
     | 
    
         
             
                      use
         
     | 
| 
       644 
658 
     | 
    
         
             
                    end
         
     | 
| 
       645 
659 
     | 
    
         | 
| 
         @@ -693,7 +707,8 @@ module Groonga 
     | 
|
| 
       693 
707 
     | 
    
         | 
| 
       694 
708 
     | 
    
         
             
                      required_n_records = @context.current_offset + current_limit
         
     | 
| 
       695 
709 
     | 
    
         
             
                      max_n_records = @shard.table.size
         
     | 
| 
       696 
     | 
    
         
            -
                       
     | 
| 
      
 710 
     | 
    
         
            +
                      is_large_shard = (max_n_records > @context.large_shard_threshold)
         
     | 
| 
      
 711 
     | 
    
         
            +
                      if is_large_shard and max_n_records <= required_n_records
         
     | 
| 
       697 
712 
     | 
    
         
             
                        reason = "the number of required records (#{required_n_records}) "
         
     | 
| 
       698 
713 
     | 
    
         
             
                        reason << ">= "
         
     | 
| 
       699 
714 
     | 
    
         
             
                        reason << "the number of records in shard (#{max_n_records})"
         
     | 
| 
         @@ -758,7 +773,7 @@ module Groonga 
     | 
|
| 
       758 
773 
     | 
    
         
             
                        end
         
     | 
| 
       759 
774 
     | 
    
         
             
                      end
         
     | 
| 
       760 
775 
     | 
    
         | 
| 
       761 
     | 
    
         
            -
                      if estimated_n_records <= required_n_records
         
     | 
| 
      
 776 
     | 
    
         
            +
                      if is_large_shard and estimated_n_records <= required_n_records
         
     | 
| 
       762 
777 
     | 
    
         
             
                        reason = "the number of required records (#{required_n_records}) "
         
     | 
| 
       763 
778 
     | 
    
         
             
                        reason << ">= "
         
     | 
| 
       764 
779 
     | 
    
         
             
                        reason << "the number of estimated records (#{estimated_n_records})"
         
     | 
| 
         @@ -966,10 +981,18 @@ module Groonga 
     | 
|
| 
       966 
981 
     | 
    
         
             
                                n_matched_records = index_cursor.select(result_set, options)
         
     | 
| 
       967 
982 
     | 
    
         
             
                              end
         
     | 
| 
       968 
983 
     | 
    
         
             
                            end
         
     | 
| 
      
 984 
     | 
    
         
            +
                            # TODO: Add range information
         
     | 
| 
      
 985 
     | 
    
         
            +
                            query_logger.log(:size, ":",
         
     | 
| 
      
 986 
     | 
    
         
            +
                                             "filter(#{n_matched_records})" +
         
     | 
| 
      
 987 
     | 
    
         
            +
                                             "[#{@shard.table_name}]: #{@filter}")
         
     | 
| 
       969 
988 
     | 
    
         
             
                          else
         
     | 
| 
       970 
989 
     | 
    
         
             
                            IndexCursor.open(table_cursor, range_index) do |index_cursor|
         
     | 
| 
       971 
990 
     | 
    
         
             
                              n_matched_records = index_cursor.select(result_set, options)
         
     | 
| 
       972 
991 
     | 
    
         
             
                            end
         
     | 
| 
      
 992 
     | 
    
         
            +
                            # TODO: Add range information
         
     | 
| 
      
 993 
     | 
    
         
            +
                            query_logger.log(:size, ":",
         
     | 
| 
      
 994 
     | 
    
         
            +
                                             "filter(#{n_matched_records})" +
         
     | 
| 
      
 995 
     | 
    
         
            +
                                             "[#{@shard.table_name}]")
         
     | 
| 
       973 
996 
     | 
    
         
             
                          end
         
     | 
| 
       974 
997 
     | 
    
         
             
                          if n_matched_records == -1
         
     | 
| 
       975 
998 
     | 
    
         
             
                            result_set.close
         
     | 
| 
         @@ -1108,6 +1131,16 @@ module Groonga 
     | 
|
| 
       1108 
1131 
     | 
    
         
             
                      if @context.current_limit > 0
         
     | 
| 
       1109 
1132 
     | 
    
         
             
                        @context.current_limit -= sorted_result_set.size
         
     | 
| 
       1110 
1133 
     | 
    
         
             
                      end
         
     | 
| 
      
 1134 
     | 
    
         
            +
                      unparsed_sort_keys = sort_keys.collect do |sort_key|
         
     | 
| 
      
 1135 
     | 
    
         
            +
                        key = sort_key[:key]
         
     | 
| 
      
 1136 
     | 
    
         
            +
                        key = "-#{key}" if sort_key[:order] == :descending
         
     | 
| 
      
 1137 
     | 
    
         
            +
                        key
         
     | 
| 
      
 1138 
     | 
    
         
            +
                      end
         
     | 
| 
      
 1139 
     | 
    
         
            +
                      query_logger.log(:size,
         
     | 
| 
      
 1140 
     | 
    
         
            +
                                       ":",
         
     | 
| 
      
 1141 
     | 
    
         
            +
                                       "sort(#{sorted_result_set.size})" +
         
     | 
| 
      
 1142 
     | 
    
         
            +
                                       "[#{@shard.table_name}]: " +
         
     | 
| 
      
 1143 
     | 
    
         
            +
                                       unparsed_sort_keys.join(","))
         
     | 
| 
       1111 
1144 
     | 
    
         
             
                    end
         
     | 
| 
       1112 
1145 
     | 
    
         | 
| 
       1113 
1146 
     | 
    
         
             
                    def detect_window
         
     | 
| 
         @@ -109,7 +109,7 @@ module Groonga 
     | 
|
| 
       109 
109 
     | 
    
         
             
                      key << "#{drilldown.filter}\0"
         
     | 
| 
       110 
110 
     | 
    
         
             
                      key << drilldown.dynamic_columns.cache_key
         
     | 
| 
       111 
111 
     | 
    
         
             
                    end
         
     | 
| 
       112 
     | 
    
         
            -
                    dynamic_columns = DynamicColumns.parse(input)
         
     | 
| 
      
 112 
     | 
    
         
            +
                    dynamic_columns = DynamicColumns.parse("[logical_select]", input)
         
     | 
| 
       113 
113 
     | 
    
         
             
                    key << dynamic_columns.cache_key
         
     | 
| 
       114 
114 
     | 
    
         
             
                    key
         
     | 
| 
       115 
115 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -200,7 +200,18 @@ module Groonga 
     | 
|
| 
       200 
200 
     | 
    
         
             
                      end
         
     | 
| 
       201 
201 
     | 
    
         
             
                      result_sets.each do |result_set|
         
     | 
| 
       202 
202 
     | 
    
         
             
                        if result_set.size > current_offset
         
     | 
| 
       203 
     | 
    
         
            -
                           
     | 
| 
      
 203 
     | 
    
         
            +
                          if context.sort_keys.empty?
         
     | 
| 
      
 204 
     | 
    
         
            +
                            writer.write_table_records(result_set, output_columns, options)
         
     | 
| 
      
 205 
     | 
    
         
            +
                          else
         
     | 
| 
      
 206 
     | 
    
         
            +
                            sorted_result_set = result_set.sort(context.sort_keys, options)
         
     | 
| 
      
 207 
     | 
    
         
            +
                            context.temporary_tables << sorted_result_set
         
     | 
| 
      
 208 
     | 
    
         
            +
                            message = "sort(#{sorted_result_set.size}): "
         
     | 
| 
      
 209 
     | 
    
         
            +
                            message << context.sort_keys.join(",")
         
     | 
| 
      
 210 
     | 
    
         
            +
                            query_logger.log(:size, ":", message)
         
     | 
| 
      
 211 
     | 
    
         
            +
                            writer.write_table_records(sorted_result_set,
         
     | 
| 
      
 212 
     | 
    
         
            +
                                                       output_columns,
         
     | 
| 
      
 213 
     | 
    
         
            +
                                                       offset: 0, limit: -1)
         
     | 
| 
      
 214 
     | 
    
         
            +
                          end
         
     | 
| 
       204 
215 
     | 
    
         
             
                          n_written = [result_set.size - current_offset, current_limit].min
         
     | 
| 
       205 
216 
     | 
    
         
             
                          current_limit -= n_written
         
     | 
| 
       206 
217 
     | 
    
         
             
                          n_outputs += n_written
         
     | 
| 
         @@ -220,23 +231,33 @@ module Groonga 
     | 
|
| 
       220 
231 
     | 
    
         
             
                    plain_drilldown = execute_context.plain_drilldown
         
     | 
| 
       221 
232 
     | 
    
         | 
| 
       222 
233 
     | 
    
         
             
                    drilldowns = plain_drilldown.result_sets
         
     | 
| 
      
 234 
     | 
    
         
            +
                    sort_keys = plain_drilldown.sort_keys
         
     | 
| 
       223 
235 
     | 
    
         
             
                    output_columns = plain_drilldown.output_columns
         
     | 
| 
       224 
     | 
    
         
            -
                    options = {
         
     | 
| 
       225 
     | 
    
         
            -
                      :offset => plain_drilldown.offset,
         
     | 
| 
       226 
     | 
    
         
            -
                      :limit  => plain_drilldown.limit,
         
     | 
| 
       227 
     | 
    
         
            -
                    }
         
     | 
| 
       228 
236 
     | 
    
         | 
| 
       229 
237 
     | 
    
         
             
                    drilldowns.each do |drilldown|
         
     | 
| 
      
 238 
     | 
    
         
            +
                      options = {
         
     | 
| 
      
 239 
     | 
    
         
            +
                        :offset => plain_drilldown.offset,
         
     | 
| 
      
 240 
     | 
    
         
            +
                        :limit  => plain_drilldown.limit,
         
     | 
| 
      
 241 
     | 
    
         
            +
                      }
         
     | 
| 
      
 242 
     | 
    
         
            +
                      n_records = drilldown.size
         
     | 
| 
       230 
243 
     | 
    
         
             
                      limit = options[:limit]
         
     | 
| 
       231 
     | 
    
         
            -
                      limit +=  
     | 
| 
      
 244 
     | 
    
         
            +
                      limit += n_records + 1 if limit < 0
         
     | 
| 
       232 
245 
     | 
    
         
             
                      offset = options[:offset]
         
     | 
| 
       233 
     | 
    
         
            -
                      offset +=  
     | 
| 
       234 
     | 
    
         
            -
                      n_written = [ 
     | 
| 
      
 246 
     | 
    
         
            +
                      offset += n_records if offset < 0
         
     | 
| 
      
 247 
     | 
    
         
            +
                      n_written = [n_records - offset, limit].min
         
     | 
| 
       235 
248 
     | 
    
         
             
                      n_elements = 2 # for N hits and columns
         
     | 
| 
       236 
249 
     | 
    
         
             
                      n_elements += n_written
         
     | 
| 
      
 250 
     | 
    
         
            +
                      unless sort_keys.empty?
         
     | 
| 
      
 251 
     | 
    
         
            +
                        drilldown = drilldown.sort(sort_keys, options)
         
     | 
| 
      
 252 
     | 
    
         
            +
                        plain_drilldown.temporary_tables << drilldown
         
     | 
| 
      
 253 
     | 
    
         
            +
                        message = "drilldown.sort(#{drilldown.size}): "
         
     | 
| 
      
 254 
     | 
    
         
            +
                        message << sort_keys.join(",")
         
     | 
| 
      
 255 
     | 
    
         
            +
                        query_logger.log(:size, ":", message)
         
     | 
| 
      
 256 
     | 
    
         
            +
                        options = {offset: 0, limit: -1}
         
     | 
| 
      
 257 
     | 
    
         
            +
                      end
         
     | 
| 
       237 
258 
     | 
    
         
             
                      writer.array("RESULTSET", n_elements) do
         
     | 
| 
       238 
259 
     | 
    
         
             
                        writer.array("NHITS", 1) do
         
     | 
| 
       239 
     | 
    
         
            -
                          writer.write( 
     | 
| 
      
 260 
     | 
    
         
            +
                          writer.write(n_records)
         
     | 
| 
       240 
261 
     | 
    
         
             
                        end
         
     | 
| 
       241 
262 
     | 
    
         
             
                        writer.write_table_columns(drilldown, output_columns)
         
     | 
| 
       242 
263 
     | 
    
         
             
                        writer.write_table_records(drilldown, output_columns,
         
     | 
| 
         @@ -252,11 +273,14 @@ module Groonga 
     | 
|
| 
       252 
273 
     | 
    
         | 
| 
       253 
274 
     | 
    
         
             
                    writer.map("DRILLDOWNS", labeled_drilldowns.n_result_sets) do
         
     | 
| 
       254 
275 
     | 
    
         
             
                      labeled_drilldowns.each do |drilldown|
         
     | 
| 
      
 276 
     | 
    
         
            +
                        query_log_tag = "drilldowns[#{drilldown.label}]"
         
     | 
| 
      
 277 
     | 
    
         
            +
             
     | 
| 
       255 
278 
     | 
    
         
             
                        writer.write(drilldown.label)
         
     | 
| 
       256 
279 
     | 
    
         | 
| 
       257 
280 
     | 
    
         
             
                        result_set = drilldown.result_set
         
     | 
| 
      
 281 
     | 
    
         
            +
                        n_records = result_set.size
         
     | 
| 
       258 
282 
     | 
    
         
             
                        n_elements = 2 # for N hits and columns
         
     | 
| 
       259 
     | 
    
         
            -
                        n_elements +=  
     | 
| 
      
 283 
     | 
    
         
            +
                        n_elements += n_records
         
     | 
| 
       260 
284 
     | 
    
         
             
                        output_columns = drilldown.output_columns
         
     | 
| 
       261 
285 
     | 
    
         
             
                        options = {
         
     | 
| 
       262 
286 
     | 
    
         
             
                          :offset => drilldown.offset,
         
     | 
| 
         @@ -267,10 +291,20 @@ module Groonga 
     | 
|
| 
       267 
291 
     | 
    
         
             
                        limit += result_set.size + 1 if limit < 0
         
     | 
| 
       268 
292 
     | 
    
         
             
                        offset = options[:offset]
         
     | 
| 
       269 
293 
     | 
    
         
             
                        offset += result_set.size if offset < 0
         
     | 
| 
       270 
     | 
    
         
            -
                         
     | 
| 
      
 294 
     | 
    
         
            +
                        if drilldown.sort_keys.empty?
         
     | 
| 
      
 295 
     | 
    
         
            +
                          n_written = [n_records - offset, limit].min
         
     | 
| 
      
 296 
     | 
    
         
            +
                        else
         
     | 
| 
      
 297 
     | 
    
         
            +
                          result_set = result_set.sort(drilldown.sort_keys, options)
         
     | 
| 
      
 298 
     | 
    
         
            +
                          drilldown.temporary_tables << result_set
         
     | 
| 
      
 299 
     | 
    
         
            +
                          message = "#{query_log_tag}.sort(#{result_set.size}): "
         
     | 
| 
      
 300 
     | 
    
         
            +
                          message << drilldown.sort_keys.join(",")
         
     | 
| 
      
 301 
     | 
    
         
            +
                          query_logger.log(:size, ":", message)
         
     | 
| 
      
 302 
     | 
    
         
            +
                          options = {offset: 0, limit: -1}
         
     | 
| 
      
 303 
     | 
    
         
            +
                          n_written = result_set.size
         
     | 
| 
      
 304 
     | 
    
         
            +
                        end
         
     | 
| 
       271 
305 
     | 
    
         
             
                        writer.array("RESULTSET", n_elements) do
         
     | 
| 
       272 
306 
     | 
    
         
             
                          writer.array("NHITS", 1) do
         
     | 
| 
       273 
     | 
    
         
            -
                            writer.write( 
     | 
| 
      
 307 
     | 
    
         
            +
                            writer.write(n_records)
         
     | 
| 
       274 
308 
     | 
    
         
             
                          end
         
     | 
| 
       275 
309 
     | 
    
         
             
                          writer.write_table_columns(result_set, output_columns)
         
     | 
| 
       276 
310 
     | 
    
         
             
                          if is_command_version1 and drilldown.need_command_version2?
         
     | 
| 
         @@ -283,7 +317,9 @@ module Groonga 
     | 
|
| 
       283 
317 
     | 
    
         
             
                            writer.write_table_records(result_set, output_columns, options)
         
     | 
| 
       284 
318 
     | 
    
         
             
                          end
         
     | 
| 
       285 
319 
     | 
    
         
             
                        end
         
     | 
| 
       286 
     | 
    
         
            -
                        query_logger.log(:size, 
     | 
| 
      
 320 
     | 
    
         
            +
                        query_logger.log(:size,
         
     | 
| 
      
 321 
     | 
    
         
            +
                                         ":",
         
     | 
| 
      
 322 
     | 
    
         
            +
                                         "output.#{query_log_tag}(#{n_written})")
         
     | 
| 
       287 
323 
     | 
    
         
             
                      end
         
     | 
| 
       288 
324 
     | 
    
         
             
                    end
         
     | 
| 
       289 
325 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -359,7 +395,7 @@ module Groonga 
     | 
|
| 
       359 
395 
     | 
    
         
             
                      @load_columns = @input[:load_columns]
         
     | 
| 
       360 
396 
     | 
    
         
             
                      @load_values = @input[:load_values]
         
     | 
| 
       361 
397 
     | 
    
         | 
| 
       362 
     | 
    
         
            -
                      @dynamic_columns = DynamicColumns.parse(@input)
         
     | 
| 
      
 398 
     | 
    
         
            +
                      @dynamic_columns = DynamicColumns.parse("[logical_select]", @input)
         
     | 
| 
       363 
399 
     | 
    
         | 
| 
       364 
400 
     | 
    
         
             
                      @result_sets = []
         
     | 
| 
       365 
401 
     | 
    
         
             
                      @shard_targets = []
         
     | 
| 
         @@ -399,7 +435,6 @@ module Groonga 
     | 
|
| 
       399 
435 
     | 
    
         
             
                    attr_reader :calc_types
         
     | 
| 
       400 
436 
     | 
    
         
             
                    attr_reader :filter
         
     | 
| 
       401 
437 
     | 
    
         
             
                    attr_reader :result_sets
         
     | 
| 
       402 
     | 
    
         
            -
                    attr_reader :unsorted_result_sets
         
     | 
| 
       403 
438 
     | 
    
         
             
                    attr_reader :temporary_tables
         
     | 
| 
       404 
439 
     | 
    
         
             
                    attr_reader :expressions
         
     | 
| 
       405 
440 
     | 
    
         
             
                    def initialize(input)
         
     | 
| 
         @@ -416,7 +451,6 @@ module Groonga 
     | 
|
| 
       416 
451 
     | 
    
         
             
                      @filter = @input[:drilldown_filter]
         
     | 
| 
       417 
452 
     | 
    
         | 
| 
       418 
453 
     | 
    
         
             
                      @result_sets = []
         
     | 
| 
       419 
     | 
    
         
            -
                      @unsorted_result_sets = []
         
     | 
| 
       420 
454 
     | 
    
         | 
| 
       421 
455 
     | 
    
         
             
                      @temporary_tables = []
         
     | 
| 
       422 
456 
     | 
    
         | 
| 
         @@ -424,13 +458,6 @@ module Groonga 
     | 
|
| 
       424 
458 
     | 
    
         
             
                    end
         
     | 
| 
       425 
459 
     | 
    
         | 
| 
       426 
460 
     | 
    
         
             
                    def close
         
     | 
| 
       427 
     | 
    
         
            -
                      @result_sets.each do |result_set|
         
     | 
| 
       428 
     | 
    
         
            -
                        result_set.close
         
     | 
| 
       429 
     | 
    
         
            -
                      end
         
     | 
| 
       430 
     | 
    
         
            -
                      @unsorted_result_sets.each do |result_set|
         
     | 
| 
       431 
     | 
    
         
            -
                        result_set.close
         
     | 
| 
       432 
     | 
    
         
            -
                      end
         
     | 
| 
       433 
     | 
    
         
            -
             
     | 
| 
       434 
461 
     | 
    
         
             
                      @temporary_tables.each do |table|
         
     | 
| 
       435 
462 
     | 
    
         
             
                        table.close
         
     | 
| 
       436 
463 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -529,7 +556,6 @@ module Groonga 
     | 
|
| 
       529 
556 
     | 
    
         
             
                    attr_reader :table
         
     | 
| 
       530 
557 
     | 
    
         
             
                    attr_reader :dynamic_columns
         
     | 
| 
       531 
558 
     | 
    
         
             
                    attr_accessor :result_set
         
     | 
| 
       532 
     | 
    
         
            -
                    attr_accessor :unsorted_result_set
         
     | 
| 
       533 
559 
     | 
    
         
             
                    attr_reader :temporary_tables
         
     | 
| 
       534 
560 
     | 
    
         
             
                    attr_reader :expressions
         
     | 
| 
       535 
561 
     | 
    
         
             
                    def initialize(label, parameters)
         
     | 
| 
         @@ -546,10 +572,10 @@ module Groonga 
     | 
|
| 
       546 
572 
     | 
    
         
             
                      @filter = parameters["filter"]
         
     | 
| 
       547 
573 
     | 
    
         
             
                      @table = parameters["table"]
         
     | 
| 
       548 
574 
     | 
    
         | 
| 
       549 
     | 
    
         
            -
                       
     | 
| 
      
 575 
     | 
    
         
            +
                      tag = "[logical_select][drilldowns][#{@label}]"
         
     | 
| 
      
 576 
     | 
    
         
            +
                      @dynamic_columns = DynamicColumns.parse(tag, parameters)
         
     | 
| 
       550 
577 
     | 
    
         | 
| 
       551 
578 
     | 
    
         
             
                      @result_set = nil
         
     | 
| 
       552 
     | 
    
         
            -
                      @unsorted_result_set = nil
         
     | 
| 
       553 
579 
     | 
    
         | 
| 
       554 
580 
     | 
    
         
             
                      @temporary_tables = []
         
     | 
| 
       555 
581 
     | 
    
         | 
| 
         @@ -557,9 +583,6 @@ module Groonga 
     | 
|
| 
       557 
583 
     | 
    
         
             
                    end
         
     | 
| 
       558 
584 
     | 
    
         | 
| 
       559 
585 
     | 
    
         
             
                    def close
         
     | 
| 
       560 
     | 
    
         
            -
                      @result_set.close if @result_set
         
     | 
| 
       561 
     | 
    
         
            -
                      @unsorted_result_set.close if @unsorted_result_set
         
     | 
| 
       562 
     | 
    
         
            -
             
     | 
| 
       563 
586 
     | 
    
         
             
                      @temporary_tables.each do |table|
         
     | 
| 
       564 
587 
     | 
    
         
             
                        table.close
         
     | 
| 
       565 
588 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -593,6 +616,8 @@ module Groonga 
     | 
|
| 
       593 
616 
     | 
    
         
             
                  end
         
     | 
| 
       594 
617 
     | 
    
         | 
| 
       595 
618 
     | 
    
         
             
                  class Executor
         
     | 
| 
      
 619 
     | 
    
         
            +
                    include QueryLoggable
         
     | 
| 
      
 620 
     | 
    
         
            +
             
     | 
| 
       596 
621 
     | 
    
         
             
                    def initialize(context)
         
     | 
| 
       597 
622 
     | 
    
         
             
                      @context = context
         
     | 
| 
       598 
623 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -656,6 +681,7 @@ module Groonga 
     | 
|
| 
       656 
681 
     | 
    
         | 
| 
       657 
682 
     | 
    
         
             
                    def execute_plain_drilldown
         
     | 
| 
       658 
683 
     | 
    
         
             
                      drilldown = @context.plain_drilldown
         
     | 
| 
      
 684 
     | 
    
         
            +
                      query_log_prefix = "drilldown"
         
     | 
| 
       659 
685 
     | 
    
         
             
                      group_result = TableGroupResult.new
         
     | 
| 
       660 
686 
     | 
    
         
             
                      begin
         
     | 
| 
       661 
687 
     | 
    
         
             
                        group_result.key_begin = 0
         
     | 
| 
         @@ -670,14 +696,15 @@ module Groonga 
     | 
|
| 
       670 
696 
     | 
    
         
             
                            end
         
     | 
| 
       671 
697 
     | 
    
         
             
                          end
         
     | 
| 
       672 
698 
     | 
    
         
             
                          result_set = group_result.table
         
     | 
| 
       673 
     | 
    
         
            -
                           
     | 
| 
       674 
     | 
    
         
            -
             
     | 
| 
       675 
     | 
    
         
            -
             
     | 
| 
       676 
     | 
    
         
            -
                           
     | 
| 
       677 
     | 
    
         
            -
             
     | 
| 
       678 
     | 
    
         
            -
             
     | 
| 
       679 
     | 
    
         
            -
                           
     | 
| 
      
 699 
     | 
    
         
            +
                          query_logger.log(:size,
         
     | 
| 
      
 700 
     | 
    
         
            +
                                           ":",
         
     | 
| 
      
 701 
     | 
    
         
            +
                                           "#{query_log_prefix}(#{result_set.size})")
         
     | 
| 
      
 702 
     | 
    
         
            +
                          result_set = apply_drilldown_filter(query_log_prefix,
         
     | 
| 
      
 703 
     | 
    
         
            +
                                                              drilldown,
         
     | 
| 
      
 704 
     | 
    
         
            +
                                                              result_set)
         
     | 
| 
      
 705 
     | 
    
         
            +
                          drilldown.temporary_tables << result_set
         
     | 
| 
       680 
706 
     | 
    
         
             
                          group_result.table = nil
         
     | 
| 
      
 707 
     | 
    
         
            +
                          drilldown.result_sets << result_set
         
     | 
| 
       681 
708 
     | 
    
         
             
                        end
         
     | 
| 
       682 
709 
     | 
    
         
             
                      ensure
         
     | 
| 
       683 
710 
     | 
    
         
             
                        group_result.close
         
     | 
| 
         @@ -688,6 +715,7 @@ module Groonga 
     | 
|
| 
       688 
715 
     | 
    
         
             
                      drilldowns = @context.labeled_drilldowns
         
     | 
| 
       689 
716 
     | 
    
         | 
| 
       690 
717 
     | 
    
         
             
                      drilldowns.tsort_each do |drilldown|
         
     | 
| 
      
 718 
     | 
    
         
            +
                        query_log_prefix = "drilldowns[#{drilldown.label}]"
         
     | 
| 
       691 
719 
     | 
    
         
             
                        group_result = TableGroupResult.new
         
     | 
| 
       692 
720 
     | 
    
         
             
                        keys = drilldown.keys
         
     | 
| 
       693 
721 
     | 
    
         
             
                        begin
         
     | 
| 
         @@ -713,15 +741,18 @@ module Groonga 
     | 
|
| 
       713 
741 
     | 
    
         
             
                            end
         
     | 
| 
       714 
742 
     | 
    
         
             
                          end
         
     | 
| 
       715 
743 
     | 
    
         
             
                          result_set = group_result.table
         
     | 
| 
       716 
     | 
    
         
            -
                           
     | 
| 
       717 
     | 
    
         
            -
             
     | 
| 
       718 
     | 
    
         
            -
             
     | 
| 
       719 
     | 
    
         
            -
             
     | 
| 
       720 
     | 
    
         
            -
                           
     | 
| 
       721 
     | 
    
         
            -
             
     | 
| 
       722 
     | 
    
         
            -
             
     | 
| 
       723 
     | 
    
         
            -
             
     | 
| 
      
 744 
     | 
    
         
            +
                          query_logger.log(:size,
         
     | 
| 
      
 745 
     | 
    
         
            +
                                           ":",
         
     | 
| 
      
 746 
     | 
    
         
            +
                                           "#{query_log_prefix}(#{result_set.size})")
         
     | 
| 
      
 747 
     | 
    
         
            +
                          options = {query_log_prefix: "#{query_log_prefix}."}
         
     | 
| 
      
 748 
     | 
    
         
            +
                          drilldown.dynamic_columns.apply_initial([[result_set]],
         
     | 
| 
      
 749 
     | 
    
         
            +
                                                                  options)
         
     | 
| 
      
 750 
     | 
    
         
            +
                          result_set = apply_drilldown_filter(query_log_prefix,
         
     | 
| 
      
 751 
     | 
    
         
            +
                                                              drilldown,
         
     | 
| 
      
 752 
     | 
    
         
            +
                                                              result_set)
         
     | 
| 
      
 753 
     | 
    
         
            +
                          drilldown.temporary_tables << result_set
         
     | 
| 
       724 
754 
     | 
    
         
             
                          group_result.table = nil
         
     | 
| 
      
 755 
     | 
    
         
            +
                          drilldown.result_set = result_set
         
     | 
| 
       725 
756 
     | 
    
         
             
                        ensure
         
     | 
| 
       726 
757 
     | 
    
         
             
                          group_result.close
         
     | 
| 
       727 
758 
     | 
    
         
             
                        end
         
     | 
| 
         @@ -738,7 +769,7 @@ module Groonga 
     | 
|
| 
       738 
769 
     | 
    
         
             
                      end
         
     | 
| 
       739 
770 
     | 
    
         
             
                    end
         
     | 
| 
       740 
771 
     | 
    
         | 
| 
       741 
     | 
    
         
            -
                    def apply_drilldown_filter(drilldown, result_set)
         
     | 
| 
      
 772 
     | 
    
         
            +
                    def apply_drilldown_filter(query_log_prefix, drilldown, result_set)
         
     | 
| 
       742 
773 
     | 
    
         
             
                      filter = drilldown.filter
         
     | 
| 
       743 
774 
     | 
    
         
             
                      return result_set if filter.nil?
         
     | 
| 
       744 
775 
     | 
    
         | 
| 
         @@ -747,11 +778,17 @@ module Groonga 
     | 
|
| 
       747 
778 
     | 
    
         
             
                      expression.parse(filter)
         
     | 
| 
       748 
779 
     | 
    
         
             
                      filtered_result_set = result_set.select(expression)
         
     | 
| 
       749 
780 
     | 
    
         
             
                      drilldown.temporary_tables << result_set
         
     | 
| 
      
 781 
     | 
    
         
            +
                      n_records = filtered_result_set.size
         
     | 
| 
      
 782 
     | 
    
         
            +
                      query_logger.log(:size,
         
     | 
| 
      
 783 
     | 
    
         
            +
                                       ":",
         
     | 
| 
      
 784 
     | 
    
         
            +
                                       "#{query_log_prefix}.filter(#{n_records})")
         
     | 
| 
       750 
785 
     | 
    
         
             
                      filtered_result_set
         
     | 
| 
       751 
786 
     | 
    
         
             
                    end
         
     | 
| 
       752 
787 
     | 
    
         
             
                  end
         
     | 
| 
       753 
788 
     | 
    
         | 
| 
       754 
789 
     | 
    
         
             
                  class ShardExecutor
         
     | 
| 
      
 790 
     | 
    
         
            +
                    include QueryLoggable
         
     | 
| 
      
 791 
     | 
    
         
            +
             
     | 
| 
       755 
792 
     | 
    
         
             
                    def initialize(context, shard, shard_range)
         
     | 
| 
       756 
793 
     | 
    
         
             
                      @context = context
         
     | 
| 
       757 
794 
     | 
    
         
             
                      @shard = shard
         
     | 
| 
         @@ -829,14 +866,7 @@ module Groonga 
     | 
|
| 
       829 
866 
     | 
    
         
             
                        result_set = apply_post_filter(result_set)
         
     | 
| 
       830 
867 
     | 
    
         
             
                        @temporary_tables << result_set
         
     | 
| 
       831 
868 
     | 
    
         
             
                      end
         
     | 
| 
       832 
     | 
    
         
            -
             
     | 
| 
       833 
     | 
    
         
            -
                      if @sort_keys.empty?
         
     | 
| 
       834 
     | 
    
         
            -
                        @result_sets << result_set
         
     | 
| 
       835 
     | 
    
         
            -
                      else
         
     | 
| 
       836 
     | 
    
         
            -
                        sorted_result_set = result_set.sort(@sort_keys)
         
     | 
| 
       837 
     | 
    
         
            -
                        @temporary_tables << sorted_result_set
         
     | 
| 
       838 
     | 
    
         
            -
                        @result_sets << sorted_result_set
         
     | 
| 
       839 
     | 
    
         
            -
                      end
         
     | 
| 
      
 869 
     | 
    
         
            +
                      @result_sets << result_set
         
     | 
| 
       840 
870 
     | 
    
         
             
                    end
         
     | 
| 
       841 
871 
     | 
    
         | 
| 
       842 
872 
     | 
    
         
             
                    private
         
     | 
| 
         @@ -904,10 +934,6 @@ module Groonga 
     | 
|
| 
       904 
934 
     | 
    
         | 
| 
       905 
935 
     | 
    
         
             
                      @shard_results << [self, result_set, condition]
         
     | 
| 
       906 
936 
     | 
    
         
             
                    end
         
     | 
| 
       907 
     | 
    
         
            -
             
     | 
| 
       908 
     | 
    
         
            -
                    def query_logger
         
     | 
| 
       909 
     | 
    
         
            -
                      Context.instance.query_logger
         
     | 
| 
       910 
     | 
    
         
            -
                    end
         
     | 
| 
       911 
937 
     | 
    
         
             
                  end
         
     | 
| 
       912 
938 
     | 
    
         
             
                end
         
     | 
| 
       913 
939 
     | 
    
         
             
              end
         
     |