rroonga 5.0.4-x64-mingw32 → 5.0.5-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (750) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +2 -2
  3. data/example/measure-data-column-disk-usage.rb +124 -0
  4. data/example/measure-index-column-disk-usage.rb +81 -0
  5. data/example/measure-table-disk-usage.rb +100 -0
  6. data/ext/groonga/rb-grn-database.c +31 -0
  7. data/ext/groonga/rb-grn-double-array-trie.c +1 -8
  8. data/ext/groonga/rb-grn-logger.c +45 -0
  9. data/ext/groonga/rb-grn-object.c +29 -1
  10. data/ext/groonga/rb-grn-patricia-trie.c +1 -8
  11. data/ext/groonga/rb-grn-table-cursor.c +8 -3
  12. data/ext/groonga/rb-grn-table.c +10 -5
  13. data/ext/groonga/rb-grn-thread.c +160 -0
  14. data/ext/groonga/rb-grn-windows-event-logger.c +79 -0
  15. data/ext/groonga/rb-grn.h +3 -1
  16. data/ext/groonga/rb-groonga.c +3 -1
  17. data/lib/1.9/groonga.so +0 -0
  18. data/lib/2.0/groonga.so +0 -0
  19. data/lib/2.1/groonga.so +0 -0
  20. data/lib/2.2/groonga.so +0 -0
  21. data/lib/groonga/dumper.rb +6 -1
  22. data/rroonga-build.rb +4 -4
  23. data/test/groonga-test-utils.rb +5 -1
  24. data/test/test-database.rb +11 -0
  25. data/test/test-logger.rb +6 -0
  26. data/test/test-operator.rb +6 -6
  27. data/test/test-procedure.rb +15 -0
  28. data/test/test-table-dumper.rb +170 -1
  29. data/test/test-thread.rb +42 -0
  30. data/test/test-windows-event-logger.rb +28 -0
  31. data/vendor/local/bin/grndb.exe +0 -0
  32. data/vendor/local/bin/groonga-benchmark.exe +0 -0
  33. data/vendor/local/bin/groonga.exe +0 -0
  34. data/vendor/local/bin/libgcc_s_seh-1.dll +0 -0
  35. data/vendor/local/bin/libgroonga-0.dll +0 -0
  36. data/vendor/local/bin/libmecab-1.dll +0 -0
  37. data/vendor/local/bin/libmsgpack-4.dll +0 -0
  38. data/vendor/local/bin/libmsgpackc-2.dll +0 -0
  39. data/vendor/local/bin/libonig-5.dll +0 -0
  40. data/vendor/local/bin/libstdc++-6.dll +0 -0
  41. data/vendor/local/bin/libwinpthread-1.dll +0 -0
  42. data/vendor/local/bin/lz4.exe +0 -0
  43. data/vendor/local/bin/lz4c.exe +0 -0
  44. data/vendor/local/bin/lz4cat +0 -0
  45. data/vendor/local/bin/mecab-config +2 -2
  46. data/vendor/local/bin/mecab.exe +0 -0
  47. data/vendor/local/bin/onig-config +1 -1
  48. data/vendor/local/bin/zlib1.dll +0 -0
  49. data/vendor/local/etc/groonga/httpd/groonga-httpd.conf +2 -2
  50. data/vendor/local/etc/groonga/windows_event_log/provider.man +38 -0
  51. data/vendor/local/include/groonga/groonga.h +2 -0
  52. data/vendor/local/include/groonga/groonga/command.h +2 -0
  53. data/vendor/local/include/groonga/groonga/groonga.h +5 -0
  54. data/vendor/local/include/groonga/groonga/obj.h +1 -0
  55. data/vendor/local/include/groonga/groonga/portability.h +16 -0
  56. data/vendor/local/include/groonga/groonga/thread.h +42 -0
  57. data/vendor/local/include/groonga/groonga/windows_event_logger.h +33 -0
  58. data/vendor/local/lib/groonga/plugins/functions/vector.a +0 -0
  59. data/vendor/local/lib/groonga/plugins/functions/vector.dll +0 -0
  60. data/vendor/local/lib/groonga/plugins/functions/vector.dll.a +0 -0
  61. data/vendor/local/lib/groonga/plugins/functions/vector.la +2 -2
  62. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.a +0 -0
  63. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll +0 -0
  64. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll.a +0 -0
  65. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.la +2 -2
  66. data/vendor/local/lib/groonga/plugins/ruby/eval.a +0 -0
  67. data/vendor/local/lib/groonga/plugins/ruby/eval.dll +0 -0
  68. data/vendor/local/lib/groonga/plugins/ruby/eval.dll.a +0 -0
  69. data/vendor/local/lib/groonga/plugins/ruby/eval.la +2 -2
  70. data/vendor/local/lib/groonga/plugins/ruby/load.a +0 -0
  71. data/vendor/local/lib/groonga/plugins/ruby/load.dll +0 -0
  72. data/vendor/local/lib/groonga/plugins/ruby/load.dll.a +0 -0
  73. data/vendor/local/lib/groonga/plugins/ruby/load.la +2 -2
  74. data/vendor/local/lib/groonga/plugins/sharding.rb +5 -0
  75. data/vendor/local/lib/groonga/plugins/sharding/logical_count.rb +43 -6
  76. data/vendor/local/lib/groonga/plugins/sharding/logical_enumerator.rb +32 -25
  77. data/vendor/local/lib/groonga/plugins/sharding/logical_parameters.rb +44 -0
  78. data/vendor/local/lib/groonga/plugins/sharding/logical_range_filter.rb +217 -49
  79. data/vendor/local/lib/groonga/plugins/sharding/logical_select.rb +507 -45
  80. data/vendor/local/lib/groonga/plugins/sharding/logical_shard_list.rb +28 -0
  81. data/vendor/local/lib/groonga/plugins/sharding/logical_table_remove.rb +11 -6
  82. data/vendor/local/lib/groonga/plugins/sharding/parameters.rb +10 -0
  83. data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
  84. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
  85. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
  86. data/vendor/local/lib/groonga/plugins/suggest/suggest.la +2 -2
  87. data/vendor/local/lib/groonga/plugins/table/table.a +0 -0
  88. data/vendor/local/lib/groonga/plugins/table/table.dll +0 -0
  89. data/vendor/local/lib/groonga/plugins/table/table.dll.a +0 -0
  90. data/vendor/local/lib/groonga/plugins/table/table.la +2 -2
  91. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.a +0 -0
  92. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll +0 -0
  93. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll.a +0 -0
  94. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.la +2 -2
  95. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
  96. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
  97. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
  98. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +2 -2
  99. data/vendor/local/lib/groonga/scripts/ruby/command.rb +31 -1
  100. data/vendor/local/lib/groonga/scripts/ruby/context.rb +18 -2
  101. data/vendor/local/lib/groonga/scripts/ruby/database.rb +12 -4
  102. data/vendor/local/lib/groonga/scripts/ruby/expression_size_estimator.rb +31 -28
  103. data/vendor/local/lib/groonga/scripts/ruby/initialize/post.rb +1 -0
  104. data/vendor/local/lib/groonga/scripts/ruby/logger/level.rb +4 -2
  105. data/vendor/local/lib/groonga/scripts/ruby/query_logger.rb +9 -0
  106. data/vendor/local/lib/groonga/scripts/ruby/query_logger/flag.rb +39 -0
  107. data/vendor/local/lib/groonga/scripts/ruby/record.rb +12 -0
  108. data/vendor/local/lib/groonga/scripts/ruby/table.rb +35 -1
  109. data/vendor/local/lib/libgroonga.a +0 -0
  110. data/vendor/local/lib/libgroonga.dll.a +0 -0
  111. data/vendor/local/lib/libgroonga.la +2 -2
  112. data/vendor/local/lib/liblz4.dll +0 -0
  113. data/vendor/local/lib/liblz4.dll.1 +0 -0
  114. data/vendor/local/lib/liblz4.dll.1.5.0 +0 -0
  115. data/vendor/local/lib/libmecab.a +0 -0
  116. data/vendor/local/lib/libmecab.dll.a +0 -0
  117. data/vendor/local/lib/libmecab.la +2 -2
  118. data/vendor/local/lib/libmsgpack.a +0 -0
  119. data/vendor/local/lib/libmsgpack.dll.a +0 -0
  120. data/vendor/local/lib/libmsgpack.la +2 -2
  121. data/vendor/local/lib/libmsgpackc.a +0 -0
  122. data/vendor/local/lib/libmsgpackc.dll.a +0 -0
  123. data/vendor/local/lib/libmsgpackc.la +2 -2
  124. data/vendor/local/lib/libonig.a +0 -0
  125. data/vendor/local/lib/libonig.dll.a +0 -0
  126. data/vendor/local/lib/libonig.la +2 -2
  127. data/vendor/local/lib/libz.dll.a +0 -0
  128. data/vendor/local/lib/pkgconfig/groonga.pc +3 -3
  129. data/vendor/local/lib/pkgconfig/liblz4.pc +5 -5
  130. data/vendor/local/lib/pkgconfig/msgpack.pc +1 -1
  131. data/vendor/local/lib/pkgconfig/oniguruma.pc +6 -6
  132. data/vendor/local/lib/pkgconfig/zlib.pc +3 -3
  133. data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
  134. data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
  135. data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
  136. data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
  137. data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
  138. data/vendor/local/sbin/groonga-httpd-restart +1 -1
  139. data/vendor/local/sbin/groonga-httpd.exe +0 -0
  140. data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
  141. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development.txt +3 -2
  142. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/build.txt +19 -0
  143. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/build/unix_autotools.txt +101 -0
  144. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/build/unix_cmake.txt +94 -0
  145. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/build/windows_cmake.txt +93 -0
  146. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/release.txt +16 -7
  147. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/repository.txt +7 -3
  148. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/test.txt +4 -0
  149. data/vendor/local/share/doc/groonga/en/html/_sources/install/centos.txt +3 -3
  150. data/vendor/local/share/doc/groonga/en/html/_sources/install/debian.txt +4 -4
  151. data/vendor/local/share/doc/groonga/en/html/_sources/install/fedora.txt +3 -3
  152. data/vendor/local/share/doc/groonga/en/html/_sources/install/mac_os_x.txt +3 -3
  153. data/vendor/local/share/doc/groonga/en/html/_sources/install/others.txt +4 -4
  154. data/vendor/local/share/doc/groonga/en/html/_sources/install/solaris.txt +3 -3
  155. data/vendor/local/share/doc/groonga/en/html/_sources/install/ubuntu.txt +3 -4
  156. data/vendor/local/share/doc/groonga/en/html/_sources/install/windows.txt +9 -9
  157. data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +319 -0
  158. data/vendor/local/share/doc/groonga/en/html/_sources/reference.txt +1 -0
  159. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_ctx.txt +1 -1
  160. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_db.txt +23 -0
  161. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_thread.txt +122 -0
  162. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/cache_limit.txt +1 -1
  163. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/column_copy.txt +381 -0
  164. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/column_list.txt +1 -1
  165. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/column_rename.txt +3 -1
  166. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/database_unmap.txt +85 -0
  167. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/io_flush.txt +218 -9
  168. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/lock_clear.txt +1 -3
  169. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/log_level.txt +1 -1
  170. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/logical_count.txt +3 -1
  171. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/logical_parameters.txt +138 -0
  172. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/logical_range_filter.txt +97 -10
  173. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/logical_select.txt +745 -23
  174. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/logical_shard_list.txt +107 -0
  175. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/logical_table_remove.txt +3 -1
  176. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/normalize.txt +2 -3
  177. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/normalizer_list.txt +1 -2
  178. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/object_exist.txt +90 -0
  179. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/plugin_register.txt +1 -1
  180. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/plugin_unregister.txt +1 -1
  181. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/register.txt +1 -1
  182. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/request_cancel.txt +1 -3
  183. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/ruby_eval.txt +1 -1
  184. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/ruby_load.txt +1 -1
  185. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/select.txt +240 -56
  186. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/table_create.txt +33 -7
  187. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/table_rename.txt +90 -0
  188. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/table_tokenize.txt +2 -1
  189. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/thread_limit.txt +110 -0
  190. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/tokenize.txt +2 -1
  191. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/tokenizer_list.txt +1 -3
  192. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/truncate.txt +1 -3
  193. data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga-httpd.txt +3 -4
  194. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/highlight_full.txt +0 -1
  195. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/highlight_html.txt +0 -1
  196. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/query.txt +2 -2
  197. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/snippet_html.txt +1 -1
  198. data/vendor/local/share/doc/groonga/en/html/_sources/reference/grn_expr/query_syntax.txt +1 -1
  199. data/vendor/local/share/doc/groonga/en/html/_sources/reference/grn_expr/script_syntax.txt +34 -14
  200. data/vendor/local/share/doc/groonga/en/html/_sources/reference/indexing.txt +2 -2
  201. data/vendor/local/share/doc/groonga/en/html/_sources/reference/query_expanders/tsv.txt +1 -1
  202. data/vendor/local/share/doc/groonga/en/html/_sources/reference/regular_expression.txt +3 -0
  203. data/vendor/local/share/doc/groonga/en/html/_sources/reference/scoring_note.txt +2 -0
  204. data/vendor/local/share/doc/groonga/en/html/_sources/reference/sharding.txt +108 -0
  205. data/vendor/local/share/doc/groonga/en/html/_sources/reference/tokenizers.txt +0 -21
  206. data/vendor/local/share/doc/groonga/en/html/_sources/reference/tuning.txt +1 -1
  207. data/vendor/local/share/doc/groonga/en/html/_sources/spec/search.txt +1 -1
  208. data/vendor/local/share/doc/groonga/en/html/_sources/troubleshooting/different_results_with_the_same_keyword.txt +4 -4
  209. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/introduction.txt +24 -18
  210. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/match_columns.txt +19 -19
  211. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/micro_blog.txt +9 -9
  212. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/query_expansion.txt +1 -1
  213. data/vendor/local/share/doc/groonga/en/html/_static/basic.css +68 -6
  214. data/vendor/local/share/doc/groonga/en/html/_static/doctools.js +27 -2
  215. data/vendor/local/share/doc/groonga/en/html/_static/down-pressed.png +0 -0
  216. data/vendor/local/share/doc/groonga/en/html/_static/down.png +0 -0
  217. data/vendor/local/share/doc/groonga/en/html/_static/file.png +0 -0
  218. data/vendor/local/share/doc/groonga/en/html/_static/jquery-1.11.1.js +10308 -0
  219. data/vendor/local/share/doc/groonga/en/html/_static/jquery.js +4 -9404
  220. data/vendor/local/share/doc/groonga/en/html/_static/minus.png +0 -0
  221. data/vendor/local/share/doc/groonga/en/html/_static/plus.png +0 -0
  222. data/vendor/local/share/doc/groonga/en/html/_static/searchtools.js +2 -2
  223. data/vendor/local/share/doc/groonga/en/html/_static/underscore-1.3.1.js +999 -0
  224. data/vendor/local/share/doc/groonga/en/html/_static/underscore.js +31 -1415
  225. data/vendor/local/share/doc/groonga/en/html/_static/up-pressed.png +0 -0
  226. data/vendor/local/share/doc/groonga/en/html/_static/up.png +0 -0
  227. data/vendor/local/share/doc/groonga/en/html/_static/websupport.js +15 -15
  228. data/vendor/local/share/doc/groonga/en/html/characteristic.html +19 -17
  229. data/vendor/local/share/doc/groonga/en/html/client.html +19 -17
  230. data/vendor/local/share/doc/groonga/en/html/community.html +19 -17
  231. data/vendor/local/share/doc/groonga/en/html/contribution.html +78 -70
  232. data/vendor/local/share/doc/groonga/en/html/contribution/development.html +30 -27
  233. data/vendor/local/share/doc/groonga/en/html/contribution/development/build.html +146 -0
  234. data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_autotools.html +237 -0
  235. data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_cmake.html +227 -0
  236. data/vendor/local/share/doc/groonga/en/html/contribution/development/build/windows_cmake.html +231 -0
  237. data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +37 -35
  238. data/vendor/local/share/doc/groonga/en/html/contribution/development/cooperation.html +54 -52
  239. data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +80 -78
  240. data/vendor/local/share/doc/groonga/en/html/contribution/development/release.html +135 -122
  241. data/vendor/local/share/doc/groonga/en/html/contribution/development/repository.html +38 -34
  242. data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +58 -54
  243. data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +21 -19
  244. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +27 -25
  245. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +23 -21
  246. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/introduction.html +30 -28
  247. data/vendor/local/share/doc/groonga/en/html/contribution/report.html +21 -19
  248. data/vendor/local/share/doc/groonga/en/html/development.html +19 -17
  249. data/vendor/local/share/doc/groonga/en/html/development/travis-ci.html +30 -28
  250. data/vendor/local/share/doc/groonga/en/html/genindex.html +48 -20
  251. data/vendor/local/share/doc/groonga/en/html/index.html +123 -105
  252. data/vendor/local/share/doc/groonga/en/html/install.html +33 -31
  253. data/vendor/local/share/doc/groonga/en/html/install/centos.html +32 -30
  254. data/vendor/local/share/doc/groonga/en/html/install/debian.html +31 -29
  255. data/vendor/local/share/doc/groonga/en/html/install/fedora.html +29 -27
  256. data/vendor/local/share/doc/groonga/en/html/install/mac_os_x.html +26 -24
  257. data/vendor/local/share/doc/groonga/en/html/install/others.html +92 -90
  258. data/vendor/local/share/doc/groonga/en/html/install/solaris.html +26 -24
  259. data/vendor/local/share/doc/groonga/en/html/install/ubuntu.html +29 -28
  260. data/vendor/local/share/doc/groonga/en/html/install/windows.html +34 -32
  261. data/vendor/local/share/doc/groonga/en/html/limitations.html +19 -17
  262. data/vendor/local/share/doc/groonga/en/html/news.html +509 -142
  263. data/vendor/local/share/doc/groonga/en/html/news/0.x.html +19 -17
  264. data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +20 -18
  265. data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +19 -17
  266. data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +34 -32
  267. data/vendor/local/share/doc/groonga/en/html/news/1.3.x.html +29 -27
  268. data/vendor/local/share/doc/groonga/en/html/news/2.x.html +110 -108
  269. data/vendor/local/share/doc/groonga/en/html/news/3.x.html +73 -71
  270. data/vendor/local/share/doc/groonga/en/html/news/4.x.html +111 -109
  271. data/vendor/local/share/doc/groonga/en/html/news/senna.html +19 -17
  272. data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
  273. data/vendor/local/share/doc/groonga/en/html/reference.html +111 -94
  274. data/vendor/local/share/doc/groonga/en/html/reference/api.html +55 -52
  275. data/vendor/local/share/doc/groonga/en/html/reference/api/global_configurations.html +51 -49
  276. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_cache.html +63 -61
  277. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_column.html +84 -82
  278. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_command_version.html +46 -44
  279. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_content_type.html +41 -39
  280. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ctx.html +89 -87
  281. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_db.html +88 -50
  282. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_encoding.html +48 -46
  283. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_expr.html +83 -81
  284. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_geo.html +46 -44
  285. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_hook.html +48 -46
  286. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ii.html +46 -44
  287. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_index_cursor.html +45 -43
  288. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_info.html +45 -43
  289. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_match_escalation.html +44 -42
  290. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_obj.html +93 -91
  291. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_proc.html +48 -46
  292. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_search.html +43 -41
  293. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table.html +79 -77
  294. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table_cursor.html +69 -67
  295. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_thread.html +296 -0
  296. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_type.html +45 -43
  297. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_user_data.html +38 -36
  298. data/vendor/local/share/doc/groonga/en/html/reference/api/overview.html +51 -49
  299. data/vendor/local/share/doc/groonga/en/html/reference/api/plugin.html +60 -58
  300. data/vendor/local/share/doc/groonga/en/html/reference/cast.html +19 -17
  301. data/vendor/local/share/doc/groonga/en/html/reference/column.html +21 -19
  302. data/vendor/local/share/doc/groonga/en/html/reference/columns/index.html +23 -21
  303. data/vendor/local/share/doc/groonga/en/html/reference/columns/pseudo.html +28 -26
  304. data/vendor/local/share/doc/groonga/en/html/reference/columns/scalar.html +23 -21
  305. data/vendor/local/share/doc/groonga/en/html/reference/columns/vector.html +72 -70
  306. data/vendor/local/share/doc/groonga/en/html/reference/command.html +70 -61
  307. data/vendor/local/share/doc/groonga/en/html/reference/command/command_version.html +23 -21
  308. data/vendor/local/share/doc/groonga/en/html/reference/command/output_format.html +59 -57
  309. data/vendor/local/share/doc/groonga/en/html/reference/command/request_id.html +28 -26
  310. data/vendor/local/share/doc/groonga/en/html/reference/command/return_code.html +100 -98
  311. data/vendor/local/share/doc/groonga/en/html/reference/commands/cache_limit.html +44 -42
  312. data/vendor/local/share/doc/groonga/en/html/reference/commands/check.html +49 -47
  313. data/vendor/local/share/doc/groonga/en/html/reference/commands/clearlock.html +33 -31
  314. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_copy.html +796 -0
  315. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_create.html +62 -60
  316. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_list.html +96 -94
  317. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_remove.html +46 -44
  318. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_rename.html +67 -64
  319. data/vendor/local/share/doc/groonga/en/html/reference/commands/database_unmap.html +236 -0
  320. data/vendor/local/share/doc/groonga/en/html/reference/commands/define_selector.html +62 -60
  321. data/vendor/local/share/doc/groonga/en/html/reference/commands/defrag.html +46 -44
  322. data/vendor/local/share/doc/groonga/en/html/reference/commands/delete.html +59 -57
  323. data/vendor/local/share/doc/groonga/en/html/reference/commands/dump.html +63 -61
  324. data/vendor/local/share/doc/groonga/en/html/reference/commands/io_flush.html +281 -54
  325. data/vendor/local/share/doc/groonga/en/html/reference/commands/load.html +66 -64
  326. data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_clear.html +53 -52
  327. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_level.html +48 -46
  328. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_put.html +48 -46
  329. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_reopen.html +48 -46
  330. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_count.html +78 -75
  331. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_parameters.html +283 -0
  332. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_range_filter.html +160 -85
  333. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_select.html +2071 -83
  334. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_shard_list.html +287 -0
  335. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_table_remove.html +71 -68
  336. data/vendor/local/share/doc/groonga/en/html/reference/commands/normalize.html +86 -84
  337. data/vendor/local/share/doc/groonga/en/html/reference/commands/normalizer_list.html +52 -50
  338. data/vendor/local/share/doc/groonga/en/html/reference/commands/object_exist.html +227 -0
  339. data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_register.html +57 -55
  340. data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_unregister.html +53 -51
  341. data/vendor/local/share/doc/groonga/en/html/reference/commands/quit.html +43 -41
  342. data/vendor/local/share/doc/groonga/en/html/reference/commands/range_filter.html +43 -41
  343. data/vendor/local/share/doc/groonga/en/html/reference/commands/register.html +56 -54
  344. data/vendor/local/share/doc/groonga/en/html/reference/commands/request_cancel.html +75 -74
  345. data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_eval.html +59 -57
  346. data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_load.html +59 -57
  347. data/vendor/local/share/doc/groonga/en/html/reference/commands/select.html +898 -647
  348. data/vendor/local/share/doc/groonga/en/html/reference/commands/shutdown.html +43 -41
  349. data/vendor/local/share/doc/groonga/en/html/reference/commands/status.html +50 -48
  350. data/vendor/local/share/doc/groonga/en/html/reference/commands/suggest.html +87 -85
  351. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_create.html +175 -152
  352. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_list.html +55 -53
  353. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_remove.html +46 -44
  354. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_rename.html +327 -0
  355. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_tokenize.html +77 -75
  356. data/vendor/local/share/doc/groonga/en/html/reference/commands/thread_limit.html +241 -0
  357. data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenize.html +108 -106
  358. data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenizer_list.html +56 -51
  359. data/vendor/local/share/doc/groonga/en/html/reference/commands/truncate.html +56 -55
  360. data/vendor/local/share/doc/groonga/en/html/reference/executables.html +24 -22
  361. data/vendor/local/share/doc/groonga/en/html/reference/executables/grndb.html +41 -39
  362. data/vendor/local/share/doc/groonga/en/html/reference/executables/grnslap.html +28 -26
  363. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-benchmark.html +33 -31
  364. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-httpd.html +83 -81
  365. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-server-http.html +29 -27
  366. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-create-dataset.html +23 -21
  367. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-httpd.html +48 -46
  368. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-learner.html +40 -38
  369. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga.html +84 -82
  370. data/vendor/local/share/doc/groonga/en/html/reference/function.html +22 -20
  371. data/vendor/local/share/doc/groonga/en/html/reference/functions/between.html +47 -45
  372. data/vendor/local/share/doc/groonga/en/html/reference/functions/edit_distance.html +25 -23
  373. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_distance.html +85 -83
  374. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_circle.html +36 -34
  375. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_rectangle.html +26 -24
  376. data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_full.html +66 -64
  377. data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_html.html +54 -52
  378. data/vendor/local/share/doc/groonga/en/html/reference/functions/html_untag.html +35 -33
  379. data/vendor/local/share/doc/groonga/en/html/reference/functions/in_values.html +34 -32
  380. data/vendor/local/share/doc/groonga/en/html/reference/functions/now.html +23 -21
  381. data/vendor/local/share/doc/groonga/en/html/reference/functions/query.html +55 -53
  382. data/vendor/local/share/doc/groonga/en/html/reference/functions/rand.html +24 -22
  383. data/vendor/local/share/doc/groonga/en/html/reference/functions/snippet_html.html +49 -47
  384. data/vendor/local/share/doc/groonga/en/html/reference/functions/sub_filter.html +45 -43
  385. data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_size.html +33 -31
  386. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr.html +29 -27
  387. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/query_syntax.html +244 -242
  388. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/script_syntax.html +327 -325
  389. data/vendor/local/share/doc/groonga/en/html/reference/indexing.html +35 -29
  390. data/vendor/local/share/doc/groonga/en/html/reference/log.html +43 -41
  391. data/vendor/local/share/doc/groonga/en/html/reference/normalizers.html +49 -47
  392. data/vendor/local/share/doc/groonga/en/html/reference/operations.html +21 -19
  393. data/vendor/local/share/doc/groonga/en/html/reference/operations/geolocation_search.html +23 -21
  394. data/vendor/local/share/doc/groonga/en/html/reference/output.html +36 -34
  395. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders.html +21 -19
  396. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders/tsv.html +62 -60
  397. data/vendor/local/share/doc/groonga/en/html/reference/regular_expression.html +107 -103
  398. data/vendor/local/share/doc/groonga/en/html/reference/scorer.html +50 -40
  399. data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_at_most.html +27 -25
  400. data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_idf.html +41 -31
  401. data/vendor/local/share/doc/groonga/en/html/reference/scoring_note.html +19 -17
  402. data/vendor/local/share/doc/groonga/en/html/reference/sharding.html +241 -0
  403. data/vendor/local/share/doc/groonga/en/html/reference/suggest.html +21 -19
  404. data/vendor/local/share/doc/groonga/en/html/reference/suggest/completion.html +30 -28
  405. data/vendor/local/share/doc/groonga/en/html/reference/suggest/correction.html +23 -21
  406. data/vendor/local/share/doc/groonga/en/html/reference/suggest/introduction.html +23 -21
  407. data/vendor/local/share/doc/groonga/en/html/reference/suggest/suggestion.html +23 -21
  408. data/vendor/local/share/doc/groonga/en/html/reference/tables.html +56 -54
  409. data/vendor/local/share/doc/groonga/en/html/reference/token_filters.html +41 -39
  410. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers.html +341 -289
  411. data/vendor/local/share/doc/groonga/en/html/reference/tuning.html +68 -66
  412. data/vendor/local/share/doc/groonga/en/html/reference/types.html +43 -41
  413. data/vendor/local/share/doc/groonga/en/html/search.html +11 -11
  414. data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
  415. data/vendor/local/share/doc/groonga/en/html/server.html +19 -17
  416. data/vendor/local/share/doc/groonga/en/html/server/gqtp.html +22 -20
  417. data/vendor/local/share/doc/groonga/en/html/server/http.html +21 -19
  418. data/vendor/local/share/doc/groonga/en/html/server/http/comparison.html +37 -35
  419. data/vendor/local/share/doc/groonga/en/html/server/http/groonga-httpd.html +23 -21
  420. data/vendor/local/share/doc/groonga/en/html/server/http/groonga.html +23 -21
  421. data/vendor/local/share/doc/groonga/en/html/server/memcached.html +21 -19
  422. data/vendor/local/share/doc/groonga/en/html/server/package.html +39 -37
  423. data/vendor/local/share/doc/groonga/en/html/spec.html +23 -21
  424. data/vendor/local/share/doc/groonga/en/html/spec/gqtp.html +129 -127
  425. data/vendor/local/share/doc/groonga/en/html/spec/search.html +22 -20
  426. data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +19 -17
  427. data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +25 -23
  428. data/vendor/local/share/doc/groonga/en/html/troubleshooting/mmap_cannot_allocate_memory.html +22 -20
  429. data/vendor/local/share/doc/groonga/en/html/tutorial.html +20 -18
  430. data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +29 -23
  431. data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +35 -33
  432. data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +25 -23
  433. data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +46 -39
  434. data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +21 -19
  435. data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +65 -63
  436. data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +55 -53
  437. data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +25 -23
  438. data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +22 -20
  439. data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +25 -23
  440. data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +37 -35
  441. data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
  442. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development.txt +3 -2
  443. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/build.txt +19 -0
  444. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/build/unix_autotools.txt +101 -0
  445. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/build/unix_cmake.txt +94 -0
  446. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/build/windows_cmake.txt +93 -0
  447. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/release.txt +16 -7
  448. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/repository.txt +7 -3
  449. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/test.txt +4 -0
  450. data/vendor/local/share/doc/groonga/ja/html/_sources/install/centos.txt +3 -3
  451. data/vendor/local/share/doc/groonga/ja/html/_sources/install/debian.txt +4 -4
  452. data/vendor/local/share/doc/groonga/ja/html/_sources/install/fedora.txt +3 -3
  453. data/vendor/local/share/doc/groonga/ja/html/_sources/install/mac_os_x.txt +3 -3
  454. data/vendor/local/share/doc/groonga/ja/html/_sources/install/others.txt +4 -4
  455. data/vendor/local/share/doc/groonga/ja/html/_sources/install/solaris.txt +3 -3
  456. data/vendor/local/share/doc/groonga/ja/html/_sources/install/ubuntu.txt +3 -4
  457. data/vendor/local/share/doc/groonga/ja/html/_sources/install/windows.txt +9 -9
  458. data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +319 -0
  459. data/vendor/local/share/doc/groonga/ja/html/_sources/reference.txt +1 -0
  460. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_ctx.txt +1 -1
  461. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_db.txt +23 -0
  462. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_thread.txt +122 -0
  463. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/cache_limit.txt +1 -1
  464. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/column_copy.txt +381 -0
  465. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/column_list.txt +1 -1
  466. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/column_rename.txt +3 -1
  467. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/database_unmap.txt +85 -0
  468. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/io_flush.txt +218 -9
  469. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/lock_clear.txt +1 -3
  470. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/log_level.txt +1 -1
  471. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/logical_count.txt +3 -1
  472. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/logical_parameters.txt +138 -0
  473. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/logical_range_filter.txt +97 -10
  474. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/logical_select.txt +745 -23
  475. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/logical_shard_list.txt +107 -0
  476. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/logical_table_remove.txt +3 -1
  477. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/normalize.txt +2 -3
  478. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/normalizer_list.txt +1 -2
  479. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/object_exist.txt +90 -0
  480. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/plugin_register.txt +1 -1
  481. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/plugin_unregister.txt +1 -1
  482. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/register.txt +1 -1
  483. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/request_cancel.txt +1 -3
  484. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/ruby_eval.txt +1 -1
  485. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/ruby_load.txt +1 -1
  486. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/select.txt +240 -56
  487. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/table_create.txt +33 -7
  488. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/table_rename.txt +90 -0
  489. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/table_tokenize.txt +2 -1
  490. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/thread_limit.txt +110 -0
  491. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/tokenize.txt +2 -1
  492. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/tokenizer_list.txt +1 -3
  493. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/truncate.txt +1 -3
  494. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga-httpd.txt +3 -4
  495. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/highlight_full.txt +0 -1
  496. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/highlight_html.txt +0 -1
  497. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/query.txt +2 -2
  498. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/snippet_html.txt +1 -1
  499. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/grn_expr/query_syntax.txt +1 -1
  500. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/grn_expr/script_syntax.txt +34 -14
  501. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/indexing.txt +2 -2
  502. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/query_expanders/tsv.txt +1 -1
  503. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/regular_expression.txt +3 -0
  504. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/scoring_note.txt +2 -0
  505. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/sharding.txt +108 -0
  506. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/tokenizers.txt +0 -21
  507. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/tuning.txt +1 -1
  508. data/vendor/local/share/doc/groonga/ja/html/_sources/spec/search.txt +1 -1
  509. data/vendor/local/share/doc/groonga/ja/html/_sources/troubleshooting/different_results_with_the_same_keyword.txt +4 -4
  510. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/introduction.txt +24 -18
  511. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/match_columns.txt +19 -19
  512. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/micro_blog.txt +9 -9
  513. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/query_expansion.txt +1 -1
  514. data/vendor/local/share/doc/groonga/ja/html/_static/basic.css +68 -6
  515. data/vendor/local/share/doc/groonga/ja/html/_static/doctools.js +27 -2
  516. data/vendor/local/share/doc/groonga/ja/html/_static/down-pressed.png +0 -0
  517. data/vendor/local/share/doc/groonga/ja/html/_static/down.png +0 -0
  518. data/vendor/local/share/doc/groonga/ja/html/_static/file.png +0 -0
  519. data/vendor/local/share/doc/groonga/ja/html/_static/jquery-1.11.1.js +10308 -0
  520. data/vendor/local/share/doc/groonga/ja/html/_static/jquery.js +4 -9404
  521. data/vendor/local/share/doc/groonga/ja/html/_static/minus.png +0 -0
  522. data/vendor/local/share/doc/groonga/ja/html/_static/plus.png +0 -0
  523. data/vendor/local/share/doc/groonga/ja/html/_static/searchtools.js +2 -2
  524. data/vendor/local/share/doc/groonga/ja/html/_static/underscore-1.3.1.js +999 -0
  525. data/vendor/local/share/doc/groonga/ja/html/_static/underscore.js +31 -1415
  526. data/vendor/local/share/doc/groonga/ja/html/_static/up-pressed.png +0 -0
  527. data/vendor/local/share/doc/groonga/ja/html/_static/up.png +0 -0
  528. data/vendor/local/share/doc/groonga/ja/html/_static/websupport.js +15 -15
  529. data/vendor/local/share/doc/groonga/ja/html/characteristic.html +19 -17
  530. data/vendor/local/share/doc/groonga/ja/html/client.html +19 -17
  531. data/vendor/local/share/doc/groonga/ja/html/community.html +19 -17
  532. data/vendor/local/share/doc/groonga/ja/html/contribution.html +77 -69
  533. data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +30 -27
  534. data/vendor/local/share/doc/groonga/ja/html/contribution/development/build.html +144 -0
  535. data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_autotools.html +226 -0
  536. data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_cmake.html +215 -0
  537. data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/windows_cmake.html +229 -0
  538. data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +36 -34
  539. data/vendor/local/share/doc/groonga/ja/html/contribution/development/cooperation.html +53 -51
  540. data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +79 -77
  541. data/vendor/local/share/doc/groonga/ja/html/contribution/development/release.html +134 -121
  542. data/vendor/local/share/doc/groonga/ja/html/contribution/development/repository.html +29 -27
  543. data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +57 -53
  544. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +21 -19
  545. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +23 -21
  546. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +23 -21
  547. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/introduction.html +30 -28
  548. data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +21 -19
  549. data/vendor/local/share/doc/groonga/ja/html/development.html +19 -17
  550. data/vendor/local/share/doc/groonga/ja/html/development/travis-ci.html +25 -23
  551. data/vendor/local/share/doc/groonga/ja/html/genindex.html +48 -20
  552. data/vendor/local/share/doc/groonga/ja/html/index.html +122 -104
  553. data/vendor/local/share/doc/groonga/ja/html/install.html +33 -31
  554. data/vendor/local/share/doc/groonga/ja/html/install/centos.html +35 -33
  555. data/vendor/local/share/doc/groonga/ja/html/install/debian.html +33 -31
  556. data/vendor/local/share/doc/groonga/ja/html/install/fedora.html +30 -28
  557. data/vendor/local/share/doc/groonga/ja/html/install/mac_os_x.html +26 -24
  558. data/vendor/local/share/doc/groonga/ja/html/install/others.html +83 -81
  559. data/vendor/local/share/doc/groonga/ja/html/install/solaris.html +25 -23
  560. data/vendor/local/share/doc/groonga/ja/html/install/ubuntu.html +30 -29
  561. data/vendor/local/share/doc/groonga/ja/html/install/windows.html +33 -31
  562. data/vendor/local/share/doc/groonga/ja/html/limitations.html +19 -17
  563. data/vendor/local/share/doc/groonga/ja/html/news.html +460 -126
  564. data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +19 -17
  565. data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +20 -18
  566. data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +19 -17
  567. data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +34 -32
  568. data/vendor/local/share/doc/groonga/ja/html/news/1.3.x.html +29 -27
  569. data/vendor/local/share/doc/groonga/ja/html/news/2.x.html +102 -100
  570. data/vendor/local/share/doc/groonga/ja/html/news/3.x.html +66 -64
  571. data/vendor/local/share/doc/groonga/ja/html/news/4.x.html +91 -89
  572. data/vendor/local/share/doc/groonga/ja/html/news/senna.html +19 -17
  573. data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
  574. data/vendor/local/share/doc/groonga/ja/html/reference.html +111 -94
  575. data/vendor/local/share/doc/groonga/ja/html/reference/api.html +55 -52
  576. data/vendor/local/share/doc/groonga/ja/html/reference/api/global_configurations.html +51 -49
  577. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_cache.html +58 -56
  578. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_column.html +84 -82
  579. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_command_version.html +46 -44
  580. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_content_type.html +41 -39
  581. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ctx.html +85 -83
  582. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_db.html +88 -50
  583. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_encoding.html +48 -46
  584. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_expr.html +78 -76
  585. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_geo.html +46 -44
  586. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_hook.html +48 -46
  587. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ii.html +46 -44
  588. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_index_cursor.html +45 -43
  589. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_info.html +45 -43
  590. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_match_escalation.html +44 -42
  591. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_obj.html +93 -91
  592. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_proc.html +48 -46
  593. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_search.html +43 -41
  594. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table.html +79 -77
  595. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table_cursor.html +69 -67
  596. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_thread.html +286 -0
  597. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_type.html +45 -43
  598. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_user_data.html +38 -36
  599. data/vendor/local/share/doc/groonga/ja/html/reference/api/overview.html +48 -46
  600. data/vendor/local/share/doc/groonga/ja/html/reference/api/plugin.html +60 -58
  601. data/vendor/local/share/doc/groonga/ja/html/reference/cast.html +19 -17
  602. data/vendor/local/share/doc/groonga/ja/html/reference/column.html +21 -19
  603. data/vendor/local/share/doc/groonga/ja/html/reference/columns/index.html +23 -21
  604. data/vendor/local/share/doc/groonga/ja/html/reference/columns/pseudo.html +28 -26
  605. data/vendor/local/share/doc/groonga/ja/html/reference/columns/scalar.html +23 -21
  606. data/vendor/local/share/doc/groonga/ja/html/reference/columns/vector.html +61 -59
  607. data/vendor/local/share/doc/groonga/ja/html/reference/command.html +70 -61
  608. data/vendor/local/share/doc/groonga/ja/html/reference/command/command_version.html +23 -21
  609. data/vendor/local/share/doc/groonga/ja/html/reference/command/output_format.html +49 -47
  610. data/vendor/local/share/doc/groonga/ja/html/reference/command/request_id.html +28 -26
  611. data/vendor/local/share/doc/groonga/ja/html/reference/command/return_code.html +99 -97
  612. data/vendor/local/share/doc/groonga/ja/html/reference/commands/cache_limit.html +41 -39
  613. data/vendor/local/share/doc/groonga/ja/html/reference/commands/check.html +49 -47
  614. data/vendor/local/share/doc/groonga/ja/html/reference/commands/clearlock.html +33 -31
  615. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_copy.html +781 -0
  616. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_create.html +62 -60
  617. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_list.html +88 -86
  618. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_remove.html +46 -44
  619. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_rename.html +66 -63
  620. data/vendor/local/share/doc/groonga/ja/html/reference/commands/database_unmap.html +229 -0
  621. data/vendor/local/share/doc/groonga/ja/html/reference/commands/define_selector.html +62 -60
  622. data/vendor/local/share/doc/groonga/ja/html/reference/commands/defrag.html +46 -44
  623. data/vendor/local/share/doc/groonga/ja/html/reference/commands/delete.html +58 -56
  624. data/vendor/local/share/doc/groonga/ja/html/reference/commands/dump.html +63 -61
  625. data/vendor/local/share/doc/groonga/ja/html/reference/commands/io_flush.html +266 -54
  626. data/vendor/local/share/doc/groonga/ja/html/reference/commands/load.html +59 -57
  627. data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_clear.html +53 -52
  628. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_level.html +48 -46
  629. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_put.html +48 -46
  630. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_reopen.html +48 -46
  631. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_count.html +78 -75
  632. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_parameters.html +276 -0
  633. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_range_filter.html +158 -85
  634. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_select.html +2008 -80
  635. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_shard_list.html +285 -0
  636. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_table_remove.html +71 -68
  637. data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalize.html +82 -79
  638. data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalizer_list.html +52 -50
  639. data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_exist.html +220 -0
  640. data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_register.html +53 -51
  641. data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_unregister.html +51 -49
  642. data/vendor/local/share/doc/groonga/ja/html/reference/commands/quit.html +43 -41
  643. data/vendor/local/share/doc/groonga/ja/html/reference/commands/range_filter.html +43 -41
  644. data/vendor/local/share/doc/groonga/ja/html/reference/commands/register.html +52 -50
  645. data/vendor/local/share/doc/groonga/ja/html/reference/commands/request_cancel.html +68 -67
  646. data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_eval.html +59 -57
  647. data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_load.html +59 -57
  648. data/vendor/local/share/doc/groonga/ja/html/reference/commands/select.html +680 -448
  649. data/vendor/local/share/doc/groonga/ja/html/reference/commands/shutdown.html +43 -41
  650. data/vendor/local/share/doc/groonga/ja/html/reference/commands/status.html +48 -46
  651. data/vendor/local/share/doc/groonga/ja/html/reference/commands/suggest.html +84 -82
  652. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_create.html +146 -126
  653. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_list.html +55 -53
  654. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_remove.html +46 -44
  655. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_rename.html +322 -0
  656. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_tokenize.html +73 -70
  657. data/vendor/local/share/doc/groonga/ja/html/reference/commands/thread_limit.html +229 -0
  658. data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenize.html +94 -91
  659. data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenizer_list.html +56 -51
  660. data/vendor/local/share/doc/groonga/ja/html/reference/commands/truncate.html +56 -55
  661. data/vendor/local/share/doc/groonga/ja/html/reference/executables.html +24 -22
  662. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grndb.html +39 -37
  663. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grnslap.html +28 -26
  664. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-benchmark.html +33 -31
  665. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-httpd.html +73 -72
  666. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-server-http.html +29 -27
  667. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-create-dataset.html +23 -21
  668. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-httpd.html +48 -46
  669. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-learner.html +40 -38
  670. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga.html +84 -82
  671. data/vendor/local/share/doc/groonga/ja/html/reference/function.html +22 -20
  672. data/vendor/local/share/doc/groonga/ja/html/reference/functions/between.html +46 -44
  673. data/vendor/local/share/doc/groonga/ja/html/reference/functions/edit_distance.html +25 -23
  674. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_distance.html +69 -67
  675. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_circle.html +36 -34
  676. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_rectangle.html +26 -24
  677. data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_full.html +56 -54
  678. data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_html.html +45 -43
  679. data/vendor/local/share/doc/groonga/ja/html/reference/functions/html_untag.html +34 -32
  680. data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_values.html +35 -33
  681. data/vendor/local/share/doc/groonga/ja/html/reference/functions/now.html +23 -21
  682. data/vendor/local/share/doc/groonga/ja/html/reference/functions/query.html +48 -46
  683. data/vendor/local/share/doc/groonga/ja/html/reference/functions/rand.html +24 -22
  684. data/vendor/local/share/doc/groonga/ja/html/reference/functions/snippet_html.html +35 -33
  685. data/vendor/local/share/doc/groonga/ja/html/reference/functions/sub_filter.html +37 -35
  686. data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_size.html +33 -31
  687. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr.html +26 -24
  688. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/query_syntax.html +143 -141
  689. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/script_syntax.html +236 -234
  690. data/vendor/local/share/doc/groonga/ja/html/reference/indexing.html +34 -28
  691. data/vendor/local/share/doc/groonga/ja/html/reference/log.html +43 -41
  692. data/vendor/local/share/doc/groonga/ja/html/reference/normalizers.html +39 -37
  693. data/vendor/local/share/doc/groonga/ja/html/reference/operations.html +21 -19
  694. data/vendor/local/share/doc/groonga/ja/html/reference/operations/geolocation_search.html +23 -21
  695. data/vendor/local/share/doc/groonga/ja/html/reference/output.html +32 -30
  696. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders.html +21 -19
  697. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders/tsv.html +42 -39
  698. data/vendor/local/share/doc/groonga/ja/html/reference/regular_expression.html +91 -88
  699. data/vendor/local/share/doc/groonga/ja/html/reference/scorer.html +50 -40
  700. data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_at_most.html +27 -25
  701. data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_idf.html +41 -31
  702. data/vendor/local/share/doc/groonga/ja/html/reference/scoring_note.html +19 -17
  703. data/vendor/local/share/doc/groonga/ja/html/reference/sharding.html +223 -0
  704. data/vendor/local/share/doc/groonga/ja/html/reference/suggest.html +21 -19
  705. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/completion.html +27 -25
  706. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/correction.html +23 -21
  707. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/introduction.html +23 -21
  708. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/suggestion.html +23 -21
  709. data/vendor/local/share/doc/groonga/ja/html/reference/tables.html +46 -44
  710. data/vendor/local/share/doc/groonga/ja/html/reference/token_filters.html +38 -36
  711. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers.html +303 -243
  712. data/vendor/local/share/doc/groonga/ja/html/reference/tuning.html +62 -60
  713. data/vendor/local/share/doc/groonga/ja/html/reference/types.html +42 -40
  714. data/vendor/local/share/doc/groonga/ja/html/search.html +11 -11
  715. data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
  716. data/vendor/local/share/doc/groonga/ja/html/server.html +19 -17
  717. data/vendor/local/share/doc/groonga/ja/html/server/gqtp.html +21 -19
  718. data/vendor/local/share/doc/groonga/ja/html/server/http.html +21 -19
  719. data/vendor/local/share/doc/groonga/ja/html/server/http/comparison.html +31 -29
  720. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga-httpd.html +23 -21
  721. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga.html +23 -21
  722. data/vendor/local/share/doc/groonga/ja/html/server/memcached.html +21 -19
  723. data/vendor/local/share/doc/groonga/ja/html/server/package.html +38 -36
  724. data/vendor/local/share/doc/groonga/ja/html/spec.html +23 -21
  725. data/vendor/local/share/doc/groonga/ja/html/spec/gqtp.html +128 -126
  726. data/vendor/local/share/doc/groonga/ja/html/spec/search.html +22 -20
  727. data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +19 -17
  728. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +25 -23
  729. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/mmap_cannot_allocate_memory.html +22 -20
  730. data/vendor/local/share/doc/groonga/ja/html/tutorial.html +20 -18
  731. data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +29 -23
  732. data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +34 -32
  733. data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +22 -20
  734. data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +46 -39
  735. data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +21 -19
  736. data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +66 -64
  737. data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +52 -50
  738. data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +25 -23
  739. data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +22 -20
  740. data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +25 -23
  741. data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +35 -33
  742. data/vendor/local/share/license/groonga/README.md +6 -0
  743. data/vendor/local/share/license/mruby/AUTHORS +1 -0
  744. data/vendor/local/share/license/mruby/MITL +1 -1
  745. data/vendor/local/share/license/mruby/README.md +6 -5
  746. data/vendor/local/share/license/msgpack/README +219 -0
  747. data/vendor/local/share/man/ja/man1/groonga.1 +23512 -15126
  748. data/vendor/local/share/man/man1/groonga.1 +26542 -17745
  749. metadata +77 -3
  750. data/vendor/local/share/license/msgpack/AUTHORS +0 -0
