rroonga 6.1.3-x86-mingw32 → 7.0.2-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (745) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -0
  3. data/doc/text/news.md +28 -0
  4. data/ext/groonga/rb-grn-column.c +53 -32
  5. data/ext/groonga/rb-grn-context.c +1 -1
  6. data/ext/groonga/rb-grn-data-column.c +103 -0
  7. data/ext/groonga/rb-grn-default-cache.c +104 -0
  8. data/ext/groonga/rb-grn-index-column.c +93 -15
  9. data/ext/groonga/rb-grn-inverted-index-cursor.c +269 -0
  10. data/ext/groonga/rb-grn-object.c +1 -1
  11. data/ext/groonga/rb-grn-plugin.c +1 -1
  12. data/ext/groonga/rb-grn-table-cursor.c +1 -1
  13. data/ext/groonga/rb-grn-table-key-support.c +6 -0
  14. data/ext/groonga/rb-grn-table.c +0 -3
  15. data/ext/groonga/rb-grn-utils.c +35 -7
  16. data/ext/groonga/rb-grn.h +13 -4
  17. data/ext/groonga/rb-groonga.c +2 -0
  18. data/lib/2.1/groonga.so +0 -0
  19. data/lib/2.2/groonga.so +0 -0
  20. data/lib/2.3/groonga.so +0 -0
  21. data/rroonga-build.rb +7 -7
  22. data/rroonga.gemspec +2 -1
  23. data/test/test-data-column.rb +71 -2
  24. data/test/test-default-cache.rb +43 -0
  25. data/test/test-double-array-trie.rb +7 -0
  26. data/test/test-fix-size-column.rb +12 -0
  27. data/test/test-hash.rb +7 -0
  28. data/test/test-index-column.rb +12 -0
  29. data/test/test-index-cursor.rb +93 -28
  30. data/test/test-patricia-trie.rb +7 -0
  31. data/test/test-variable-size-column.rb +19 -0
  32. data/vendor/local/bin/grndb.exe +0 -0
  33. data/vendor/local/bin/groonga-benchmark.exe +0 -0
  34. data/vendor/local/bin/groonga-suggest-create-dataset.exe +0 -0
  35. data/vendor/local/bin/groonga.exe +0 -0
  36. data/vendor/local/bin/libgroonga-0.dll +0 -0
  37. data/vendor/local/bin/libmecab-2.dll +0 -0
  38. data/vendor/local/bin/libmsgpackc.dll +0 -0
  39. data/vendor/local/bin/libonigmo-6.dll +0 -0
  40. data/vendor/local/bin/libpcre-1.dll +0 -0
  41. data/vendor/local/bin/libpcrecpp-0.dll +0 -0
  42. data/vendor/local/bin/libpcreposix-0.dll +0 -0
  43. data/vendor/local/bin/lz4.exe +0 -0
  44. data/vendor/local/bin/lz4c.exe +0 -0
  45. data/vendor/local/bin/lz4cat +0 -0
  46. data/vendor/local/bin/mecab-config +2 -2
  47. data/vendor/local/bin/mecab.exe +0 -0
  48. data/vendor/local/bin/onigmo-config +2 -2
  49. data/vendor/local/bin/pcre-config +1 -1
  50. data/vendor/local/bin/pcregrep.exe +0 -0
  51. data/vendor/local/bin/pcretest.exe +0 -0
  52. data/vendor/local/bin/zlib1.dll +0 -0
  53. data/vendor/local/etc/groonga/httpd/groonga-httpd.conf +16 -3
  54. data/vendor/local/include/groonga/groonga.h +2 -1
  55. data/vendor/local/include/groonga/groonga/cache.h +49 -0
  56. data/vendor/local/include/groonga/groonga/column.h +1 -1
  57. data/vendor/local/include/groonga/groonga/groonga.h +26 -16
  58. data/vendor/local/include/groonga/groonga/ii.h +7 -1
  59. data/vendor/local/include/groonga/groonga/obj.h +8 -1
  60. data/vendor/local/include/groonga/groonga/plugin.h +6 -1
  61. data/vendor/local/include/groonga/groonga/table.h +5 -0
  62. data/vendor/local/include/groonga/groonga/util.h +4 -1
  63. data/vendor/local/include/groonga/groonga/window_function.h +5 -1
  64. data/vendor/local/include/onigmo.h +6 -5
  65. data/vendor/local/include/zconf.h +32 -9
  66. data/vendor/local/include/zlib.h +298 -154
  67. data/vendor/local/lib/groonga/plugins/functions/number.a +0 -0
  68. data/vendor/local/lib/groonga/plugins/functions/number.dll +0 -0
  69. data/vendor/local/lib/groonga/plugins/functions/number.dll.a +0 -0
  70. data/vendor/local/lib/groonga/plugins/functions/number.la +2 -2
  71. data/vendor/local/lib/groonga/plugins/functions/string.a +0 -0
  72. data/vendor/local/lib/groonga/plugins/functions/string.dll +0 -0
  73. data/vendor/local/lib/groonga/plugins/functions/string.dll.a +0 -0
  74. data/vendor/local/lib/groonga/plugins/functions/string.la +2 -2
  75. data/vendor/local/lib/groonga/plugins/functions/time.a +0 -0
  76. data/vendor/local/lib/groonga/plugins/functions/time.dll +0 -0
  77. data/vendor/local/lib/groonga/plugins/functions/time.dll.a +0 -0
  78. data/vendor/local/lib/groonga/plugins/functions/time.la +2 -2
  79. data/vendor/local/lib/groonga/plugins/functions/vector.a +0 -0
  80. data/vendor/local/lib/groonga/plugins/functions/vector.dll +0 -0
  81. data/vendor/local/lib/groonga/plugins/functions/vector.dll.a +0 -0
  82. data/vendor/local/lib/groonga/plugins/functions/vector.la +2 -2
  83. data/vendor/local/lib/groonga/plugins/normalizers/mysql.a +0 -0
  84. data/vendor/local/lib/groonga/plugins/normalizers/mysql.dll +0 -0
  85. data/vendor/local/lib/groonga/plugins/normalizers/mysql.dll.a +0 -0
  86. data/vendor/local/lib/groonga/plugins/normalizers/mysql.la +2 -2
  87. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.a +0 -0
  88. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll +0 -0
  89. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll.a +0 -0
  90. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.la +2 -2
  91. data/vendor/local/lib/groonga/plugins/sharding/logical_count.rb +2 -2
  92. data/vendor/local/lib/groonga/plugins/sharding/logical_enumerator.rb +2 -2
  93. data/vendor/local/lib/groonga/plugins/sharding/logical_range_filter.rb +2 -2
  94. data/vendor/local/lib/groonga/plugins/sharding/logical_select.rb +392 -53
  95. data/vendor/local/lib/groonga/plugins/sharding/logical_table_remove.rb +1 -2
  96. data/vendor/local/lib/groonga/plugins/sharding/range_expression_builder.rb +37 -14
  97. data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
  98. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
  99. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
  100. data/vendor/local/lib/groonga/plugins/suggest/suggest.la +2 -2
  101. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.a +0 -0
  102. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll +0 -0
  103. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll.a +0 -0
  104. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.la +2 -2
  105. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
  106. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
  107. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
  108. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +2 -2
  109. data/vendor/local/lib/groonga/scripts/ruby/command.rb +0 -1
  110. data/vendor/local/lib/groonga/scripts/ruby/command_input.rb +15 -0
  111. data/vendor/local/lib/groonga/scripts/ruby/expression.rb +1 -0
  112. data/vendor/local/lib/groonga/scripts/ruby/expression_size_estimator.rb +2 -136
  113. data/vendor/local/lib/groonga/scripts/ruby/expression_tree/function_call.rb +12 -1
  114. data/vendor/local/lib/groonga/scripts/ruby/expression_tree_builder.rb +1 -1
  115. data/vendor/local/lib/groonga/scripts/ruby/initialize/post.rb +1 -0
  116. data/vendor/local/lib/groonga/scripts/ruby/logger.rb +7 -8
  117. data/vendor/local/lib/groonga/scripts/ruby/scan_info_builder.rb +234 -80
  118. data/vendor/local/lib/groonga/scripts/ruby/scan_info_data_size_estimator.rb +185 -0
  119. data/vendor/local/lib/groonga/scripts/ruby/table.rb +27 -2
  120. data/vendor/local/lib/libgroonga.a +0 -0
  121. data/vendor/local/lib/libgroonga.dll.a +0 -0
  122. data/vendor/local/lib/libgroonga.la +2 -2
  123. data/vendor/local/lib/liblz4.a +0 -0
  124. data/vendor/local/lib/liblz4.dll +0 -0
  125. data/vendor/local/lib/liblz4.dll.1 +0 -0
  126. data/vendor/local/lib/liblz4.dll.1.5.0 +0 -0
  127. data/vendor/local/lib/libmecab.a +0 -0
  128. data/vendor/local/lib/libmecab.dll.a +0 -0
  129. data/vendor/local/lib/libmecab.la +2 -2
  130. data/vendor/local/lib/libmsgpackc.a +0 -0
  131. data/vendor/local/lib/libmsgpackc.dll.a +0 -0
  132. data/vendor/local/lib/libonigmo.a +0 -0
  133. data/vendor/local/lib/libonigmo.dll.a +0 -0
  134. data/vendor/local/lib/libonigmo.la +3 -3
  135. data/vendor/local/lib/libpcre.a +0 -0
  136. data/vendor/local/lib/libpcre.dll.a +0 -0
  137. data/vendor/local/lib/libpcre.la +2 -2
  138. data/vendor/local/lib/libpcrecpp.a +0 -0
  139. data/vendor/local/lib/libpcrecpp.dll.a +0 -0
  140. data/vendor/local/lib/libpcrecpp.la +2 -2
  141. data/vendor/local/lib/libpcreposix.a +0 -0
  142. data/vendor/local/lib/libpcreposix.dll.a +0 -0
  143. data/vendor/local/lib/libpcreposix.la +2 -2
  144. data/vendor/local/lib/libz.a +0 -0
  145. data/vendor/local/lib/libz.dll.a +0 -0
  146. data/vendor/local/lib/pkgconfig/groonga.pc +3 -3
  147. data/vendor/local/lib/pkgconfig/liblz4.pc +5 -5
  148. data/vendor/local/lib/pkgconfig/libpcre.pc +1 -1
  149. data/vendor/local/lib/pkgconfig/libpcrecpp.pc +1 -1
  150. data/vendor/local/lib/pkgconfig/libpcreposix.pc +1 -1
  151. data/vendor/local/lib/pkgconfig/msgpack.pc +1 -1
  152. data/vendor/local/lib/pkgconfig/onigmo.pc +7 -7
  153. data/vendor/local/lib/pkgconfig/zlib.pc +4 -4
  154. data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
  155. data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
  156. data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
  157. data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
  158. data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
  159. data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
  160. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/release.txt +11 -2
  161. data/vendor/local/share/doc/groonga/en/html/_sources/install/centos.txt +13 -47
  162. data/vendor/local/share/doc/groonga/en/html/_sources/install/debian.txt +6 -5
  163. data/vendor/local/share/doc/groonga/en/html/_sources/install/fedora.txt +4 -4
  164. data/vendor/local/share/doc/groonga/en/html/_sources/install/mac_os_x.txt +3 -3
  165. data/vendor/local/share/doc/groonga/en/html/_sources/install/others.txt +3 -3
  166. data/vendor/local/share/doc/groonga/en/html/_sources/install/solaris.txt +3 -3
  167. data/vendor/local/share/doc/groonga/en/html/_sources/install/ubuntu.txt +3 -4
  168. data/vendor/local/share/doc/groonga/en/html/_sources/install/windows.txt +9 -9
  169. data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +181 -891
  170. data/vendor/local/share/doc/groonga/en/html/_sources/news/1.2.x.txt +2 -1
  171. data/vendor/local/share/doc/groonga/en/html/_sources/news/2.x.txt +11 -9
  172. data/vendor/local/share/doc/groonga/en/html/_sources/news/3.x.txt +4 -4
  173. data/vendor/local/share/doc/groonga/en/html/_sources/news/5.x.txt +2 -2
  174. data/vendor/local/share/doc/groonga/en/html/_sources/news/6.x.txt +1086 -0
  175. data/vendor/local/share/doc/groonga/en/html/_sources/reference.txt +1 -0
  176. data/vendor/local/share/doc/groonga/en/html/_sources/reference/command/request_timeout.txt +1 -1
  177. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/log_level.txt +45 -19
  178. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/logical_select.txt +632 -91
  179. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/object_inspect.txt +514 -0
  180. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/select.txt +902 -55
  181. data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/grnslap.txt +5 -3
  182. data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga-benchmark.txt +11 -9
  183. data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga-httpd.txt +71 -23
  184. data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga-suggest-httpd.txt +2 -0
  185. data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga-suggest-learner.txt +8 -6
  186. data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga.txt +51 -25
  187. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/in_records.txt +195 -0
  188. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/query.txt +100 -15
  189. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/string_length.txt +33 -0
  190. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/vector_new.txt +38 -0
  191. data/vendor/local/share/doc/groonga/en/html/_sources/reference/grn_expr/query_syntax.txt +35 -7
  192. data/vendor/local/share/doc/groonga/en/html/_sources/reference/grn_expr/script_syntax.txt +24 -10
  193. data/vendor/local/share/doc/groonga/en/html/_sources/reference/log.txt +6 -6
  194. data/vendor/local/share/doc/groonga/en/html/_sources/reference/window_function.txt +22 -0
  195. data/vendor/local/share/doc/groonga/en/html/_sources/reference/window_functions/record_number.txt +28 -0
  196. data/vendor/local/share/doc/groonga/en/html/_sources/reference/window_functions/window_record_number.txt +25 -0
  197. data/vendor/local/share/doc/groonga/{ja/html/_sources/reference/functions/record_number.txt → en/html/_sources/reference/window_functions/window_sum.txt} +5 -3
  198. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/query_expansion.txt +3 -3
  199. data/vendor/local/share/doc/groonga/en/html/characteristic.html +5 -5
  200. data/vendor/local/share/doc/groonga/en/html/client.html +5 -5
  201. data/vendor/local/share/doc/groonga/en/html/community.html +5 -5
  202. data/vendor/local/share/doc/groonga/en/html/contribution.html +5 -5
  203. data/vendor/local/share/doc/groonga/en/html/contribution/development.html +5 -5
  204. data/vendor/local/share/doc/groonga/en/html/contribution/development/build.html +5 -5
  205. data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_autotools.html +5 -5
  206. data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_cmake.html +5 -5
  207. data/vendor/local/share/doc/groonga/en/html/contribution/development/build/windows_cmake.html +5 -5
  208. data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +5 -5
  209. data/vendor/local/share/doc/groonga/en/html/contribution/development/cooperation.html +5 -5
  210. data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +5 -5
  211. data/vendor/local/share/doc/groonga/en/html/contribution/development/release.html +102 -93
  212. data/vendor/local/share/doc/groonga/en/html/contribution/development/repository.html +5 -5
  213. data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +5 -5
  214. data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +5 -5
  215. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +5 -5
  216. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +5 -5
  217. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/introduction.html +5 -5
  218. data/vendor/local/share/doc/groonga/en/html/contribution/report.html +5 -5
  219. data/vendor/local/share/doc/groonga/en/html/development.html +5 -5
  220. data/vendor/local/share/doc/groonga/en/html/development/travis-ci.html +5 -5
  221. data/vendor/local/share/doc/groonga/en/html/genindex.html +326 -251
  222. data/vendor/local/share/doc/groonga/en/html/index.html +111 -104
  223. data/vendor/local/share/doc/groonga/en/html/install.html +8 -9
  224. data/vendor/local/share/doc/groonga/en/html/install/centos.html +24 -65
  225. data/vendor/local/share/doc/groonga/en/html/install/debian.html +12 -11
  226. data/vendor/local/share/doc/groonga/en/html/install/fedora.html +9 -9
  227. data/vendor/local/share/doc/groonga/en/html/install/mac_os_x.html +8 -8
  228. data/vendor/local/share/doc/groonga/en/html/install/others.html +8 -8
  229. data/vendor/local/share/doc/groonga/en/html/install/solaris.html +8 -8
  230. data/vendor/local/share/doc/groonga/en/html/install/ubuntu.html +8 -9
  231. data/vendor/local/share/doc/groonga/en/html/install/windows.html +14 -14
  232. data/vendor/local/share/doc/groonga/en/html/limitations.html +5 -5
  233. data/vendor/local/share/doc/groonga/en/html/news.html +213 -898
  234. data/vendor/local/share/doc/groonga/en/html/news/0.x.html +5 -5
  235. data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +5 -5
  236. data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +5 -5
  237. data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +7 -6
  238. data/vendor/local/share/doc/groonga/en/html/news/1.3.x.html +5 -5
  239. data/vendor/local/share/doc/groonga/en/html/news/2.x.html +16 -14
  240. data/vendor/local/share/doc/groonga/en/html/news/3.x.html +9 -9
  241. data/vendor/local/share/doc/groonga/en/html/news/4.x.html +5 -5
  242. data/vendor/local/share/doc/groonga/en/html/news/5.x.html +7 -7
  243. data/vendor/local/share/doc/groonga/en/html/news/6.x.html +1148 -0
  244. data/vendor/local/share/doc/groonga/en/html/news/senna.html +5 -5
  245. data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
  246. data/vendor/local/share/doc/groonga/en/html/reference.html +90 -82
  247. data/vendor/local/share/doc/groonga/en/html/reference/alias.html +23 -23
  248. data/vendor/local/share/doc/groonga/en/html/reference/api.html +39 -39
  249. data/vendor/local/share/doc/groonga/en/html/reference/api/global_configurations.html +22 -22
  250. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_cache.html +24 -24
  251. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_column.html +24 -24
  252. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_command_version.html +24 -24
  253. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_content_type.html +22 -22
  254. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ctx.html +24 -24
  255. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_db.html +24 -24
  256. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_encoding.html +24 -24
  257. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_expr.html +22 -22
  258. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_geo.html +24 -24
  259. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_hook.html +24 -24
  260. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ii.html +24 -24
  261. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_index_cursor.html +24 -24
  262. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_info.html +24 -24
  263. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_match_escalation.html +24 -24
  264. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_obj.html +24 -24
  265. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_proc.html +24 -24
  266. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_search.html +24 -24
  267. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table.html +24 -24
  268. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table_cursor.html +24 -24
  269. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_thread.html +24 -24
  270. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_type.html +24 -24
  271. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_user_data.html +20 -20
  272. data/vendor/local/share/doc/groonga/en/html/reference/api/overview.html +24 -24
  273. data/vendor/local/share/doc/groonga/en/html/reference/api/plugin.html +22 -22
  274. data/vendor/local/share/doc/groonga/en/html/reference/cast.html +5 -5
  275. data/vendor/local/share/doc/groonga/en/html/reference/column.html +5 -5
  276. data/vendor/local/share/doc/groonga/en/html/reference/columns/index.html +5 -5
  277. data/vendor/local/share/doc/groonga/en/html/reference/columns/pseudo.html +5 -5
  278. data/vendor/local/share/doc/groonga/en/html/reference/columns/scalar.html +5 -5
  279. data/vendor/local/share/doc/groonga/en/html/reference/columns/vector.html +5 -5
  280. data/vendor/local/share/doc/groonga/en/html/reference/command.html +5 -5
  281. data/vendor/local/share/doc/groonga/en/html/reference/command/command_version.html +5 -5
  282. data/vendor/local/share/doc/groonga/en/html/reference/command/output_format.html +5 -5
  283. data/vendor/local/share/doc/groonga/en/html/reference/command/pretty_print.html +5 -5
  284. data/vendor/local/share/doc/groonga/en/html/reference/command/request_id.html +5 -5
  285. data/vendor/local/share/doc/groonga/en/html/reference/command/request_timeout.html +6 -6
  286. data/vendor/local/share/doc/groonga/en/html/reference/command/return_code.html +5 -5
  287. data/vendor/local/share/doc/groonga/en/html/reference/commands/cache_limit.html +5 -5
  288. data/vendor/local/share/doc/groonga/en/html/reference/commands/check.html +5 -5
  289. data/vendor/local/share/doc/groonga/en/html/reference/commands/clearlock.html +5 -5
  290. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_copy.html +5 -5
  291. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_create.html +5 -5
  292. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_list.html +5 -5
  293. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_remove.html +5 -5
  294. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_rename.html +5 -5
  295. data/vendor/local/share/doc/groonga/en/html/reference/commands/config_delete.html +5 -5
  296. data/vendor/local/share/doc/groonga/en/html/reference/commands/config_get.html +5 -5
  297. data/vendor/local/share/doc/groonga/en/html/reference/commands/config_set.html +5 -5
  298. data/vendor/local/share/doc/groonga/en/html/reference/commands/database_unmap.html +5 -5
  299. data/vendor/local/share/doc/groonga/en/html/reference/commands/define_selector.html +5 -5
  300. data/vendor/local/share/doc/groonga/en/html/reference/commands/defrag.html +5 -5
  301. data/vendor/local/share/doc/groonga/en/html/reference/commands/delete.html +5 -5
  302. data/vendor/local/share/doc/groonga/en/html/reference/commands/dump.html +5 -5
  303. data/vendor/local/share/doc/groonga/en/html/reference/commands/io_flush.html +5 -5
  304. data/vendor/local/share/doc/groonga/en/html/reference/commands/load.html +5 -5
  305. data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_acquire.html +5 -5
  306. data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_clear.html +5 -5
  307. data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_release.html +5 -5
  308. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_level.html +61 -17
  309. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_put.html +5 -5
  310. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_reopen.html +5 -5
  311. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_count.html +5 -5
  312. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_parameters.html +5 -5
  313. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_range_filter.html +5 -5
  314. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_select.html +1727 -408
  315. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_shard_list.html +5 -5
  316. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_table_remove.html +5 -5
  317. data/vendor/local/share/doc/groonga/en/html/reference/commands/normalize.html +5 -5
  318. data/vendor/local/share/doc/groonga/en/html/reference/commands/normalizer_list.html +5 -5
  319. data/vendor/local/share/doc/groonga/en/html/reference/commands/object_exist.html +5 -5
  320. data/vendor/local/share/doc/groonga/en/html/reference/commands/object_inspect.html +526 -33
  321. data/vendor/local/share/doc/groonga/en/html/reference/commands/object_list.html +5 -5
  322. data/vendor/local/share/doc/groonga/en/html/reference/commands/object_remove.html +5 -5
  323. data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_register.html +5 -5
  324. data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_unregister.html +5 -5
  325. data/vendor/local/share/doc/groonga/en/html/reference/commands/query_expand.html +5 -5
  326. data/vendor/local/share/doc/groonga/en/html/reference/commands/quit.html +5 -5
  327. data/vendor/local/share/doc/groonga/en/html/reference/commands/range_filter.html +5 -5
  328. data/vendor/local/share/doc/groonga/en/html/reference/commands/register.html +5 -5
  329. data/vendor/local/share/doc/groonga/en/html/reference/commands/reindex.html +5 -5
  330. data/vendor/local/share/doc/groonga/en/html/reference/commands/request_cancel.html +5 -5
  331. data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_eval.html +5 -5
  332. data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_load.html +5 -5
  333. data/vendor/local/share/doc/groonga/en/html/reference/commands/schema.html +5 -5
  334. data/vendor/local/share/doc/groonga/en/html/reference/commands/select.html +1685 -492
  335. data/vendor/local/share/doc/groonga/en/html/reference/commands/shutdown.html +5 -5
  336. data/vendor/local/share/doc/groonga/en/html/reference/commands/status.html +5 -5
  337. data/vendor/local/share/doc/groonga/en/html/reference/commands/suggest.html +5 -5
  338. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_copy.html +5 -5
  339. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_create.html +5 -5
  340. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_list.html +5 -5
  341. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_remove.html +5 -5
  342. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_rename.html +5 -5
  343. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_tokenize.html +5 -5
  344. data/vendor/local/share/doc/groonga/en/html/reference/commands/thread_limit.html +5 -5
  345. data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenize.html +5 -5
  346. data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenizer_list.html +5 -5
  347. data/vendor/local/share/doc/groonga/en/html/reference/commands/truncate.html +5 -5
  348. data/vendor/local/share/doc/groonga/en/html/reference/configuration.html +19 -19
  349. data/vendor/local/share/doc/groonga/en/html/reference/executables.html +5 -5
  350. data/vendor/local/share/doc/groonga/en/html/reference/executables/grndb.html +5 -5
  351. data/vendor/local/share/doc/groonga/en/html/reference/executables/grnslap.html +14 -14
  352. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-benchmark.html +32 -32
  353. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-httpd.html +75 -34
  354. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-server-http.html +5 -5
  355. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-create-dataset.html +5 -5
  356. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-httpd.html +24 -24
  357. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-learner.html +23 -23
  358. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga.html +107 -82
  359. data/vendor/local/share/doc/groonga/en/html/reference/function.html +25 -23
  360. data/vendor/local/share/doc/groonga/en/html/reference/functions/between.html +5 -5
  361. data/vendor/local/share/doc/groonga/en/html/reference/functions/edit_distance.html +5 -5
  362. data/vendor/local/share/doc/groonga/en/html/reference/functions/fuzzy_search.html +5 -5
  363. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_distance.html +5 -5
  364. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_circle.html +5 -5
  365. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_rectangle.html +5 -5
  366. data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_full.html +5 -5
  367. data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_html.html +5 -5
  368. data/vendor/local/share/doc/groonga/en/html/reference/functions/html_untag.html +10 -10
  369. data/vendor/local/share/doc/groonga/en/html/reference/functions/in_records.html +355 -0
  370. data/vendor/local/share/doc/groonga/en/html/reference/functions/in_values.html +30 -30
  371. data/vendor/local/share/doc/groonga/en/html/reference/functions/now.html +25 -25
  372. data/vendor/local/share/doc/groonga/en/html/reference/functions/number_classify.html +23 -23
  373. data/vendor/local/share/doc/groonga/en/html/reference/functions/prefix_rk_search.html +31 -31
  374. data/vendor/local/share/doc/groonga/en/html/reference/functions/query.html +155 -55
  375. data/vendor/local/share/doc/groonga/en/html/reference/functions/rand.html +28 -28
  376. data/vendor/local/share/doc/groonga/en/html/reference/functions/snippet_html.html +15 -15
  377. data/vendor/local/share/doc/groonga/en/html/reference/functions/{record_number.html → string_length.html} +36 -31
  378. data/vendor/local/share/doc/groonga/en/html/reference/functions/string_substring.html +24 -24
  379. data/vendor/local/share/doc/groonga/en/html/reference/functions/sub_filter.html +31 -31
  380. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_day.html +23 -23
  381. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_hour.html +23 -23
  382. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_minute.html +23 -23
  383. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_month.html +23 -23
  384. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_second.html +23 -23
  385. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_week.html +23 -23
  386. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_year.html +24 -24
  387. data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_new.html +170 -0
  388. data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_size.html +28 -28
  389. data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_slice.html +24 -24
  390. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr.html +5 -5
  391. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/query_syntax.html +36 -26
  392. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/script_syntax.html +27 -15
  393. data/vendor/local/share/doc/groonga/en/html/reference/indexing.html +21 -21
  394. data/vendor/local/share/doc/groonga/en/html/reference/log.html +29 -29
  395. data/vendor/local/share/doc/groonga/en/html/reference/normalizers.html +5 -5
  396. data/vendor/local/share/doc/groonga/en/html/reference/operations.html +17 -17
  397. data/vendor/local/share/doc/groonga/en/html/reference/operations/geolocation_search.html +20 -20
  398. data/vendor/local/share/doc/groonga/en/html/reference/operations/prefix_rk_search.html +26 -26
  399. data/vendor/local/share/doc/groonga/en/html/reference/output.html +5 -5
  400. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders.html +5 -5
  401. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders/tsv.html +5 -5
  402. data/vendor/local/share/doc/groonga/en/html/reference/regular_expression.html +5 -5
  403. data/vendor/local/share/doc/groonga/en/html/reference/scorer.html +5 -5
  404. data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_at_most.html +5 -5
  405. data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_idf.html +5 -5
  406. data/vendor/local/share/doc/groonga/en/html/reference/sharding.html +23 -23
  407. data/vendor/local/share/doc/groonga/en/html/reference/suggest.html +33 -33
  408. data/vendor/local/share/doc/groonga/en/html/reference/suggest/completion.html +32 -32
  409. data/vendor/local/share/doc/groonga/en/html/reference/suggest/correction.html +28 -28
  410. data/vendor/local/share/doc/groonga/en/html/reference/suggest/introduction.html +26 -26
  411. data/vendor/local/share/doc/groonga/en/html/reference/suggest/suggestion.html +28 -28
  412. data/vendor/local/share/doc/groonga/en/html/reference/tables.html +5 -5
  413. data/vendor/local/share/doc/groonga/en/html/reference/token_filters.html +5 -5
  414. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers.html +5 -5
  415. data/vendor/local/share/doc/groonga/en/html/reference/tuning.html +35 -35
  416. data/vendor/local/share/doc/groonga/en/html/reference/types.html +5 -5
  417. data/vendor/local/share/doc/groonga/en/html/reference/window_function.html +147 -0
  418. data/vendor/local/share/doc/groonga/en/html/reference/window_functions/record_number.html +164 -0
  419. data/vendor/local/share/doc/groonga/en/html/reference/window_functions/window_record_number.html +163 -0
  420. data/vendor/local/share/doc/groonga/en/html/reference/window_functions/window_sum.html +163 -0
  421. data/vendor/local/share/doc/groonga/en/html/search.html +5 -5
  422. data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
  423. data/vendor/local/share/doc/groonga/en/html/server.html +5 -5
  424. data/vendor/local/share/doc/groonga/en/html/server/gqtp.html +5 -5
  425. data/vendor/local/share/doc/groonga/en/html/server/http.html +5 -5
  426. data/vendor/local/share/doc/groonga/en/html/server/http/comparison.html +5 -5
  427. data/vendor/local/share/doc/groonga/en/html/server/http/groonga-httpd.html +5 -5
  428. data/vendor/local/share/doc/groonga/en/html/server/http/groonga.html +5 -5
  429. data/vendor/local/share/doc/groonga/en/html/server/memcached.html +5 -5
  430. data/vendor/local/share/doc/groonga/en/html/server/package.html +5 -5
  431. data/vendor/local/share/doc/groonga/en/html/spec.html +9 -9
  432. data/vendor/local/share/doc/groonga/en/html/spec/gqtp.html +5 -5
  433. data/vendor/local/share/doc/groonga/en/html/spec/search.html +5 -5
  434. data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +5 -5
  435. data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +5 -5
  436. data/vendor/local/share/doc/groonga/en/html/troubleshooting/mmap_cannot_allocate_memory.html +5 -5
  437. data/vendor/local/share/doc/groonga/en/html/tutorial.html +5 -5
  438. data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +5 -5
  439. data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +5 -5
  440. data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +5 -5
  441. data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +5 -5
  442. data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +5 -5
  443. data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +5 -5
  444. data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +5 -5
  445. data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +5 -5
  446. data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +5 -5
  447. data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +8 -8
  448. data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +5 -5
  449. data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
  450. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/release.txt +11 -2
  451. data/vendor/local/share/doc/groonga/ja/html/_sources/install/centos.txt +13 -47
  452. data/vendor/local/share/doc/groonga/ja/html/_sources/install/debian.txt +6 -5
  453. data/vendor/local/share/doc/groonga/ja/html/_sources/install/fedora.txt +4 -4
  454. data/vendor/local/share/doc/groonga/ja/html/_sources/install/mac_os_x.txt +3 -3
  455. data/vendor/local/share/doc/groonga/ja/html/_sources/install/others.txt +3 -3
  456. data/vendor/local/share/doc/groonga/ja/html/_sources/install/solaris.txt +3 -3
  457. data/vendor/local/share/doc/groonga/ja/html/_sources/install/ubuntu.txt +3 -4
  458. data/vendor/local/share/doc/groonga/ja/html/_sources/install/windows.txt +9 -9
  459. data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +181 -891
  460. data/vendor/local/share/doc/groonga/ja/html/_sources/news/1.2.x.txt +2 -1
  461. data/vendor/local/share/doc/groonga/ja/html/_sources/news/2.x.txt +11 -9
  462. data/vendor/local/share/doc/groonga/ja/html/_sources/news/3.x.txt +4 -4
  463. data/vendor/local/share/doc/groonga/ja/html/_sources/news/5.x.txt +2 -2
  464. data/vendor/local/share/doc/groonga/ja/html/_sources/news/6.x.txt +1086 -0
  465. data/vendor/local/share/doc/groonga/ja/html/_sources/reference.txt +1 -0
  466. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/command/request_timeout.txt +1 -1
  467. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/log_level.txt +45 -19
  468. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/logical_select.txt +632 -91
  469. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/object_inspect.txt +514 -0
  470. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/select.txt +902 -55
  471. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/grnslap.txt +5 -3
  472. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga-benchmark.txt +11 -9
  473. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga-httpd.txt +71 -23
  474. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga-suggest-httpd.txt +2 -0
  475. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga-suggest-learner.txt +8 -6
  476. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga.txt +51 -25
  477. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/in_records.txt +195 -0
  478. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/query.txt +100 -15
  479. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/string_length.txt +33 -0
  480. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/vector_new.txt +38 -0
  481. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/grn_expr/query_syntax.txt +35 -7
  482. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/grn_expr/script_syntax.txt +24 -10
  483. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/log.txt +6 -6
  484. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/window_function.txt +22 -0
  485. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/window_functions/record_number.txt +28 -0
  486. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/window_functions/window_record_number.txt +25 -0
  487. data/vendor/local/share/doc/groonga/{en/html/_sources/reference/functions/record_number.txt → ja/html/_sources/reference/window_functions/window_sum.txt} +5 -3
  488. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/query_expansion.txt +3 -3
  489. data/vendor/local/share/doc/groonga/ja/html/characteristic.html +5 -5
  490. data/vendor/local/share/doc/groonga/ja/html/client.html +5 -5
  491. data/vendor/local/share/doc/groonga/ja/html/community.html +5 -5
  492. data/vendor/local/share/doc/groonga/ja/html/contribution.html +5 -5
  493. data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +5 -5
  494. data/vendor/local/share/doc/groonga/ja/html/contribution/development/build.html +5 -5
  495. data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_autotools.html +5 -5
  496. data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_cmake.html +5 -5
  497. data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/windows_cmake.html +5 -5
  498. data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +5 -5
  499. data/vendor/local/share/doc/groonga/ja/html/contribution/development/cooperation.html +5 -5
  500. data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +5 -5
  501. data/vendor/local/share/doc/groonga/ja/html/contribution/development/release.html +102 -93
  502. data/vendor/local/share/doc/groonga/ja/html/contribution/development/repository.html +5 -5
  503. data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +5 -5
  504. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +5 -5
  505. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +5 -5
  506. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +5 -5
  507. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/introduction.html +5 -5
  508. data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +5 -5
  509. data/vendor/local/share/doc/groonga/ja/html/development.html +5 -5
  510. data/vendor/local/share/doc/groonga/ja/html/development/travis-ci.html +5 -5
  511. data/vendor/local/share/doc/groonga/ja/html/genindex.html +186 -118
  512. data/vendor/local/share/doc/groonga/ja/html/index.html +111 -104
  513. data/vendor/local/share/doc/groonga/ja/html/install.html +8 -9
  514. data/vendor/local/share/doc/groonga/ja/html/install/centos.html +24 -61
  515. data/vendor/local/share/doc/groonga/ja/html/install/debian.html +12 -11
  516. data/vendor/local/share/doc/groonga/ja/html/install/fedora.html +9 -9
  517. data/vendor/local/share/doc/groonga/ja/html/install/mac_os_x.html +8 -8
  518. data/vendor/local/share/doc/groonga/ja/html/install/others.html +9 -9
  519. data/vendor/local/share/doc/groonga/ja/html/install/solaris.html +8 -8
  520. data/vendor/local/share/doc/groonga/ja/html/install/ubuntu.html +8 -9
  521. data/vendor/local/share/doc/groonga/ja/html/install/windows.html +14 -14
  522. data/vendor/local/share/doc/groonga/ja/html/limitations.html +6 -6
  523. data/vendor/local/share/doc/groonga/ja/html/news.html +132 -761
  524. data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +5 -5
  525. data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +5 -5
  526. data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +5 -5
  527. data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +6 -6
  528. data/vendor/local/share/doc/groonga/ja/html/news/1.3.x.html +5 -5
  529. data/vendor/local/share/doc/groonga/ja/html/news/2.x.html +10 -10
  530. data/vendor/local/share/doc/groonga/ja/html/news/3.x.html +9 -9
  531. data/vendor/local/share/doc/groonga/ja/html/news/4.x.html +5 -5
  532. data/vendor/local/share/doc/groonga/ja/html/news/5.x.html +6 -6
  533. data/vendor/local/share/doc/groonga/ja/html/news/6.x.html +1064 -0
  534. data/vendor/local/share/doc/groonga/ja/html/news/senna.html +5 -5
  535. data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
  536. data/vendor/local/share/doc/groonga/ja/html/reference.html +90 -82
  537. data/vendor/local/share/doc/groonga/ja/html/reference/alias.html +23 -23
  538. data/vendor/local/share/doc/groonga/ja/html/reference/api.html +39 -39
  539. data/vendor/local/share/doc/groonga/ja/html/reference/api/global_configurations.html +22 -22
  540. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_cache.html +24 -24
  541. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_column.html +24 -24
  542. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_command_version.html +24 -24
  543. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_content_type.html +22 -22
  544. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ctx.html +24 -24
  545. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_db.html +24 -24
  546. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_encoding.html +24 -24
  547. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_expr.html +22 -22
  548. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_geo.html +24 -24
  549. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_hook.html +24 -24
  550. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ii.html +24 -24
  551. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_index_cursor.html +24 -24
  552. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_info.html +24 -24
  553. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_match_escalation.html +24 -24
  554. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_obj.html +24 -24
  555. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_proc.html +24 -24
  556. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_search.html +24 -24
  557. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table.html +24 -24
  558. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table_cursor.html +24 -24
  559. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_thread.html +24 -24
  560. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_type.html +24 -24
  561. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_user_data.html +20 -20
  562. data/vendor/local/share/doc/groonga/ja/html/reference/api/overview.html +24 -24
  563. data/vendor/local/share/doc/groonga/ja/html/reference/api/plugin.html +22 -22
  564. data/vendor/local/share/doc/groonga/ja/html/reference/cast.html +5 -5
  565. data/vendor/local/share/doc/groonga/ja/html/reference/column.html +5 -5
  566. data/vendor/local/share/doc/groonga/ja/html/reference/columns/index.html +5 -5
  567. data/vendor/local/share/doc/groonga/ja/html/reference/columns/pseudo.html +5 -5
  568. data/vendor/local/share/doc/groonga/ja/html/reference/columns/scalar.html +5 -5
  569. data/vendor/local/share/doc/groonga/ja/html/reference/columns/vector.html +5 -5
  570. data/vendor/local/share/doc/groonga/ja/html/reference/command.html +5 -5
  571. data/vendor/local/share/doc/groonga/ja/html/reference/command/command_version.html +5 -5
  572. data/vendor/local/share/doc/groonga/ja/html/reference/command/output_format.html +5 -5
  573. data/vendor/local/share/doc/groonga/ja/html/reference/command/pretty_print.html +5 -5
  574. data/vendor/local/share/doc/groonga/ja/html/reference/command/request_id.html +5 -5
  575. data/vendor/local/share/doc/groonga/ja/html/reference/command/request_timeout.html +6 -6
  576. data/vendor/local/share/doc/groonga/ja/html/reference/command/return_code.html +5 -5
  577. data/vendor/local/share/doc/groonga/ja/html/reference/commands/cache_limit.html +5 -5
  578. data/vendor/local/share/doc/groonga/ja/html/reference/commands/check.html +5 -5
  579. data/vendor/local/share/doc/groonga/ja/html/reference/commands/clearlock.html +5 -5
  580. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_copy.html +5 -5
  581. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_create.html +5 -5
  582. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_list.html +5 -5
  583. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_remove.html +5 -5
  584. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_rename.html +5 -5
  585. data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_delete.html +5 -5
  586. data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_get.html +5 -5
  587. data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_set.html +5 -5
  588. data/vendor/local/share/doc/groonga/ja/html/reference/commands/database_unmap.html +5 -5
  589. data/vendor/local/share/doc/groonga/ja/html/reference/commands/define_selector.html +5 -5
  590. data/vendor/local/share/doc/groonga/ja/html/reference/commands/defrag.html +5 -5
  591. data/vendor/local/share/doc/groonga/ja/html/reference/commands/delete.html +5 -5
  592. data/vendor/local/share/doc/groonga/ja/html/reference/commands/dump.html +5 -5
  593. data/vendor/local/share/doc/groonga/ja/html/reference/commands/io_flush.html +5 -5
  594. data/vendor/local/share/doc/groonga/ja/html/reference/commands/load.html +5 -5
  595. data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_acquire.html +5 -5
  596. data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_clear.html +5 -5
  597. data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_release.html +5 -5
  598. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_level.html +67 -17
  599. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_put.html +5 -5
  600. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_reopen.html +5 -5
  601. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_count.html +5 -5
  602. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_parameters.html +5 -5
  603. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_range_filter.html +5 -5
  604. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_select.html +1629 -383
  605. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_shard_list.html +5 -5
  606. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_table_remove.html +6 -6
  607. data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalize.html +5 -5
  608. data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalizer_list.html +5 -5
  609. data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_exist.html +5 -5
  610. data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_inspect.html +508 -33
  611. data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_list.html +5 -5
  612. data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_remove.html +5 -5
  613. data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_register.html +5 -5
  614. data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_unregister.html +5 -5
  615. data/vendor/local/share/doc/groonga/ja/html/reference/commands/query_expand.html +5 -5
  616. data/vendor/local/share/doc/groonga/ja/html/reference/commands/quit.html +5 -5
  617. data/vendor/local/share/doc/groonga/ja/html/reference/commands/range_filter.html +5 -5
  618. data/vendor/local/share/doc/groonga/ja/html/reference/commands/register.html +5 -5
  619. data/vendor/local/share/doc/groonga/ja/html/reference/commands/reindex.html +5 -5
  620. data/vendor/local/share/doc/groonga/ja/html/reference/commands/request_cancel.html +5 -5
  621. data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_eval.html +5 -5
  622. data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_load.html +5 -5
  623. data/vendor/local/share/doc/groonga/ja/html/reference/commands/schema.html +5 -5
  624. data/vendor/local/share/doc/groonga/ja/html/reference/commands/select.html +1606 -478
  625. data/vendor/local/share/doc/groonga/ja/html/reference/commands/shutdown.html +5 -5
  626. data/vendor/local/share/doc/groonga/ja/html/reference/commands/status.html +5 -5
  627. data/vendor/local/share/doc/groonga/ja/html/reference/commands/suggest.html +5 -5
  628. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_copy.html +5 -5
  629. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_create.html +5 -5
  630. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_list.html +5 -5
  631. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_remove.html +5 -5
  632. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_rename.html +5 -5
  633. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_tokenize.html +5 -5
  634. data/vendor/local/share/doc/groonga/ja/html/reference/commands/thread_limit.html +5 -5
  635. data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenize.html +5 -5
  636. data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenizer_list.html +5 -5
  637. data/vendor/local/share/doc/groonga/ja/html/reference/commands/truncate.html +5 -5
  638. data/vendor/local/share/doc/groonga/ja/html/reference/configuration.html +19 -19
  639. data/vendor/local/share/doc/groonga/ja/html/reference/executables.html +5 -5
  640. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grndb.html +5 -5
  641. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grnslap.html +14 -14
  642. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-benchmark.html +32 -32
  643. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-httpd.html +76 -48
  644. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-server-http.html +5 -5
  645. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-create-dataset.html +5 -5
  646. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-httpd.html +24 -24
  647. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-learner.html +23 -23
  648. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga.html +103 -82
  649. data/vendor/local/share/doc/groonga/ja/html/reference/function.html +25 -23
  650. data/vendor/local/share/doc/groonga/ja/html/reference/functions/between.html +5 -5
  651. data/vendor/local/share/doc/groonga/ja/html/reference/functions/edit_distance.html +5 -5
  652. data/vendor/local/share/doc/groonga/ja/html/reference/functions/fuzzy_search.html +5 -5
  653. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_distance.html +5 -5
  654. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_circle.html +5 -5
  655. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_rectangle.html +5 -5
  656. data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_full.html +5 -5
  657. data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_html.html +5 -5
  658. data/vendor/local/share/doc/groonga/ja/html/reference/functions/html_untag.html +10 -10
  659. data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_records.html +370 -0
  660. data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_values.html +30 -30
  661. data/vendor/local/share/doc/groonga/ja/html/reference/functions/now.html +25 -25
  662. data/vendor/local/share/doc/groonga/ja/html/reference/functions/number_classify.html +23 -23
  663. data/vendor/local/share/doc/groonga/ja/html/reference/functions/prefix_rk_search.html +31 -31
  664. data/vendor/local/share/doc/groonga/ja/html/reference/functions/query.html +150 -52
  665. data/vendor/local/share/doc/groonga/ja/html/reference/functions/rand.html +28 -28
  666. data/vendor/local/share/doc/groonga/ja/html/reference/functions/snippet_html.html +15 -15
  667. data/vendor/local/share/doc/groonga/ja/html/reference/functions/{record_number.html → string_length.html} +36 -31
  668. data/vendor/local/share/doc/groonga/ja/html/reference/functions/string_substring.html +24 -24
  669. data/vendor/local/share/doc/groonga/ja/html/reference/functions/sub_filter.html +31 -31
  670. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_day.html +23 -23
  671. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_hour.html +23 -23
  672. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_minute.html +23 -23
  673. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_month.html +23 -23
  674. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_second.html +23 -23
  675. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_week.html +23 -23
  676. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_year.html +24 -24
  677. data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_new.html +171 -0
  678. data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_size.html +28 -28
  679. data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_slice.html +24 -24
  680. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr.html +5 -5
  681. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/query_syntax.html +36 -26
  682. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/script_syntax.html +19 -7
  683. data/vendor/local/share/doc/groonga/ja/html/reference/indexing.html +21 -21
  684. data/vendor/local/share/doc/groonga/ja/html/reference/log.html +25 -25
  685. data/vendor/local/share/doc/groonga/ja/html/reference/normalizers.html +5 -5
  686. data/vendor/local/share/doc/groonga/ja/html/reference/operations.html +17 -17
  687. data/vendor/local/share/doc/groonga/ja/html/reference/operations/geolocation_search.html +20 -20
  688. data/vendor/local/share/doc/groonga/ja/html/reference/operations/prefix_rk_search.html +26 -26
  689. data/vendor/local/share/doc/groonga/ja/html/reference/output.html +5 -5
  690. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders.html +5 -5
  691. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders/tsv.html +5 -5
  692. data/vendor/local/share/doc/groonga/ja/html/reference/regular_expression.html +5 -5
  693. data/vendor/local/share/doc/groonga/ja/html/reference/scorer.html +5 -5
  694. data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_at_most.html +6 -6
  695. data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_idf.html +5 -5
  696. data/vendor/local/share/doc/groonga/ja/html/reference/sharding.html +23 -23
  697. data/vendor/local/share/doc/groonga/ja/html/reference/suggest.html +33 -33
  698. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/completion.html +32 -32
  699. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/correction.html +28 -28
  700. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/introduction.html +26 -26
  701. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/suggestion.html +28 -28
  702. data/vendor/local/share/doc/groonga/ja/html/reference/tables.html +5 -5
  703. data/vendor/local/share/doc/groonga/ja/html/reference/token_filters.html +5 -5
  704. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers.html +5 -5
  705. data/vendor/local/share/doc/groonga/ja/html/reference/tuning.html +35 -35
  706. data/vendor/local/share/doc/groonga/ja/html/reference/types.html +5 -5
  707. data/vendor/local/share/doc/groonga/ja/html/reference/window_function.html +146 -0
  708. data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/record_number.html +165 -0
  709. data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/window_record_number.html +164 -0
  710. data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/window_sum.html +164 -0
  711. data/vendor/local/share/doc/groonga/ja/html/search.html +5 -5
  712. data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
  713. data/vendor/local/share/doc/groonga/ja/html/server.html +5 -5
  714. data/vendor/local/share/doc/groonga/ja/html/server/gqtp.html +5 -5
  715. data/vendor/local/share/doc/groonga/ja/html/server/http.html +5 -5
  716. data/vendor/local/share/doc/groonga/ja/html/server/http/comparison.html +5 -5
  717. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga-httpd.html +5 -5
  718. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga.html +5 -5
  719. data/vendor/local/share/doc/groonga/ja/html/server/memcached.html +5 -5
  720. data/vendor/local/share/doc/groonga/ja/html/server/package.html +5 -5
  721. data/vendor/local/share/doc/groonga/ja/html/spec.html +9 -9
  722. data/vendor/local/share/doc/groonga/ja/html/spec/gqtp.html +5 -5
  723. data/vendor/local/share/doc/groonga/ja/html/spec/search.html +5 -5
  724. data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +5 -5
  725. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +5 -5
  726. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/mmap_cannot_allocate_memory.html +5 -5
  727. data/vendor/local/share/doc/groonga/ja/html/tutorial.html +5 -5
  728. data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +5 -5
  729. data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +5 -5
  730. data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +5 -5
  731. data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +5 -5
  732. data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +5 -5
  733. data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +5 -5
  734. data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +5 -5
  735. data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +5 -5
  736. data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +5 -5
  737. data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +8 -8
  738. data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +5 -5
  739. data/vendor/local/share/groonga/mruby/LEGAL +4 -0
  740. data/vendor/local/share/license/mruby/AUTHORS +1 -0
  741. data/vendor/local/share/license/mruby/MITL +1 -1
  742. data/vendor/local/share/license/zlib/README +3 -3
  743. metadata +100 -67
  744. data/lib/2.4/groonga.so +0 -0
  745. data/vendor/local/sbin/groonga-httpd-restart +0 -105
