rroonga 6.1.3-x64-mingw32 → 7.0.2-x64-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.
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-x64/lib /vagrant/dist-x64/lib/libgroonga.la /vagrant/dist-x64/lib/libonigmo.la -llz4 -lz -lws2_32 -lmsgpackc'
20
+ dependency_libs=' -L/build/dist-x64/lib /build/dist-x64/lib/libgroonga.la /build/dist-x64/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-x64/lib/groonga/plugins/suggest'
41
+ libdir='/build/dist-x64/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-x64/lib /vagrant/dist-x64/lib/libgroonga.la -lmsgpackc /vagrant/dist-x64/lib/libonigmo.la -llz4 -lz -lws2_32'
20
+ dependency_libs=' -L/build/dist-x64/lib /build/dist-x64/lib/libgroonga.la -lmsgpackc /build/dist-x64/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-x64/lib/groonga/plugins/token_filters'
41
+ libdir='/build/dist-x64/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-x64/lib /vagrant/dist-x64/lib/libmecab.la /vagrant/dist-x64/lib/libgroonga.la -lmsgpackc /vagrant/dist-x64/lib/libonigmo.la -llz4 -lz -lws2_32'
20
+ dependency_libs=' -L/build/dist-x64/lib /build/dist-x64/lib/libmecab.la /build/dist-x64/lib/libgroonga.la -lmsgpackc /build/dist-x64/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-x64/lib/groonga/plugins/tokenizers'
41
+ libdir='/build/dist-x64/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