@@ -10,64 +10,422 @@ module Groonga
10
10
  "max",
11
11
  "max_border",
12
12
  "filter",
13
+ "sortby",
14
+ "output_columns",
15
+ "offset",
16
+ "limit",
17
+ "drilldown",
18
+ "drilldown_sortby",
19
+ "drilldown_output_columns",
20
+ "drilldown_offset",
21
+ "drilldown_limit",
22
+ "drilldown_calc_types",
23
+ "drilldown_calc_target",
13
24
  ])
14
25
 
15
26
  def run_body(input)
16
- output_columns = input[:output_columns] || "_key, *"
17
-
18
- enumerator = LogicalEnumerator.new("logical_select", input)
19
-
20
27
  context = ExecuteContext.new(input)
21
28
  begin
22
29
  executor = Executor.new(context)
23
30
  executor.execute
24
31
 
25
- result_sets = context.result_sets
26
- n_hits = 0
27
- n_elements = 2 # for N hits and columns
32
+ n_results = 1
33
+ n_plain_drilldowns = context.plain_drilldown.n_result_sets
34
+ n_labeled_drilldowns = context.labeled_drilldowns.n_result_sets
35
+ if n_plain_drilldowns > 0
36
+ n_results += n_plain_drilldowns
37
+ elsif
38
+ if n_labeled_drilldowns > 0
39
+ n_results += 1
40
+ end
41
+ end
42
+
43
+ writer.array("RESULT", n_results) do
44
+ write_records(writer, context)
45
+ if n_plain_drilldowns > 0
46
+ write_plain_drilldowns(writer, context)
47
+ elsif n_labeled_drilldowns > 0
48
+ write_labeled_drilldowns(writer, context)
49
+ end
50
+ end
51
+ ensure
52
+ context.close
53
+ end
54
+ end
55
+
56
+ private
57
+ def cache_key(input)
58
+ key = "logical_select\0"
59
+ key << "#{input[:logical_table]}\0"
60
+ key << "#{input[:shard_key]}\0"
61
+ key << "#{input[:min]}\0"
62
+ key << "#{input[:min_border]}\0"
63
+ key << "#{input[:max]}\0"
64
+ key << "#{input[:max_border]}\0"
65
+ key << "#{input[:filter]}\0"
66
+ key << "#{input[:sortby]}\0"
67
+ key << "#{input[:output_columns]}\0"
68
+ key << "#{input[:offset]}\0"
69
+ key << "#{input[:limit]}\0"
70
+ key << "#{input[:drilldown]}\0"
71
+ key << "#{input[:drilldown_sortby]}\0"
72
+ key << "#{input[:drilldown_output_columns]}\0"
73
+ key << "#{input[:drilldown_offset]}\0"
74
+ key << "#{input[:drilldown_limit]}\0"
75
+ key << "#{input[:drilldown_calc_types]}\0"
76
+ key << "#{input[:drilldown_calc_target]}\0"
77
+ labeled_drilldowns = LabeledDrilldowns.parse(input).sort_by(&:label)
78
+ labeled_drilldowns.each do |drilldown|
79
+ key << "#{drilldown.label}\0"
80
+ key << "#{drilldown.keys.join(',')}\0"
81
+ key << "#{drilldown.output_columns}\0"
82
+ key << "#{drilldown.offset}\0"
83
+ key << "#{drilldown.limit}\0"
84
+ key << "#{drilldown.calc_types}\0"
85
+ key << "#{drilldown.calc_target_name}\0"
86
+ end
87
+ key
88
+ end
89
+
90
+ def write_records(writer, context)
91
+ result_sets = context.result_sets
92
+
93
+ n_hits = 0
94
+ n_elements = 2 # for N hits and columns
95
+ result_sets.each do |result_set|
96
+ n_hits += result_set.size
97
+ n_elements += result_set.size
98
+ end
99
+
100
+ output_columns = context.output_columns
101
+
102
+ writer.array("RESULTSET", n_elements) do
103
+ writer.array("NHITS", 1) do
104
+ writer.write(n_hits)
105
+ end
106
+ first_result_set = result_sets.first
107
+ if first_result_set
108
+ writer.write_table_columns(first_result_set, output_columns)
109
+ end
110
+
111
+ current_offset = context.offset
112
+ current_offset += n_hits if current_offset < 0
113
+ current_limit = context.limit
114
+ current_limit += n_hits + 1 if current_limit < 0
115
+ options = {
116
+ :offset => current_offset,
117
+ :limit => current_limit,
118
+ }
28
119
  result_sets.each do |result_set|