@@ -50,8 +50,7 @@ module Groonga
50
50
  end
51
51
 
52
52
  expression_builder = RangeExpressionBuilder.new(shard_key,
53
- target_range,
54
- nil)
53
+ target_range)
55
54
  case cover_type
56
55
  when :partial_min
57
56
  remove_records(table) do |expression|
@@ -1,16 +1,23 @@
1
1
  module Groonga
2
2
  module Sharding
3
3
  class RangeExpressionBuilder
4
- def initialize(key, target_range, filter)
4
+ attr_reader :match_columns_expression
5
+
6
+ attr_writer :match_columns
7
+ attr_writer :query
8
+ attr_writer :filter
9
+
10
+ def initialize(key, target_range)
5
11
  @key = key
6
12
  @target_range = target_range
7
- @filter = filter
13
+ @match_columns_expression = nil
14
+ @match_columns = nil
15
+ @query = nil
16
+ @filter = nil
8
17
  end
9
18
 
10
19
  def build_all(expression)
11
- return if @filter.nil?
12
-
13
- expression.parse(@filter)
20
+ build_condition(expression)
14
21
  end
15
22
 
16
23
  def build_partial_min(expression)
@@ -22,10 +29,7 @@ module Groonga
22
29
  else
23
30
  expression.append_operator(Operator::GREATER, 2)
24
31
  end
25
- if @filter
26
- expression.parse(@filter)
27
- expression.append_operator(Operator::AND, 2)
28
- end
32
+ build_condition(expression)
29
33
  end
30
34
 
31
35
  def build_partial_max(expression)
@@ -37,10 +41,7 @@ module Groonga
37
41
  else
38
42
  expression.append_operator(Operator::LESS, 2)
39
43
  end
40
- if @filter
41
- expression.parse(@filter)
42
- expression.append_operator(Operator::AND, 2)
43
- end
44
+ build_condition(expression)
44
45
  end
45
46
 
46
47
  def build_partial_min_and_max(expression)
@@ -55,9 +56,31 @@ module Groonga
55
56
  expression.append_constant(@target_range.max_border,
56
57
  Operator::PUSH, 1)
57
58
  expression.append_operator(Operator::CALL, 5)
59
+ build_condition(expression)
60
+ end
61
+
62
+ private
63
+ def build_condition(expression)
64
+ if @query
65
+ is_empty = expression.empty?
66
+ if @match_columns
67
+ table = Context.instance[expression[0].domain]
68
+ @match_columns_expression = Expression.create(table)
69
+ @match_columns_expression.parse(@match_columns)
70
+ end
71
+ flags = Expression::SYNTAX_QUERY |
72
+ Expression::ALLOW_PRAGMA |
73
+ Expression::ALLOW_COLUMN
74
+ expression.parse(@query,
75
+ default_column: @match_columns_expression,
76
+ flags: flags)
77
+ expression.append_operator(Operator::AND, 2) unless is_empty
78
+ end
79
+
58
80
  if @filter