29
- n_hits += result_set.size
30
- n_elements += result_set.size
120
+ if result_set.size > current_offset
121
+ writer.write_table_records(result_set, output_columns, options)
122
+ end
123
+ if current_offset > 0
124
+ current_offset = [current_offset - result_set.size, 0].max
125
+ end
126
+ current_limit -= result_set.size
127
+ break if current_limit <= 0
128
+ options[:offset] = current_offset
129
+ options[:limit] = current_limit
31
130
  end
131
+ end
132
+ end
32
133
 
134
+ def write_plain_drilldowns(writer, execute_context)
135
+ plain_drilldown = execute_context.plain_drilldown
136
+
137
+ drilldowns = plain_drilldown.result_sets
138
+ output_columns = plain_drilldown.output_columns
139
+ options = {
140
+ :offset => plain_drilldown.offset,
141
+ :limit => plain_drilldown.limit,
142
+ }
143
+
144
+ drilldowns.each do |drilldown|
145
+ n_elements = 2 # for N hits and columns
146
+ n_elements += drilldown.size
33
147
  writer.array("RESULTSET", n_elements) do
34
148
  writer.array("NHITS", 1) do
35
- writer.write(n_hits)
149
+ writer.write(drilldown.size)
36
150
  end
37
- first_result_set = result_sets.first
38
- if first_result_set
39
- writer.write_table_columns(first_result_set, output_columns)
151
+ writer.write_table_columns(drilldown, output_columns)
152
+ writer.write_table_records(drilldown, output_columns,
153
+ options)
154
+ end
155
+ end
156
+ end
157
+
158
+ def write_labeled_drilldowns(writer, execute_context)
159
+ labeled_drilldowns = execute_context.labeled_drilldowns
160
+ is_command_version1 = (context.command_version == 1)
161
+
162
+ writer.map("DRILLDOWNS", labeled_drilldowns.n_result_sets) do
163
+ labeled_drilldowns.each do |drilldown|
164
+ writer.write(drilldown.label)
165
+
166
+ result_set = drilldown.result_set
167
+ n_elements = 2 # for N hits and columns
168
+ n_elements += result_set.size
169
+ output_columns = drilldown.output_columns
170
+ options = {
171
+ :offset => drilldown.offset,
172
+ :limit => drilldown.limit,
173
+ }
174
+
175
+ writer.array("RESULTSET", n_elements) do
176
+ writer.array("NHITS", 1) do
177
+ writer.write(result_set.size)
178
+ end
179
+ writer.write_table_columns(result_set, output_columns)
180
+ if is_command_version1 and drilldown.need_command_version2?
181
+ context.with_command_version(2) do
182
+ writer.write_table_records(result_set,
183
+ drilldown.output_columns_v2,
184
+ options)
185
+ end
186
+ else
187
+ writer.write_table_records(result_set, output_columns, options)
188
+ end
40
189
  end