81
+ is_empty = expression.empty?
59
82
  expression.parse(@filter)
60
- expression.append_operator(Operator::AND, 2)
83
+ expression.append_operator(Operator::AND, 2) unless is_empty
61
84
  end
62
85
  end
63
86
  end
@@ -17,7 +17,7 @@ old_library='suggest.a'
17
17
  inherited_linker_flags=''
18
18
 
19
19
  # Libraries that this one depends upon.
20
- dependency_libs=' -L/vagrant/dist-x86/lib /vagrant/dist-x86/lib/libgroonga.la /vagrant/dist-x86/lib/libonigmo.la -llz4 -lz -lws2_32 -lmsgpackc'
20
+ dependency_libs=' -L/build/dist-x86/lib /build/dist-x86/lib/libgroonga.la /build/dist-x86/lib/libonigmo.la -llz4 -lz -lws2_32 -lmsgpackc'
21
21
 
22
22
  # Names of additional weak libraries provided by this library
23
23
  weak_library_names=''
@@ -38,4 +38,4 @@ dlopen=''
38
38
  dlpreopen=''
39
39
 
40
40
  # Directory that this library needs to be installed in:
41
- libdir='/vagrant/dist-x86/lib/groonga/plugins/suggest'
41
+ libdir='/build/dist-x86/lib/groonga/plugins/suggest'
@@ -17,7 +17,7 @@ old_library='stop_word.a'
17
17
  inherited_linker_flags=''