41
- options = {}
42
- result_sets.each do |result_set|
43
- writer.write_table_records(result_set, output_columns, options)
190
+ end
191
+ end
192
+ end
193
+
194
+ module KeysParsable
195
+ private
196
+ def parse_keys(raw_keys)
197
+ return [] if raw_keys.nil?
198
+
199
+ raw_keys.strip.split(/ *, */)
200
+ end
201
+ end
202
+
203
+ module Calculatable
204
+ def calc_target(table)
205
+ return nil if @calc_target_name.nil?
206
+ table.find_column(@calc_target_name)
207
+ end
208
+
209
+ private
210
+ def parse_calc_types(raw_types)
211
+ return TableGroupFlags::CALC_COUNT if raw_types.nil?
212
+
213
+ types = 0
214
+ raw_types.strip.split(/ *, */).each do |name|
215
+ case name
216
+ when "COUNT"
217
+ types |= TableGroupFlags::CALC_COUNT
218
+ when "MAX"
219
+ types |= TableGroupFlags::CALC_MAX
220
+ when "MIN"
221
+ types |= TableGroupFlags::CALC_MIN
222
+ when "SUM"
223
+ types |= TableGroupFlags::CALC_SUM
224
+ when "AVG"
225
+ types |= TableGroupFlags::CALC_AVG
226
+ when "NONE"
227
+ # Do nothing
228
+ else
229
+ raise InvalidArgument, "invalid drilldown calc type: <#{name}>"
44
230
  end