18
18
 
19
19
  # Libraries that this one depends upon.
20
- dependency_libs=' -L/vagrant/dist-x86/lib /vagrant/dist-x86/lib/libgroonga.la -lmsgpackc /vagrant/dist-x86/lib/libonigmo.la -llz4 -lz -lws2_32'
20
+ dependency_libs=' -L/build/dist-x86/lib /build/dist-x86/lib/libgroonga.la -lmsgpackc /build/dist-x86/lib/libonigmo.la -llz4 -lz -lws2_32'
21
21
 
22
22
  # Names of additional weak libraries provided by this library
23
23
  weak_library_names=''
@@ -38,4 +38,4 @@ dlopen=''
38
38
  dlpreopen=''
39
39
 
40
40
  # Directory that this library needs to be installed in:
41
- libdir='/vagrant/dist-x86/lib/groonga/plugins/token_filters'
41
+ libdir='/build/dist-x86/lib/groonga/plugins/token_filters'
@@ -17,7 +17,7 @@ old_library='mecab.a'
17
17
  inherited_linker_flags=''
18
18
 
19
19
  # Libraries that this one depends upon.
20
- dependency_libs=' -L/vagrant/dist-x86/lib /vagrant/dist-x86/lib/libmecab.la /vagrant/dist-x86/lib/libgroonga.la -lmsgpackc /vagrant/dist-x86/lib/libonigmo.la -llz4 -lz -lws2_32'
20
+ dependency_libs=' -L/build/dist-x86/lib /build/dist-x86/lib/libmecab.la /build/dist-x86/lib/libgroonga.la -lmsgpackc /build/dist-x86/lib/libonigmo.la -llz4 -lz -lws2_32'
21
21
 