45
231
  end
46
- ensure
47
- context.close
232
+ types
48
233
  end
49
234
  end
50
235
 
51
236
  class ExecuteContext
237
+ include KeysParsable
238
+
52
239
  attr_reader :enumerator
53
240
  attr_reader :filter
54
241
  attr_reader :offset
55
242
  attr_reader :limit
243
+ attr_reader :sort_keys
244
+ attr_reader :output_columns
56
245
  attr_reader :result_sets
246
+ attr_reader :unsorted_result_sets
247
+ attr_reader :plain_drilldown
248
+ attr_reader :labeled_drilldowns
57
249
  def initialize(input)
58
250
  @input = input
59
251
  @enumerator = LogicalEnumerator.new("logical_select", @input)
60
252
  @filter = @input[:filter]
61
- @offset = 0
62
- @limit = 10
253
+ @offset = (@input[:offset] || 0).to_i
254
+ @limit = (@input[:limit] || 10).to_i
255
+ @sort_keys = parse_keys(@input[:sortby])
256
+ @output_columns = @input[:output_columns] || "_id, _key, *"
63
257
 
64
258
  @result_sets = []
259
+ @unsorted_result_sets = []
260
+
261
+ @plain_drilldown = PlainDrilldownExecuteContext.new(@input)
262
+ @labeled_drilldowns = LabeledDrilldowns.parse(@input)
65
263
  end
66
264
 
67
265
  def close
68
266
  @result_sets.each do |result_set|
69
267
  result_set.close if result_set.temporary?
70
268
  end
269
+ @unsorted_result_sets.each do |result_set|
270
+ result_set.close if result_set.temporary?
271
+ end
272
+
273
+ @plain_drilldown.close
274
+ @labeled_drilldowns.close
275
+ end
276
+ end
277
+
278
+ class PlainDrilldownExecuteContext
279
+ include KeysParsable
280
+ include Calculatable
281
+
282
+ attr_reader :keys
283
+ attr_reader :offset
284
+ attr_reader :limit
285
+ attr_reader :sort_keys
286
+ attr_reader :output_columns
287
+ attr_reader :calc_target_name
288
+ attr_reader :calc_types
289
+ attr_reader :result_sets
290
+ attr_reader :unsorted_result_sets
291
+ def initialize(input)
292
+ @input = input
293
+ @keys = parse_keys(@input[:drilldown])
294
+ @offset = (@input[:drilldown_offset] || 0).to_i
295
+ @limit = (@input[:drilldown_limit] || 10).to_i
296
+ @sort_keys = parse_keys(@input[:drilldown_sortby])
297
+ @output_columns = @input[:drilldown_output_columns]
298
+ @output_columns ||= "_key, _nsubrecs"
299
+ @calc_target_name = @input[:drilldown_calc_target]
300
+ @calc_types = parse_calc_types(@input[:drilldown_calc_types])
301
+
302
+ @result_sets = []
303
+ @unsorted_result_sets = []
304
+ end
305
+
306
+ def close
307
+ @result_sets.each do |result_set|
308
+ result_set.close
309
+ end
310
+ @unsorted_result_sets.each do |result_set|
311
+ result_set.close
312
+ end
313
+ end
314
+
315
+ def have_keys?
316
+ @keys.size > 0
317
+ end
318
+
319
+ def n_result_sets
320
+ @result_sets.size
321
+ end
322
+ end
323
+
324
+ class LabeledDrilldowns
325
+ include Enumerable
326
+
327
+ class << self
328
+ def parse(input)
329
+ drilldowns = {}
330
+ arguments = input.arguments
331
+ argument = Record.new(arguments, nil)
332
+ arguments.each do |argument_id|
333
+ argument.id = argument_id
334
+ key = argument.key
335
+ match_data = /\Adrilldown\[(.+?)\]\.(.+)\z/.match(key)
336
+ next if match_data.nil?
337
+ drilldown = (drilldowns[match_data[1]] ||= {})
338
+ drilldown[match_data[2]] = input[key]
339
+ end
340
+
341
+ contexts = []
342
+ drilldowns.each do |label, parameters|
343
+ next if parameters["keys"].nil?
344
+ contexts << LabeledDrilldownExecuteContext.new(label, parameters)
345
+ end
346
+ return nil if contexts.nil?
347
+
348
+ new(contexts)
349
+ end
350
+ end
351
+
352
+ def initialize(contexts)
353
+ @contexts = contexts
354
+ end
355
+
356
+ def close
357
+ @contexts.each do |context|
358
+ context.close
359
+ end
360
+ end
361
+
362
+ def have_keys?
363
+ @contexts.size > 0
364
+ end
365
+
366
+ def n_result_sets
367
+ @contexts.size
368
+ end
369
+
370
+ def each(&block)
371
+ @contexts.each(&block)
372
+ end
373
+ end
374
+
375
+ class LabeledDrilldownExecuteContext
376
+ include KeysParsable
377
+ include Calculatable
378
+
379
+ attr_reader :label
380
+ attr_reader :keys
381
+ attr_reader :offset
382
+ attr_reader :limit
383
+ attr_reader :sort_keys
384
+ attr_reader :output_columns
385
+ attr_reader :calc_target_name
386
+ attr_reader :calc_types
387
+ attr_accessor :result_set
388
+ attr_accessor :unsorted_result_set
389
+ def initialize(label, parameters)
390
+ @label = label
391
+ @keys = parse_keys(parameters["keys"])
392
+ @offset = (parameters["offset"] || 0).to_i
393
+ @limit = (parameters["limit"] || 10).to_i
394
+ @sort_keys = parse_keys(parameters["sortby"])
395
+ @output_columns = parameters["output_columns"]
396
+ @output_columns ||= "_key, _nsubrecs"
397
+ @calc_target_name = parameters["calc_target"]
398
+ @calc_types = parse_calc_types(parameters["calc_types"])
399
+
400
+ @result_set = nil
401
+ @unsorted_result_set = nil
402
+ end
403
+
404
+ def close
405
+ @result_set.close if @result_set
406
+ @unsorted_result_set.close if @unsorted_result_set
407
+ end
408
+
409
+ def need_command_version2?
410
+ /[.\[]/ === @output_columns
411
+ end
412
+
413
+ def output_columns_v2
414
+ columns = @output_columns.strip.split(/ *, */)
415
+ converted_columns = columns.collect do |column|
416
+ match_data = /\A_value\.(.+)\z/.match(column)
417
+ if match_data.nil?
418
+ column
419
+ else
420
+ nth_key = keys.index(match_data[1])
421
+ if nth_key
422
+ "_key[#{nth_key}]"
423
+ else
424
+ column
425
+ end
426
+ end
427
+ end
428
+ converted_columns.join(",")
71
429
  end
72
430
  end
73
431
 
@@ -77,17 +435,24 @@ module Groonga
77
435
  end
78
436
 
79
437
  def execute
80
- first_table = nil
81
- enumerator = @context.enumerator
82
- enumerator.each do |table, shard_key, shard_range|
83
- first_table ||= table
84
- next if table.empty?
438
+ execute_search
439
+ if @context.plain_drilldown.have_keys?
440
+ execute_plain_drilldown
441
+ elsif @context.labeled_drilldowns.have_keys?
442
+ execute_labeled_drilldowns
443
+ end
444
+ end
85
445
 
86
- shard_executor = ShardExecutor.new(@context,
87
- table, shard_key, shard_range)
446
+ private
447
+ def execute_search
448
+ first_shard = nil
449
+ enumerator = @context.enumerator
450
+ enumerator.each do |shard, shard_range|
451
+ first_shard ||= shard
452
+ shard_executor = ShardExecutor.new(@context, shard, shard_range)
88
453
  shard_executor.execute
89
454
  end
90
- if first_table.nil?
455
+ if first_shard.nil?
91
456
  message =
92
457
  "[logical_select] no shard exists: " +
93
458
  "logical_table: <#{enumerator.logical_table}>: " +
@@ -96,59 +461,140 @@ module Groonga
96
461
  end
97
462
  if @context.result_sets.empty?
98
463
  result_set = HashTable.create(:flags => ObjectFlags::WITH_SUBREC,
99
- :key_type => first_table)
464
+ :key_type => first_shard.table)
100
465
  @context.result_sets << result_set