22
22
  # Names of additional weak libraries provided by this library
23
23
  weak_library_names=''
@@ -38,4 +38,4 @@ dlopen=''
38
38
  dlpreopen=''
39
39
 
40
40
  # Directory that this library needs to be installed in:
41
- libdir='/vagrant/dist-x86/lib/groonga/plugins/tokenizers'
41
+ libdir='/build/dist-x86/lib/groonga/plugins/tokenizers'
@@ -36,7 +36,6 @@ module Groonga
36
36
  cached_value = cache.fetch(key)
37
37
  if cached_value
38
38
  context.output = cached_value
39
- cache.unref(key)
40
39
  query_logger.log(:cache, ":", "cache(#{cached_value.bytesize})")
41
40
  else
42
41
  yield
@@ -0,0 +1,15 @@
1
+ module Groonga
2
+ class CommandInput
3
+ include Enumerable
4
+
5
+ def each
6
+ args = arguments
7
+ arg = Record.new(args, nil)
8
+ args.each do |id|
9
+ arg.id = id
10
+ key = arg.key
11
+ yield(key, self[key])
12
+ end
13
+ end
14
+ end
15
+ end
@@ -6,6 +6,7 @@ require "expression_tree_builder"
6
6
  require "scan_info"
7
7
  require "scan_info_builder"
8
8
 
9
+ require "scan_info_data_size_estimator"
9
10
  require "expression_size_estimator"
10
11
 
11
12
  module Groonga
@@ -31,7 +31,8 @@ module Groonga
31
31
  current_size = 0
32
32
  end
33
33
 
34
- size = estimate_data(data)
34
+ estimator = ScanInfoDataSizeEstimator.new(data, @table)
35
+ size = estimator.estimate
35
36
  case data.logical_op
36
37
  when Operator::AND
37
38
  current_size = size if size < current_size
@@ -49,140 +50,5 @@ module Groonga
49
50
  end
50
51
  current_size
51
52
  end