101
466
  end
102
467
  end
468
+
469
+ def execute_plain_drilldown
470
+ drilldown = @context.plain_drilldown
471
+ group_result = TableGroupResult.new
472
+ begin
473
+ group_result.key_begin = 0
474
+ group_result.key_end = 0
475
+ group_result.limit = 1
476
+ group_result.flags = drilldown.calc_types
477
+ drilldown.keys.each do |key|
478
+ @context.result_sets.each do |result_set|
479
+ with_calc_target(group_result,
480
+ drilldown.calc_target(result_set)) do
481
+ result_set.group([key], group_result)
482
+ end
483
+ end
484
+ result_set = group_result.table
485
+ if drilldown.sort_keys.empty?
486
+ drilldown.result_sets << result_set
487
+ else
488
+ drilldown.result_sets << result_set.sort(drilldown.sort_keys)
489
+ drilldown.unsorted_result_sets << result_set
490
+ end
491
+ group_result.table = nil
492
+ end
493
+ ensure
494
+ group_result.close
495
+ end
496
+ end
497
+
498
+ def execute_labeled_drilldowns
499
+ drilldowns = @context.labeled_drilldowns
500
+
501
+ drilldowns.each do |drilldown|
502
+ group_result = TableGroupResult.new
503
+ keys = drilldown.keys
504
+ begin
505
+ group_result.key_begin = 0
506
+ group_result.key_end = keys.size - 1
507
+ if keys.size > 1
508
+ group_result.max_n_sub_records = 1
509
+ end
510
+ group_result.limit = 1
511
+ group_result.flags = drilldown.calc_types
512
+ @context.result_sets.each do |result_set|
513
+ with_calc_target(group_result,
514
+ drilldown.calc_target(result_set)) do
515
+ result_set.group(keys, group_result)
516
+ end
517
+ end
518
+ result_set = group_result.table
519
+ if drilldown.sort_keys.empty?
520
+ drilldown.result_set = result_set
521
+ else
522
+ drilldown.result_set = result_set.sort(drilldown.sort_keys)
523
+ drilldown.unsorted_result_set = result_set
524
+ end
525
+ group_result.table = nil
526
+ ensure
527
+ group_result.close
528
+ end
529
+ end
530
+ end
531
+
532
+ def with_calc_target(group_result, calc_target)
533
+ group_result.calc_target = calc_target
534
+ begin
535
+ yield
536
+ ensure
537
+ calc_target.close if calc_target
538
+ group_result.calc_target = nil
539
+ end
540
+ end
103
541
  end