52
-
53
- private
54
- def estimate_data(data)
55
- search_index = data.search_indexes.first
56
- return @table_size if search_index.nil?
57
-
58
- index_column = resolve_index_column(search_index.index_column,
59
- data.op)
60
- return @table_size if index_column.nil?
61
-
62
- size = nil
63
- case data.op
64
- when Operator::MATCH,
65
- Operator::FUZZY
66
- size = estimate_match(data, index_column)
67
- when Operator::REGEXP
68
- size = estimate_regexp(data, index_column)
69
- when Operator::EQUAL
70
- size = estimate_equal(data, index_column)
71
- when Operator::LESS,
72
- Operator::LESS_EQUAL,
73
- Operator::GREATER,
74
- Operator::GREATER_EQUAL
75
- size = estimate_range(data, index_column)
76
- when Operator::PREFIX
77
- size = estimate_prefix(data, index_column)
78
- when Operator::CALL
79
- size = estimate_call(data, index_column)
80
- end
81
- size || @table_size
82
- end
83
-
84
- def resolve_index_column(index_column, operator)
85
- while index_column.is_a?(Accessor)
86
- index_info = index_column.find_index(operator)
87
- return nil if index_info.nil?
88
- index_column = index_info.index
89
- end
90
-
91
- index_column
92
- end
93
-
94
- def sampling_cursor_limit(n_terms)
95
- limit = n_terms * 0.01
96
- if limit < 10
97
- 10
98
- elsif limit > 1000
99
- 1000
100
- else
101
- limit.to_i
102
- end
103
- end
104
-
105
- def estimate_match(data, index_column)
106
- index_column.estimate_size(:query => data.query.value)
107
- end
108
-
109
- def estimate_regexp(data, index_column)
110
- index_column.estimate_size(:query => data.query.value,
111
- :mode => data.op)
112
- end
113
-
114
- def estimate_equal(data, index_column)
115
- lexicon = index_column.lexicon
116
- query = data.query
117
- if query.domain == lexicon.id
118
- term_id = query.value
119
- else
120
- term_id = lexicon[query]
121
- end
122
- return 0 if term_id.nil?
123
-
124
- index_column.estimate_size(:term_id => term_id)
125
- end
126
-
127
- def estimate_range(data, index_column)
128
- lexicon = index_column.lexicon
129
- n_terms = lexicon.size
130
- return 0 if n_terms.zero?
131
-
132
- value = data.query.value
133
- options = {
134
- :limit => sampling_cursor_limit(n_terms),
135
- }
136
- case data.op
137
- when Operator::LESS
138
- options[:max] = value
139
- options[:flags] = TableCursorFlags::LT
140
- when Operator::LESS_EQUAL
141
- options[:max] = value
142
- options[:flags] = TableCursorFlags::LE
143
- when Operator::GREATER
144
- options[:min] = value
145
- options[:flags] = TableCursorFlags::GT
146
- when Operator::GREATER_EQUAL
147
- options[:min] = value
148
- options[:flags] = TableCursorFlags::GE
149
- end
150
- TableCursor.open(lexicon, options) do |cursor|
151
- size = index_column.estimate_size(:lexicon_cursor => cursor)
152
- size += 1 if cursor.next != ID::NIL
153
- size
154
- end
155
- end
156
-
157
- def estimate_prefix(data, index_column)
158
- lexicon = index_column.lexicon
159
- n_terms = lexicon.size
160
- return 0 if n_terms.zero?
161
-
162
- value = data.query.value
163
- options = {
164
- :min => value,
165
- :limit => sampling_cursor_limit(n_terms),
166
- :flags => TableCursorFlags::PREFIX,
167
- }
168
- TableCursor.open(lexicon, options) do |cursor|
169
- size = index_column.estimate_size(:lexicon_cursor => cursor)
170
- size += 1 if cursor.next != ID::NIL
171
- size
172
- end
173
- end
174
-
175
- def estimate_call(data, index_column)
176
- procedure = data.args[0]
177
- arguments = data.args[1..-1].collect do |arg|
178
- if arg.is_a?(::Groonga::Object)
179
- ExpressionTree::Variable.new(arg)
180
- else
181
- ExpressionTree::Constant.new(arg)
182
- end
183
- end
184
- node = ExpressionTree::FunctionCall.new(procedure, arguments)
185
- node.estimate_size(@table)
186
- end
187
53
  end
188
54
  end
@@ -20,10 +20,21 @@ module Groonga
20
20
  return table.size unless @procedure.name == "between"
21
21
 
22
22
  column, min, min_border, max, max_border = @arguments
23
+
23
24
  index_info = column.column.find_index(Operator::CALL)
24
25
  return table.size if index_info.nil?
25
-
26
26
  index_column = index_info.index
27
+ while index_column.is_a?(Groonga::Accessor)
28
+ if index_column.have_next?
29
+ index_column = index_column.next
30
+ else
31
+ index_column = index_column.object
32
+ index_info = index_column.find_index(Operator::CALL)
33
+ return table.size if index_info.nil?
34
+ index_column = index_info.index
35
+ end
36
+ end
37
+
27
38
  lexicon = index_column.lexicon
28
39
  options = {
29
40
  :min => min.value,
@@ -85,7 +85,7 @@ module Groonga
85
85
  stack.push(node)
86
86
  when Operator::CALL
87
87
  arguments = []
88
- code.n_args.times do
88
+ (code.n_args - 1).times do
89
89
  arguments.unshift(stack.pop)
90
90
  end
91
91
  procedure = stack.pop
@@ -15,6 +15,7 @@ require "variable_size_column"
15
15
  require "index_column"
16
16
  require "accessor"
17
17
  require "command"
18
+ require "command_input"
18
19
  require "table_cursor"
19
20
  require "index_cursor"
20
21
 
@@ -9,12 +9,12 @@ module Groonga
9
9
  message = "#{error.class}: #{error.message}"
10
10
  end
11
11
  backtrace = error.backtrace
12
- last_raw_entry = backtrace.last
13
- if last_raw_entry
14
- last_entry = BacktraceEntry.parse(last_raw_entry)
15
- file = last_entry.file
16
- line = last_entry.line
17
- method = last_entry.method
12
+ first_raw_entry = backtrace.first
13
+ if first_raw_entry
14
+ first_entry = BacktraceEntry.parse(first_raw_entry)
15
+ file = first_entry.file
16
+ line = first_entry.line
17
+ method = first_entry.method
18
18
  # message = "#{file}:#{line}:#{method}: #{message}"
19
19
  else
20
20
  file = ""
@@ -23,8 +23,7 @@ module Groonga
23
23
  end
24
24
  log(log_level, file, line, method, message)
25
25
 
26
- backtrace.reverse_each.with_index do |raw_entry, i|
27
- next if i == 0
26
+ backtrace.each_with_index do |raw_entry, i|
28
27
  entry = BacktraceEntry.parse(raw_entry)
29
28
  message = entry.message
30
29
  message = raw_entry if message.empty?
@@ -2,19 +2,13 @@ require "scan_info_data"
2
2
 
3
3
  module Groonga
4
4
  class ScanInfoBuilder
5
- module Status
6
- START = 0
7
- VAR = 1
8
- COL1 = 2
9
- COL2 = 3
10
- CONST = 4
11
- end
12
-
13
5
  def initialize(expression, operator, record_exist)
14
6
  @data_list = []
15
7
  @expression = expression
16
8
  @operator = operator
17
9
  @record_exist = record_exist
10
+ @variable = @expression[0]
11
+ @table = Context.instance[@variable.domain]
18
12
  end
19
13
 
20
14
  RELATION_OPERATORS = [
@@ -61,89 +55,106 @@ module Groonga
61
55
  def build
62
56
  return nil unless valid?
63
57
 
64
- status = Status::START
65
- variable = @expression[0]
66
- data = nil
67
- codes = @expression.codes
68
- n_codes = codes.size
69
- codes.each_with_index do |code, i|
70
- case code.op
58
+ context = BuildContext.new(@expression)
59
+ codes = context.codes
60
+ while context.have_next?
61
+ code = context.code
62
+ code_op = context.code_op
63
+ i = context.i
64
+ context.next
65
+
66
+ case code_op
71
67
  when *RELATION_OPERATORS
72
- status = Status::START
73
- data.op = code.op
68
+ context.status = :start
69
+ data = context.data
70
+ data.op = code_op
74
71
  data.end = i
75
72
  data.match_resolve_index
76
73
  @data_list << data
77
- data = nil
74
+ context.data = nil
78
75
  when *LOGICAL_OPERATORS
79
- if status == Status::CONST
76
+ if context.status == :const
77
+ data = context.data
80
78
  data.op = Operator::PUSH
81
79
  data.end = data.start
82
80
  @data_list << data
83
- data = nil
81
+ context.data = nil
84
82
  end
85
- put_logical_op(code.op, i)
83
+ put_logical_op(code_op, i)
86
84
  # TODO: rescue and return nil
87
- status = Status::START
85
+ context.status = :start
88
86
  when Operator::PUSH
89
- data ||= ScanInfoData.new(i)
90
- if code.value == variable
91
- status = Status::VAR
87
+ context.data ||= ScanInfoData.new(i)
88
+ data = context.data
89
+ if code.value == @variable
90
+ context.status = :var
92
91
  else
93
92
  data.args << code.value
94
- if status == Status::START
93
+ if context.status == :start
95
94
  data.flags |= ScanInfo::Flags::PRE_CONST
96
95
  end
97
- status = Status::CONST
96
+ context.status = :const
98
97
  end
99
98
  if code.modify > 0 and
100
99
  LOGICAL_OPERATORS.include?(codes[i + code.modify].op)
101
100
  data.op = Operator::PUSH
102
101
  data.end = data.start
103
102
  @data_list << data
104
- data = nil
105
- status = Status::START
103
+ context.data = nil
104
+ context.status = :start
106
105
  end
107
106
  when Operator::GET_VALUE
108
- case status
109
- when Status::START
110
- data ||= ScanInfoData.new(i)
111
- status = Status::COL1
107
+ case context.status
108
+ when :start
109
+ context.data ||= ScanInfoData.new(i)
110
+ data = context.data
111
+ context.status = :column1
112
112
  data.args << code.value
113
- when Status::CONST, Status::VAR
114
- status = Status::COL1
113
+ when :const, :var
114
+ context.status = :column1
115
115
  data.args << code.value
116
- when Status::COL1
117
- raise ErrorMessage, "invalid expression: can't use column as a value: <#{code.value.name}>: <#{@expression.grn_inspect}>"
118
- status = Status::COL2
119
- when Status::COL2
116
+ when :column1
117
+ message = "invalid expression: can't use column as a value: "
118
+ message << "<#{code.value.name}>: <#{@expression.grn_inspect}>"
119
+ raise ErrorMessage, message
120
+ when :column2
120
121
  # Do nothing
122
+ else
123
+ message = "internal expression parsing error: unknown status: "
124
+ message << "<#{context.status.inspect}>: "
125
+ message << "<#{@expression.grn_inspect}>"
126
+ raise ErrorMessage, message
121
127
  end
122
128
  when Operator::CALL
123
- data ||= ScanInfoData.new(i)
129
+ context.data ||= ScanInfoData.new(i)
130
+ data = context.data
124
131
  if (code.flags & ExpressionCode::Flags::RELATIONAL_EXPRESSION) != 0 or
125
- (i + 1) == n_codes
126
- status = Status::START
127
- data.op = code.op
132
+ (not context.have_next?)
133
+ context.status = :start
134
+ data.op = code_op
128
135
  data.end = i
129
136
  data.call_relational_resolve_indexes
130
137
  @data_list << data
131
- data = nil
138
+ context.data = nil
132
139
  else
133
- status = Status::COL2
140
+ context.status = :column2
134
141
  end
135
142
  when Operator::GET_REF
136
- data ||= ScanInfoData.new(i)
137
- case status
138
- when Status::START
139
- data ||= ScanInfoData.new(i)
140
- status = Status::COL1
143
+ context.data ||= ScanInfoData.new(i)
144
+ case context.status
145
+ when :start
146
+ data = context.data
147
+ context.status = :column1
141
148
  data.args << code.value
142
149
  end
143
150
  when Operator::GET_MEMBER
151
+ data = context.data
144
152
  index = data.args.pop
145
153
  data.start_position = index.value
146
- status = Status::COL1
154
+ context.status = :column1
155
+ when Operator::NOT
156
+ success = build_not(context, code, i)
157
+ return nil unless success
147
158
  end
148
159
  end
149
160
 
@@ -157,7 +168,7 @@ module Groonga
157
168
  first_data.logical_op = @operator
158
169
  end
159
170
  else
160
- put_logical_op(@operator, n_codes)
171
+ put_logical_op(@operator, context.n_codes)
161
172
  end
162
173
 
163
174
  optimize
@@ -167,31 +178,32 @@ module Groonga
167
178
  def valid?
168
179
  n_relation_expressions = 0
169
180
  n_logical_expressions = 0
170
- status = Status::START
171
- variable = @expression[0]
181
+ status = :start
172
182
  codes = @expression.codes
173
183
  codes.each_with_index do |code, i|
174
184
  case code.op
175
185
  when *RELATION_OPERATORS
176
- return false if status < Status::COL1
177
- return false if status > Status::CONST
178
- status = Status::START
186
+ if status == :start || status == :var
187
+ return false
188
+ end
189
+ status = :start
179
190
  n_relation_expressions += 1
180
191
  when *ARITHMETIC_OPERATORS
181
- return false if status < Status::COL1
182
- return false if status > Status::CONST
183
- status = Status::START
192
+ if status == :start || status == :var
193
+ return false
194
+ end
195
+ status = :start
184
196
  return false if n_relation_expressions != (n_logical_expressions + 1)
185
197
  when *LOGICAL_OPERATORS
186
198
  case status
187
- when Status::START
199
+ when :start
188
200
  n_logical_expressions += 1
189
201
  return false if n_logical_expressions >= n_relation_expressions
190
- when Status::CONST
202
+ when :const
191
203
  n_logical_expressions += 1
192
204
  n_relation_expressions += 1
193
205
  return false if n_logical_expressions >= n_relation_expressions
194
- status = Status::START
206
+ status = :start
195
207
  else
196
208
  return false
197
209
  end
@@ -199,21 +211,21 @@ module Groonga
199
211
  if code.modify > 0 and
200
212
  LOGICAL_OPERATORS.include?(codes[i + code.modify].op)
201
213
  n_relation_expressions += 1
202
- status = Status::START
214
+ status = :start
203
215
  else
204
- if code.value == variable
205
- status = Status::VAR
216
+ if code.value == @variable
217
+ status = :var
206
218
  else
207
- status = Status::CONST
219
+ status = :const
208
220
  end
209
221
  end
210
222
  when Operator::GET_VALUE
211
223
  case status
212
- when Status::START, Status::CONST, Status::VAR
213
- status = Status::COL1
214
- when Status::COL1
215
- status = Status::COL2
216
- when Status::COL2
224
+ when :start, :const, :var
225
+ status = :column1
226
+ when :column1
227
+ status = :column2
228
+ when :column2
217
229
  # Do nothing
218
230
  else
219
231
  return false
@@ -221,32 +233,34 @@ module Groonga
221
233
  when Operator::CALL
222
234
  if (code.flags & ExpressionCode::Flags::RELATIONAL_EXPRESSION) != 0 or
223
235
  code == codes.last
224
- status = Status::START
236
+ status = :start
225
237
  n_relation_expressions += 1
226
238
  else
227
- status = Status::COL2
239
+ status = :column2
228
240
  end
229
241
  when Operator::GET_REF
230
242
  case status
231
- when Status::START
232
- status = Status::COL1
243
+ when :start
244
+ status = :column1
233
245
  else
234
246
  return false
235
247
  end
236
248
  when Operator::GET_MEMBER
237
249
  case status
238
- when Status::CONST
250
+ when :const
239
251
  return false unless codes[i - 1].value.value.is_a?(Integer)
240
- status = Status::COL1
252
+ status = :column1
241
253
  else
242
254
  return false
243
255
  end
256
+ when Operator::NOT
257
+ # Do nothing
244
258
  else
245
259
  return false
246
260
  end
247
261
  end
248
262
 
249
- return false if status != Status::START
263
+ return false if status != :start
250
264
  return false if n_relation_expressions != (n_logical_expressions + 1)
251
265
 
252
266
  true
@@ -315,6 +329,61 @@ module Groonga
315
329
  end
316
330
  end
317
331
 
332
+ def build_not(context, code, i)
333
+ last_data = @data_list.last
334
+ return false if last_data.nil?
335
+
336
+ case last_data.op
337
+ when Operator::LESS
338
+ last_data.op = Operator::GREATER_EQUAL
339
+ last_data.end += 1
340
+ when Operator::LESS_EQUAL
341
+ last_data.op = Operator::GREATER
342
+ last_data.end += 1
343
+ when Operator::GREATER
344
+ last_data.op = Operator::LESS_EQUAL
345
+ last_data.end += 1
346
+ when Operator::GREATER_EQUAL
347
+ last_data.op = Operator::LESS
348
+ last_data.end += 1
349
+ when Operator::NOT_EQUAL
350
+ last_data.op = Operator::EQUAL
351
+ last_data.end += 1
352
+ else
353
+ if @data_list.size == 1
354
+ if last_data.search_indexes.empty?
355
+ if last_data.op == Operator::EQUAL
356
+ last_data.op = Operator::NOT_EQUAL
357
+ last_data.end += 1
358
+ else
359
+ return false
360
+ end
361
+ else
362
+ last_data.logical_op = Operator::AND_NOT
363
+ last_data.flags &= ~ScanInfo::Flags::PUSH
364
+ @data_list.unshift(create_all_match_data)
365
+ end
366
+ else
367
+ next_code = context.code
368
+ return false if next_code.nil?
369
+
370
+ case next_code.op
371
+ when Operator::AND
372
+ context.code_op = Operator::AND_NOT
373
+ when Operator::AND_NOT
374
+ context.code_op = Operator::AND
375
+ when Operator::OR
376
+ @data_list[-1, 0] = create_all_match_data
377
+ put_logical_op(Operator::AND_NOT, i)
378
+ else
379
+ return false
380
+ end
381
+ end
382
+ end
383
+
384
+ true
385
+ end
386
+
318
387
  def optimize
319
388
  optimized_data_list = []
320
389
  i = 0
@@ -335,7 +404,45 @@ module Groonga
335
404
  end
336
405
  optimized_data_list << data
337
406
  end
338
- optimized_data_list
407
+
408
+ optimize_by_estimated_size(optimized_data_list)
409
+ end
410
+
411
+ def optimize_by_estimated_size(data_list)
412
+ return data_list unless Groonga::ORDER_BY_ESTIMATED_SIZE
413
+
414
+ start_index = nil
415
+ data_list.size.times do |i|
416
+ data = data_list[i]
417
+ if data.logical_op != Operator::AND
418
+ if start_index.nil?
419
+ start_index = i
420
+ else
421
+ sort_by_estimated_size!(data_list, start_index...i)
422
+ start_index = nil
423
+ end
424
+ end
425
+ end
426
+ unless start_index.nil?
427
+ sort_by_estimated_size!(data_list, start_index...data_list.size)
428
+ end
429
+ data_list
430
+ end
431
+
432
+ def sort_by_estimated_size!(data_list, range)
433
+ target_data_list = data_list[range]
434
+ return if target_data_list.size < 2
435
+
436
+ start_logical_op = target_data_list.first.logical_op
437
+ sorted_data_list = target_data_list.sort_by do |data|
438
+ estimator = ScanInfoDataSizeEstimator.new(data, @table)
439
+ estimator.estimate
440
+ end
441
+ sorted_data_list.each do |sorted_data|
442
+ sorted_data.logical_op = Operator::AND
443
+ end
444
+ sorted_data_list.first.logical_op = start_logical_op
445
+ data_list[range] = sorted_data_list
339
446
  end
340
447
 
341
448
  def range_operations?(data, next_data)
@@ -371,6 +478,17 @@ module Groonga
371
478
  end
372
479
  end
373
480
 
481
+ def create_all_match_data
482
+ data = ScanInfoData.new(0)
483
+ data.end = 0
484
+ data.flags = ScanInfo::Flags::PUSH
485
+ data.op = Operator::CALL
486
+ data.logical_op = Operator::OR
487
+ data.args = [Context.instance["all_records"]]
488
+ data.search_indexes = []
489
+ data
490
+ end
491
+
374
492
  def create_between_data(data, next_data)
375
493
  between_data = ScanInfoData.new(data.start)
376
494
  between_data.end = next_data.end + 1
@@ -418,5 +536,41 @@ module Groonga
418
536
  @expression.allocate_constant(max_border),
419
537
  ]
420
538
  end
539
+
540
+ class BuildContext
541
+ attr_accessor :status
542
+ attr_reader :codes
543
+ attr_reader :n_codes
544
+ attr_reader :i
545
+ attr_writer :code_op
546
+ attr_accessor :data
547
+ def initialize(expression)
548
+ @expression = expression
549
+ @status = :start
550
+ @current_data = nil
551
+ @codes = @expression.codes
552
+ @n_codes = @codes.size
553
+ @i = 0
554
+ @code_op = nil
555
+ @data = nil
556
+ end
557
+
558
+ def have_next?
559
+ @i < @n_codes
560
+ end
561
+
562
+ def next
563
+ @i += 1
564
+ @code_op = nil
565
+ end
566
+
567
+ def code
568
+ @codes[@i]
569
+ end
570
+
571
+ def code_op
572
+ @code_op || code.op
573
+ end
574
+ end
421
575
  end
422
576
  end