104
542
 
105
543
  class ShardExecutor
106
- def initialize(context, table, shard_key, shard_range)
544
+ def initialize(context, shard, shard_range)
107
545
  @context = context
108
- @table = table
109
- @shard_key = shard_key
546
+ @shard = shard
110
547
  @shard_range = shard_range
111
548
 
112
549
  @filter = @context.filter
550
+ @sort_keys = @context.sort_keys
113
551
  @result_sets = @context.result_sets
552
+ @unsorted_result_sets = @context.unsorted_result_sets
114
553
 
115
554
  @target_range = @context.enumerator.target_range
116
555
 
117
556
  @cover_type = @target_range.cover_type(@shard_range)
118
-
119
- @expression_builder = RangeExpressionBuilder.new(@shard_key,
120
- @target_range,
121
- @filter)
122
557
  end
123
558
 
124
559
  def execute
125
560
  return if @cover_type == :none
561
+ return if @shard.table.empty?
126
562
 
563
+ shard_key = @shard.key
564
+ if shard_key.nil?
565
+ message = "[logical_select] shard_key doesn't exist: " +
566
+ "<#{@shard.key_name}>"
567
+ raise InvalidArgument, message
568
+ end
569
+
570
+ expression_builder = RangeExpressionBuilder.new(shard_key,
571
+ @target_range,
572
+ @filter)
127
573
  case @cover_type
128
574
  when :all
129
- filter_shard_all
575
+ filter_shard_all(expression_builder)
130
576
  when :partial_min
131
577
  filter_table do |expression|
132
- @expression_builder.build_partial_min(expression)
578
+ expression_builder.build_partial_min(expression)
133
579
  end
134
580
  when :partial_max
135
581
  filter_table do |expression|
136
- @expression_builder.build_partial_max(expression)
582
+ expression_builder.build_partial_max(expression)
137
583
  end
138
584
  when :partial_min_and_max
139
585
  filter_table do |expression|
140
- @expression_builder.build_partial_min_and_max(expression)
586
+ expression_builder.build_partial_min_and_max(expression)
141
587
  end
142
588
  end
143
589
  end
144
590
 
145
591
  private
146
- def filter_shard_all
592
+ def filter_shard_all(expression_builder)
147
593
  if @filter.nil?
148
- @result_sets << @table
594
+ add_result_set(@shard.table)
149
595
  else
150
596
  filter_table do |expression|
151
- @expression_builder.build_all(expression)
597
+ expression_builder.build_all(expression)
152
598
  end
153
599
  end
154
600
  end
@@ -163,9 +609,25 @@ module Groonga
163
609
  end
164
610
 
165
611
  def filter_table
166
- create_expression(@table) do |expression|
612
+ table = @shard.table
613
+ create_expression(table) do |expression|
167
614
  yield(expression)
168
- @result_sets << @table.select(expression)
615
+ add_result_set(table.select(expression))
616
+ end
617
+ end
618
+
619
+ def add_result_set(result_set)
620
+ if result_set.empty?
621
+ result_set.close
622
+ return
623
+ end
624
+
625
+ if @sort_keys.empty?
626
+ @result_sets << result_set
627
+ else
628
+ @unsorted_result_sets << result_set
629
+ sorted_result_set = result_set.sort(@sort_keys)
630
+ @result_sets << sorted_result_set
169
631
  end
170
632
  end
171
633
  end