rroonga 4.0.8-x64-mingw32 → 5.0.0-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (573) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +2 -2
  3. data/doc/text/news.textile +19 -0
  4. data/ext/groonga/rb-grn-exception.c +35 -1
  5. data/ext/groonga/rb-grn-normalizer.c +37 -7
  6. data/ext/groonga/rb-grn-table.c +106 -35
  7. data/ext/groonga/rb-grn.h +3 -2
  8. data/lib/1.9/groonga.so +0 -0
  9. data/lib/2.0/groonga.so +0 -0
  10. data/lib/2.1/groonga.so +0 -0
  11. data/lib/groonga/record.rb +45 -1
  12. data/rroonga-build.rb +6 -5
  13. data/test/groonga-test-utils.rb +9 -0
  14. data/test/test-array.rb +11 -0
  15. data/test/test-exception.rb +3 -1
  16. data/test/test-normalizer.rb +28 -0
  17. data/test/test-record.rb +34 -0
  18. data/test/test-table-group.rb +366 -0
  19. data/test/test-table.rb +0 -182
  20. data/vendor/local/bin/grndb.exe +0 -0
  21. data/vendor/local/bin/groonga-benchmark.exe +0 -0
  22. data/vendor/local/bin/groonga.exe +0 -0
  23. data/vendor/local/bin/libgcc_s_seh-1.dll +0 -0
  24. data/vendor/local/bin/libgroonga-0.dll +0 -0
  25. data/vendor/local/bin/libmecab-1.dll +0 -0
  26. data/vendor/local/bin/libmsgpack-3.dll +0 -0
  27. data/vendor/local/bin/libmsgpackc-2.dll +0 -0
  28. data/vendor/local/bin/libonig-5.dll +0 -0
  29. data/vendor/local/bin/libstdc++-6.dll +0 -0
  30. data/vendor/local/bin/lz4.exe +0 -0
  31. data/vendor/local/bin/lz4c.exe +0 -0
  32. data/vendor/local/bin/lz4cat +0 -0
  33. data/vendor/local/bin/mecab-config +2 -2
  34. data/vendor/local/bin/mecab.exe +0 -0
  35. data/vendor/local/bin/onig-config +1 -1
  36. data/vendor/local/bin/zlib1.dll +0 -0
  37. data/vendor/local/etc/groonga/httpd/groonga-httpd.conf +2 -2
  38. data/vendor/local/include/groonga/groonga.h +2 -1
  39. data/vendor/local/include/groonga/groonga/command.h +79 -0
  40. data/vendor/local/include/groonga/groonga/groonga.h +32 -74
  41. data/vendor/local/include/groonga/groonga/output.h +108 -0
  42. data/vendor/local/include/groonga/groonga/plugin.h +18 -3
  43. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.a +0 -0
  44. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll +0 -0
  45. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll.a +0 -0
  46. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.la +3 -3
  47. data/vendor/local/lib/groonga/plugins/ruby/eval.a +0 -0
  48. data/vendor/local/lib/groonga/plugins/ruby/eval.dll +0 -0
  49. data/vendor/local/lib/groonga/plugins/ruby/eval.dll.a +0 -0
  50. data/vendor/local/lib/groonga/plugins/ruby/eval.la +3 -3
  51. data/vendor/local/lib/groonga/plugins/ruby/load.a +0 -0
  52. data/vendor/local/lib/groonga/plugins/ruby/load.dll +0 -0
  53. data/vendor/local/lib/groonga/plugins/ruby/load.dll.a +0 -0
  54. data/vendor/local/lib/groonga/plugins/ruby/load.la +3 -3
  55. data/vendor/local/lib/groonga/plugins/sharding.rb +3 -0
  56. data/vendor/local/lib/groonga/plugins/sharding/logical_count.rb +157 -0
  57. data/vendor/local/lib/groonga/plugins/sharding/logical_enumerator.rb +170 -0
  58. data/vendor/local/lib/groonga/plugins/sharding/logical_range_filter.rb +50 -0
  59. data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
  60. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
  61. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
  62. data/vendor/local/lib/groonga/plugins/suggest/suggest.la +3 -3
  63. data/vendor/local/lib/groonga/plugins/table/table.a +0 -0
  64. data/vendor/local/lib/groonga/plugins/table/table.dll +0 -0
  65. data/vendor/local/lib/groonga/plugins/table/table.dll.a +0 -0
  66. data/vendor/local/lib/groonga/plugins/table/table.la +3 -3
  67. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.a +0 -0
  68. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll +0 -0
  69. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll.a +0 -0
  70. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.la +3 -3
  71. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
  72. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
  73. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
  74. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +3 -3
  75. data/vendor/local/lib/groonga/scripts/ruby/command.rb +35 -0
  76. data/vendor/local/lib/groonga/scripts/ruby/{command → command_line}/grndb.rb +1 -1
  77. data/vendor/local/lib/groonga/scripts/ruby/context.rb +29 -8
  78. data/vendor/local/lib/groonga/scripts/ruby/context/rc.rb +166 -76
  79. data/vendor/local/lib/groonga/scripts/ruby/database.rb +16 -4
  80. data/vendor/local/lib/groonga/scripts/ruby/error.rb +16 -0
  81. data/vendor/local/lib/groonga/scripts/ruby/index_cursor.rb +18 -0
  82. data/vendor/local/lib/groonga/scripts/ruby/initialize/post.rb +10 -0
  83. data/vendor/local/lib/groonga/scripts/ruby/logger.rb +5 -1
  84. data/vendor/local/lib/groonga/scripts/ruby/plugin_loader.rb +14 -0
  85. data/vendor/local/lib/groonga/scripts/ruby/require.rb +1 -1
  86. data/vendor/local/lib/groonga/scripts/ruby/scan_info_builder.rb +3 -3
  87. data/vendor/local/lib/groonga/scripts/ruby/scan_info_data.rb +4 -2
  88. data/vendor/local/lib/groonga/scripts/ruby/table_cursor.rb +15 -0
  89. data/vendor/local/lib/groonga/scripts/ruby/writer.rb +21 -0
  90. data/vendor/local/lib/libgroonga.a +0 -0
  91. data/vendor/local/lib/libgroonga.dll.a +0 -0
  92. data/vendor/local/lib/libgroonga.la +3 -3
  93. data/vendor/local/lib/liblz4.a +0 -0
  94. data/vendor/local/lib/liblz4.dll +0 -0
  95. data/vendor/local/lib/liblz4.dll.1 +0 -0
  96. data/vendor/local/lib/liblz4.dll.1.5.0 +0 -0
  97. data/vendor/local/lib/libmecab.a +0 -0
  98. data/vendor/local/lib/libmecab.dll.a +0 -0
  99. data/vendor/local/lib/libmecab.la +2 -2
  100. data/vendor/local/lib/libmsgpack.a +0 -0
  101. data/vendor/local/lib/libmsgpack.dll.a +0 -0
  102. data/vendor/local/lib/libmsgpack.la +2 -2
  103. data/vendor/local/lib/libmsgpackc.a +0 -0
  104. data/vendor/local/lib/libmsgpackc.dll.a +0 -0
  105. data/vendor/local/lib/libmsgpackc.la +2 -2
  106. data/vendor/local/lib/libonig.a +0 -0
  107. data/vendor/local/lib/libonig.dll.a +0 -0
  108. data/vendor/local/lib/libonig.la +2 -2
  109. data/vendor/local/lib/libz.a +0 -0
  110. data/vendor/local/lib/libz.dll.a +0 -0
  111. data/vendor/local/lib/pkgconfig/groonga.pc +3 -3
  112. data/vendor/local/lib/pkgconfig/liblz4.pc +5 -5
  113. data/vendor/local/lib/pkgconfig/msgpack.pc +1 -1
  114. data/vendor/local/lib/pkgconfig/oniguruma.pc +6 -6
  115. data/vendor/local/lib/pkgconfig/zlib.pc +3 -3
  116. data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
  117. data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
  118. data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
  119. data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
  120. data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
  121. data/vendor/local/sbin/groonga-httpd-restart +1 -1
  122. data/vendor/local/sbin/groonga-httpd.exe +0 -0
  123. data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
  124. data/vendor/local/share/doc/groonga/en/html/_sources/install/centos.txt +3 -3
  125. data/vendor/local/share/doc/groonga/en/html/_sources/install/debian.txt +4 -4
  126. data/vendor/local/share/doc/groonga/en/html/_sources/install/fedora.txt +3 -3
  127. data/vendor/local/share/doc/groonga/en/html/_sources/install/mac_os_x.txt +5 -5
  128. data/vendor/local/share/doc/groonga/en/html/_sources/install/others.txt +3 -3
  129. data/vendor/local/share/doc/groonga/en/html/_sources/install/solaris.txt +3 -3
  130. data/vendor/local/share/doc/groonga/en/html/_sources/install/ubuntu.txt +4 -4
  131. data/vendor/local/share/doc/groonga/en/html/_sources/install/windows.txt +9 -9
  132. data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +16 -570
  133. data/vendor/local/share/doc/groonga/en/html/_sources/news/2.x.txt +5 -4
  134. data/vendor/local/share/doc/groonga/en/html/_sources/news/3.x.txt +1 -1
  135. data/vendor/local/share/doc/groonga/en/html/_sources/news/4.x.txt +686 -0
  136. data/vendor/local/share/doc/groonga/en/html/_sources/reference.txt +0 -1
  137. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_ctx.txt +3 -1
  138. data/vendor/local/share/doc/groonga/en/html/_sources/reference/column.txt +12 -4
  139. data/vendor/local/share/doc/groonga/en/html/_sources/reference/columns/index.txt +19 -0
  140. data/vendor/local/share/doc/groonga/en/html/_sources/reference/columns/pseudo.txt +2 -2
  141. data/vendor/local/share/doc/groonga/en/html/_sources/reference/columns/scalar.txt +19 -0
  142. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/select.txt +734 -29
  143. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/html_untag.txt +2 -1
  144. data/vendor/local/share/doc/groonga/en/html/_sources/reference/grn_expr/query_syntax.txt +8 -7
  145. data/vendor/local/share/doc/groonga/en/html/_sources/reference/grn_expr/script_syntax.txt +50 -0
  146. data/vendor/local/share/doc/groonga/en/html/_sources/reference/suggest/completion.txt +25 -23
  147. data/vendor/local/share/doc/groonga/en/html/_sources/server/http.txt +1 -1
  148. data/vendor/local/share/doc/groonga/en/html/_static/basic.css +68 -6
  149. data/vendor/local/share/doc/groonga/en/html/_static/doctools.js +26 -1
  150. data/vendor/local/share/doc/groonga/en/html/_static/down-pressed.png +0 -0
  151. data/vendor/local/share/doc/groonga/en/html/_static/down.png +0 -0
  152. data/vendor/local/share/doc/groonga/en/html/_static/file.png +0 -0
  153. data/vendor/local/share/doc/groonga/en/html/_static/jquery-1.11.1.js +10308 -0
  154. data/vendor/local/share/doc/groonga/en/html/_static/jquery.js +4 -2
  155. data/vendor/local/share/doc/groonga/en/html/_static/minus.png +0 -0
  156. data/vendor/local/share/doc/groonga/en/html/_static/plus.png +0 -0
  157. data/vendor/local/share/doc/groonga/en/html/_static/searchtools.js +2 -2
  158. data/vendor/local/share/doc/groonga/en/html/_static/underscore-1.3.1.js +999 -0
  159. data/vendor/local/share/doc/groonga/en/html/_static/up-pressed.png +0 -0
  160. data/vendor/local/share/doc/groonga/en/html/_static/up.png +0 -0
  161. data/vendor/local/share/doc/groonga/en/html/_static/websupport.js +15 -15
  162. data/vendor/local/share/doc/groonga/en/html/characteristic.html +20 -18
  163. data/vendor/local/share/doc/groonga/en/html/client.html +20 -18
  164. data/vendor/local/share/doc/groonga/en/html/community.html +20 -18
  165. data/vendor/local/share/doc/groonga/en/html/contribution.html +21 -19
  166. data/vendor/local/share/doc/groonga/en/html/contribution/development.html +20 -18
  167. data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +20 -18
  168. data/vendor/local/share/doc/groonga/en/html/contribution/development/cooperation.html +20 -18
  169. data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +20 -18
  170. data/vendor/local/share/doc/groonga/en/html/contribution/development/release.html +20 -18
  171. data/vendor/local/share/doc/groonga/en/html/contribution/development/repository.html +20 -18
  172. data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +20 -18
  173. data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +20 -18
  174. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +20 -18
  175. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +20 -18
  176. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/introduction.html +27 -25
  177. data/vendor/local/share/doc/groonga/en/html/contribution/report.html +20 -18
  178. data/vendor/local/share/doc/groonga/en/html/development.html +20 -18
  179. data/vendor/local/share/doc/groonga/en/html/development/travis-ci.html +27 -25
  180. data/vendor/local/share/doc/groonga/en/html/genindex.html +13 -13
  181. data/vendor/local/share/doc/groonga/en/html/index.html +86 -78
  182. data/vendor/local/share/doc/groonga/en/html/install.html +36 -34
  183. data/vendor/local/share/doc/groonga/en/html/install/centos.html +31 -29
  184. data/vendor/local/share/doc/groonga/en/html/install/debian.html +27 -25
  185. data/vendor/local/share/doc/groonga/en/html/install/fedora.html +28 -26
  186. data/vendor/local/share/doc/groonga/en/html/install/mac_os_x.html +33 -30
  187. data/vendor/local/share/doc/groonga/en/html/install/others.html +90 -88
  188. data/vendor/local/share/doc/groonga/en/html/install/solaris.html +25 -23
  189. data/vendor/local/share/doc/groonga/en/html/install/ubuntu.html +28 -26
  190. data/vendor/local/share/doc/groonga/en/html/install/windows.html +33 -31
  191. data/vendor/local/share/doc/groonga/en/html/limitations.html +20 -18
  192. data/vendor/local/share/doc/groonga/en/html/news.html +99 -641
  193. data/vendor/local/share/doc/groonga/en/html/news/0.x.html +20 -18
  194. data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +21 -19
  195. data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +20 -18
  196. data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +35 -33
  197. data/vendor/local/share/doc/groonga/en/html/news/1.3.x.html +30 -28
  198. data/vendor/local/share/doc/groonga/en/html/news/2.x.html +103 -100
  199. data/vendor/local/share/doc/groonga/en/html/news/3.x.html +72 -70
  200. data/vendor/local/share/doc/groonga/en/html/news/4.x.html +873 -0
  201. data/vendor/local/share/doc/groonga/en/html/news/senna.html +20 -18
  202. data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
  203. data/vendor/local/share/doc/groonga/en/html/reference.html +83 -75
  204. data/vendor/local/share/doc/groonga/en/html/reference/api.html +40 -38
  205. data/vendor/local/share/doc/groonga/en/html/reference/api/global_configurations.html +34 -32
  206. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_cache.html +46 -44
  207. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_column.html +68 -66
  208. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_command_version.html +30 -28
  209. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_content_type.html +27 -25
  210. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ctx.html +66 -62
  211. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_db.html +36 -34
  212. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_encoding.html +31 -29
  213. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_expr.html +67 -65
  214. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_geo.html +29 -27
  215. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_hook.html +32 -30
  216. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ii.html +30 -28
  217. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_index_cursor.html +29 -27
  218. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_info.html +29 -27
  219. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_match_escalation.html +28 -26
  220. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_obj.html +77 -75
  221. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_proc.html +32 -30
  222. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_search.html +27 -25
  223. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table.html +63 -61
  224. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table_cursor.html +52 -50
  225. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_type.html +28 -26
  226. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_user_data.html +25 -23
  227. data/vendor/local/share/doc/groonga/en/html/reference/api/plugin.html +43 -41
  228. data/vendor/local/share/doc/groonga/en/html/reference/cast.html +20 -18
  229. data/vendor/local/share/doc/groonga/en/html/reference/column.html +35 -33
  230. data/vendor/local/share/doc/groonga/en/html/reference/columns/index.html +152 -0
  231. data/vendor/local/share/doc/groonga/en/html/reference/columns/pseudo.html +56 -29
  232. data/vendor/local/share/doc/groonga/en/html/reference/columns/scalar.html +152 -0
  233. data/vendor/local/share/doc/groonga/en/html/reference/columns/vector.html +121 -94
  234. data/vendor/local/share/doc/groonga/en/html/reference/command.html +55 -53
  235. data/vendor/local/share/doc/groonga/en/html/reference/command/command_version.html +20 -18
  236. data/vendor/local/share/doc/groonga/en/html/reference/command/output_format.html +56 -54
  237. data/vendor/local/share/doc/groonga/en/html/reference/command/request_id.html +25 -23
  238. data/vendor/local/share/doc/groonga/en/html/reference/command/return_code.html +97 -95
  239. data/vendor/local/share/doc/groonga/en/html/reference/commands/cache_limit.html +41 -39
  240. data/vendor/local/share/doc/groonga/en/html/reference/commands/check.html +46 -44
  241. data/vendor/local/share/doc/groonga/en/html/reference/commands/clearlock.html +26 -24
  242. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_create.html +42 -40
  243. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_list.html +74 -72
  244. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_remove.html +27 -25
  245. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_rename.html +44 -42
  246. data/vendor/local/share/doc/groonga/en/html/reference/commands/define_selector.html +40 -38
  247. data/vendor/local/share/doc/groonga/en/html/reference/commands/defrag.html +27 -25
  248. data/vendor/local/share/doc/groonga/en/html/reference/commands/delete.html +36 -34
  249. data/vendor/local/share/doc/groonga/en/html/reference/commands/dump.html +25 -23
  250. data/vendor/local/share/doc/groonga/en/html/reference/commands/load.html +43 -41
  251. data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_clear.html +34 -32
  252. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_level.html +26 -24
  253. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_put.html +27 -25
  254. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_reopen.html +25 -23
  255. data/vendor/local/share/doc/groonga/en/html/reference/commands/normalize.html +62 -60
  256. data/vendor/local/share/doc/groonga/en/html/reference/commands/normalizer_list.html +32 -30
  257. data/vendor/local/share/doc/groonga/en/html/reference/commands/quit.html +24 -22
  258. data/vendor/local/share/doc/groonga/en/html/reference/commands/range_filter.html +24 -22
  259. data/vendor/local/share/doc/groonga/en/html/reference/commands/register.html +37 -35
  260. data/vendor/local/share/doc/groonga/en/html/reference/commands/request_cancel.html +54 -52
  261. data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_eval.html +38 -36
  262. data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_load.html +38 -36
  263. data/vendor/local/share/doc/groonga/en/html/reference/commands/select.html +3069 -567
  264. data/vendor/local/share/doc/groonga/en/html/reference/commands/shutdown.html +24 -22
  265. data/vendor/local/share/doc/groonga/en/html/reference/commands/status.html +27 -25
  266. data/vendor/local/share/doc/groonga/en/html/reference/commands/suggest.html +66 -64
  267. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_create.html +123 -121
  268. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_list.html +36 -34
  269. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_remove.html +26 -24
  270. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_tokenize.html +46 -44
  271. data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenize.html +82 -80
  272. data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenizer_list.html +32 -30
  273. data/vendor/local/share/doc/groonga/en/html/reference/commands/truncate.html +39 -37
  274. data/vendor/local/share/doc/groonga/en/html/reference/executables.html +22 -20
  275. data/vendor/local/share/doc/groonga/en/html/reference/executables/grndb.html +38 -36
  276. data/vendor/local/share/doc/groonga/en/html/reference/executables/grnslap.html +24 -22
  277. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-benchmark.html +29 -27
  278. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-httpd.html +76 -74
  279. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-server-http.html +20 -18
  280. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-create-dataset.html +20 -18
  281. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-httpd.html +45 -43
  282. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-learner.html +37 -35
  283. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga.html +58 -56
  284. data/vendor/local/share/doc/groonga/en/html/reference/function.html +21 -19
  285. data/vendor/local/share/doc/groonga/en/html/reference/functions/between.html +43 -41
  286. data/vendor/local/share/doc/groonga/en/html/reference/functions/edit_distance.html +22 -20
  287. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_distance.html +82 -80
  288. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_circle.html +33 -31
  289. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_rectangle.html +23 -21
  290. data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_full.html +54 -52
  291. data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_html.html +42 -40
  292. data/vendor/local/share/doc/groonga/en/html/reference/functions/html_untag.html +32 -29
  293. data/vendor/local/share/doc/groonga/en/html/reference/functions/in_values.html +20 -18
  294. data/vendor/local/share/doc/groonga/en/html/reference/functions/now.html +20 -18
  295. data/vendor/local/share/doc/groonga/en/html/reference/functions/query.html +49 -47
  296. data/vendor/local/share/doc/groonga/en/html/reference/functions/rand.html +21 -19
  297. data/vendor/local/share/doc/groonga/en/html/reference/functions/snippet_html.html +45 -43
  298. data/vendor/local/share/doc/groonga/en/html/reference/functions/sub_filter.html +42 -40
  299. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr.html +27 -25
  300. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/query_syntax.html +219 -216
  301. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/script_syntax.html +430 -381
  302. data/vendor/local/share/doc/groonga/en/html/reference/indexing.html +22 -20
  303. data/vendor/local/share/doc/groonga/en/html/reference/log.html +23 -21
  304. data/vendor/local/share/doc/groonga/en/html/reference/normalizers.html +52 -50
  305. data/vendor/local/share/doc/groonga/en/html/reference/operations.html +20 -18
  306. data/vendor/local/share/doc/groonga/en/html/reference/operations/geolocation_search.html +20 -18
  307. data/vendor/local/share/doc/groonga/en/html/reference/output.html +35 -33
  308. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders.html +20 -18
  309. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders/tsv.html +58 -56
  310. data/vendor/local/share/doc/groonga/en/html/reference/suggest.html +21 -19
  311. data/vendor/local/share/doc/groonga/en/html/reference/suggest/completion.html +46 -41
  312. data/vendor/local/share/doc/groonga/en/html/reference/suggest/correction.html +20 -18
  313. data/vendor/local/share/doc/groonga/en/html/reference/suggest/introduction.html +20 -18
  314. data/vendor/local/share/doc/groonga/en/html/reference/suggest/suggestion.html +20 -18
  315. data/vendor/local/share/doc/groonga/en/html/reference/tables.html +55 -53
  316. data/vendor/local/share/doc/groonga/en/html/reference/token_filters.html +39 -37
  317. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers.html +20 -18
  318. data/vendor/local/share/doc/groonga/en/html/reference/tuning.html +30 -28
  319. data/vendor/local/share/doc/groonga/en/html/reference/types.html +38 -36
  320. data/vendor/local/share/doc/groonga/en/html/search.html +12 -12
  321. data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
  322. data/vendor/local/share/doc/groonga/en/html/server.html +20 -18
  323. data/vendor/local/share/doc/groonga/en/html/server/gqtp.html +20 -18
  324. data/vendor/local/share/doc/groonga/en/html/server/http.html +21 -19
  325. data/vendor/local/share/doc/groonga/en/html/server/http/comparison.html +34 -32
  326. data/vendor/local/share/doc/groonga/en/html/server/http/groonga-httpd.html +20 -18
  327. data/vendor/local/share/doc/groonga/en/html/server/http/groonga.html +20 -18
  328. data/vendor/local/share/doc/groonga/en/html/server/package.html +34 -32
  329. data/vendor/local/share/doc/groonga/en/html/spec.html +20 -18
  330. data/vendor/local/share/doc/groonga/en/html/spec/gqtp.html +128 -126
  331. data/vendor/local/share/doc/groonga/en/html/spec/search.html +20 -18
  332. data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +20 -18
  333. data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +20 -18
  334. data/vendor/local/share/doc/groonga/en/html/troubleshooting/mmap_cannot_allocate_memory.html +21 -19
  335. data/vendor/local/share/doc/groonga/en/html/tutorial.html +21 -19
  336. data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +20 -18
  337. data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +34 -32
  338. data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +23 -21
  339. data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +20 -18
  340. data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +20 -18
  341. data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +24 -22
  342. data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +53 -51
  343. data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +20 -18
  344. data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +21 -19
  345. data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +23 -21
  346. data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +37 -35
  347. data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
  348. data/vendor/local/share/doc/groonga/ja/html/_sources/install/centos.txt +3 -3
  349. data/vendor/local/share/doc/groonga/ja/html/_sources/install/debian.txt +4 -4
  350. data/vendor/local/share/doc/groonga/ja/html/_sources/install/fedora.txt +3 -3
  351. data/vendor/local/share/doc/groonga/ja/html/_sources/install/mac_os_x.txt +5 -5
  352. data/vendor/local/share/doc/groonga/ja/html/_sources/install/others.txt +3 -3
  353. data/vendor/local/share/doc/groonga/ja/html/_sources/install/solaris.txt +3 -3
  354. data/vendor/local/share/doc/groonga/ja/html/_sources/install/ubuntu.txt +4 -4
  355. data/vendor/local/share/doc/groonga/ja/html/_sources/install/windows.txt +9 -9
  356. data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +16 -570
  357. data/vendor/local/share/doc/groonga/ja/html/_sources/news/2.x.txt +5 -4
  358. data/vendor/local/share/doc/groonga/ja/html/_sources/news/3.x.txt +1 -1
  359. data/vendor/local/share/doc/groonga/ja/html/_sources/news/4.x.txt +686 -0
  360. data/vendor/local/share/doc/groonga/ja/html/_sources/reference.txt +0 -1
  361. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_ctx.txt +3 -1
  362. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/column.txt +12 -4
  363. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/columns/index.txt +19 -0
  364. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/columns/pseudo.txt +2 -2
  365. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/columns/scalar.txt +19 -0
  366. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/select.txt +734 -29
  367. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/html_untag.txt +2 -1
  368. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/grn_expr/query_syntax.txt +8 -7
  369. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/grn_expr/script_syntax.txt +50 -0
  370. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/suggest/completion.txt +25 -23
  371. data/vendor/local/share/doc/groonga/ja/html/_sources/server/http.txt +1 -1
  372. data/vendor/local/share/doc/groonga/ja/html/_static/basic.css +68 -6
  373. data/vendor/local/share/doc/groonga/ja/html/_static/doctools.js +26 -1
  374. data/vendor/local/share/doc/groonga/ja/html/_static/down-pressed.png +0 -0
  375. data/vendor/local/share/doc/groonga/ja/html/_static/down.png +0 -0
  376. data/vendor/local/share/doc/groonga/ja/html/_static/file.png +0 -0
  377. data/vendor/local/share/doc/groonga/ja/html/_static/jquery-1.11.1.js +10308 -0
  378. data/vendor/local/share/doc/groonga/ja/html/_static/jquery.js +4 -2
  379. data/vendor/local/share/doc/groonga/ja/html/_static/minus.png +0 -0
  380. data/vendor/local/share/doc/groonga/ja/html/_static/plus.png +0 -0
  381. data/vendor/local/share/doc/groonga/ja/html/_static/searchtools.js +2 -2
  382. data/vendor/local/share/doc/groonga/ja/html/_static/underscore-1.3.1.js +999 -0
  383. data/vendor/local/share/doc/groonga/ja/html/_static/up-pressed.png +0 -0
  384. data/vendor/local/share/doc/groonga/ja/html/_static/up.png +0 -0
  385. data/vendor/local/share/doc/groonga/ja/html/_static/websupport.js +15 -15
  386. data/vendor/local/share/doc/groonga/ja/html/characteristic.html +20 -18
  387. data/vendor/local/share/doc/groonga/ja/html/client.html +20 -18
  388. data/vendor/local/share/doc/groonga/ja/html/community.html +20 -18
  389. data/vendor/local/share/doc/groonga/ja/html/contribution.html +21 -19
  390. data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +20 -18
  391. data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +20 -18
  392. data/vendor/local/share/doc/groonga/ja/html/contribution/development/cooperation.html +20 -18
  393. data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +20 -18
  394. data/vendor/local/share/doc/groonga/ja/html/contribution/development/release.html +23 -21
  395. data/vendor/local/share/doc/groonga/ja/html/contribution/development/repository.html +20 -18
  396. data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +20 -18
  397. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +20 -18
  398. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +20 -18
  399. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +21 -19
  400. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/introduction.html +27 -25
  401. data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +20 -18
  402. data/vendor/local/share/doc/groonga/ja/html/development.html +20 -18
  403. data/vendor/local/share/doc/groonga/ja/html/development/travis-ci.html +23 -21
  404. data/vendor/local/share/doc/groonga/ja/html/genindex.html +17 -17
  405. data/vendor/local/share/doc/groonga/ja/html/index.html +88 -80
  406. data/vendor/local/share/doc/groonga/ja/html/install.html +36 -34
  407. data/vendor/local/share/doc/groonga/ja/html/install/centos.html +40 -38
  408. data/vendor/local/share/doc/groonga/ja/html/install/debian.html +30 -29
  409. data/vendor/local/share/doc/groonga/ja/html/install/fedora.html +31 -29
  410. data/vendor/local/share/doc/groonga/ja/html/install/mac_os_x.html +31 -29
  411. data/vendor/local/share/doc/groonga/ja/html/install/others.html +81 -79
  412. data/vendor/local/share/doc/groonga/ja/html/install/solaris.html +24 -22
  413. data/vendor/local/share/doc/groonga/ja/html/install/ubuntu.html +31 -30
  414. data/vendor/local/share/doc/groonga/ja/html/install/windows.html +32 -30
  415. data/vendor/local/share/doc/groonga/ja/html/limitations.html +20 -18
  416. data/vendor/local/share/doc/groonga/ja/html/news.html +85 -677
  417. data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +20 -18
  418. data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +21 -19
  419. data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +20 -18
  420. data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +36 -34
  421. data/vendor/local/share/doc/groonga/ja/html/news/1.3.x.html +30 -28
  422. data/vendor/local/share/doc/groonga/ja/html/news/2.x.html +94 -92
  423. data/vendor/local/share/doc/groonga/ja/html/news/3.x.html +62 -60
  424. data/vendor/local/share/doc/groonga/ja/html/news/4.x.html +911 -0
  425. data/vendor/local/share/doc/groonga/ja/html/news/senna.html +20 -18
  426. data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
  427. data/vendor/local/share/doc/groonga/ja/html/reference.html +85 -77
  428. data/vendor/local/share/doc/groonga/ja/html/reference/api.html +40 -38
  429. data/vendor/local/share/doc/groonga/ja/html/reference/api/global_configurations.html +34 -32
  430. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_cache.html +42 -40
  431. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_column.html +70 -68
  432. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_command_version.html +30 -28
  433. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_content_type.html +27 -25
  434. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ctx.html +62 -60
  435. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_db.html +42 -40
  436. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_encoding.html +31 -29
  437. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_expr.html +62 -60
  438. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_geo.html +29 -27
  439. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_hook.html +32 -30
  440. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ii.html +30 -28
  441. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_index_cursor.html +29 -27
  442. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_info.html +29 -27
  443. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_match_escalation.html +28 -26
  444. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_obj.html +78 -76
  445. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_proc.html +32 -30
  446. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_search.html +27 -25
  447. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table.html +63 -61
  448. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table_cursor.html +52 -50
  449. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_type.html +28 -26
  450. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_user_data.html +25 -23
  451. data/vendor/local/share/doc/groonga/ja/html/reference/api/plugin.html +43 -41
  452. data/vendor/local/share/doc/groonga/ja/html/reference/cast.html +20 -18
  453. data/vendor/local/share/doc/groonga/ja/html/reference/column.html +35 -33
  454. data/vendor/local/share/doc/groonga/ja/html/reference/columns/index.html +153 -0
  455. data/vendor/local/share/doc/groonga/ja/html/reference/columns/pseudo.html +56 -29
  456. data/vendor/local/share/doc/groonga/ja/html/reference/columns/scalar.html +153 -0
  457. data/vendor/local/share/doc/groonga/ja/html/reference/columns/vector.html +111 -84
  458. data/vendor/local/share/doc/groonga/ja/html/reference/command.html +56 -54
  459. data/vendor/local/share/doc/groonga/ja/html/reference/command/command_version.html +20 -18
  460. data/vendor/local/share/doc/groonga/ja/html/reference/command/output_format.html +50 -48
  461. data/vendor/local/share/doc/groonga/ja/html/reference/command/request_id.html +27 -25
  462. data/vendor/local/share/doc/groonga/ja/html/reference/command/return_code.html +100 -98
  463. data/vendor/local/share/doc/groonga/ja/html/reference/commands/cache_limit.html +38 -36
  464. data/vendor/local/share/doc/groonga/ja/html/reference/commands/check.html +46 -44
  465. data/vendor/local/share/doc/groonga/ja/html/reference/commands/clearlock.html +26 -24
  466. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_create.html +42 -40
  467. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_list.html +66 -64
  468. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_remove.html +27 -25
  469. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_rename.html +41 -39
  470. data/vendor/local/share/doc/groonga/ja/html/reference/commands/define_selector.html +40 -38
  471. data/vendor/local/share/doc/groonga/ja/html/reference/commands/defrag.html +27 -25
  472. data/vendor/local/share/doc/groonga/ja/html/reference/commands/delete.html +35 -33
  473. data/vendor/local/share/doc/groonga/ja/html/reference/commands/dump.html +25 -23
  474. data/vendor/local/share/doc/groonga/ja/html/reference/commands/load.html +36 -34
  475. data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_clear.html +38 -37
  476. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_level.html +26 -24
  477. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_put.html +27 -25
  478. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_reopen.html +25 -23
  479. data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalize.html +57 -55
  480. data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalizer_list.html +32 -30
  481. data/vendor/local/share/doc/groonga/ja/html/reference/commands/quit.html +24 -22
  482. data/vendor/local/share/doc/groonga/ja/html/reference/commands/range_filter.html +24 -22
  483. data/vendor/local/share/doc/groonga/ja/html/reference/commands/register.html +34 -32
  484. data/vendor/local/share/doc/groonga/ja/html/reference/commands/request_cancel.html +59 -57
  485. data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_eval.html +38 -36
  486. data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_load.html +38 -36
  487. data/vendor/local/share/doc/groonga/ja/html/reference/commands/select.html +2832 -427
  488. data/vendor/local/share/doc/groonga/ja/html/reference/commands/shutdown.html +24 -22
  489. data/vendor/local/share/doc/groonga/ja/html/reference/commands/status.html +25 -23
  490. data/vendor/local/share/doc/groonga/ja/html/reference/commands/suggest.html +64 -62
  491. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_create.html +99 -97
  492. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_list.html +36 -34
  493. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_remove.html +26 -24
  494. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_tokenize.html +41 -39
  495. data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenize.html +67 -65
  496. data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenizer_list.html +32 -30
  497. data/vendor/local/share/doc/groonga/ja/html/reference/commands/truncate.html +40 -39
  498. data/vendor/local/share/doc/groonga/ja/html/reference/executables.html +22 -20
  499. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grndb.html +50 -45
  500. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grnslap.html +24 -22
  501. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-benchmark.html +29 -27
  502. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-httpd.html +64 -62
  503. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-server-http.html +20 -18
  504. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-create-dataset.html +20 -18
  505. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-httpd.html +45 -43
  506. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-learner.html +37 -35
  507. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga.html +58 -56
  508. data/vendor/local/share/doc/groonga/ja/html/reference/function.html +21 -19
  509. data/vendor/local/share/doc/groonga/ja/html/reference/functions/between.html +43 -41
  510. data/vendor/local/share/doc/groonga/ja/html/reference/functions/edit_distance.html +22 -20
  511. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_distance.html +70 -68
  512. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_circle.html +33 -31
  513. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_rectangle.html +23 -21
  514. data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_full.html +44 -42
  515. data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_html.html +33 -31
  516. data/vendor/local/share/doc/groonga/ja/html/reference/functions/html_untag.html +31 -29
  517. data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_values.html +20 -18
  518. data/vendor/local/share/doc/groonga/ja/html/reference/functions/now.html +20 -18
  519. data/vendor/local/share/doc/groonga/ja/html/reference/functions/query.html +42 -40
  520. data/vendor/local/share/doc/groonga/ja/html/reference/functions/rand.html +21 -19
  521. data/vendor/local/share/doc/groonga/ja/html/reference/functions/snippet_html.html +31 -29
  522. data/vendor/local/share/doc/groonga/ja/html/reference/functions/sub_filter.html +34 -32
  523. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr.html +24 -22
  524. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/query_syntax.html +119 -117
  525. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/script_syntax.html +341 -301
  526. data/vendor/local/share/doc/groonga/ja/html/reference/indexing.html +21 -19
  527. data/vendor/local/share/doc/groonga/ja/html/reference/log.html +23 -21
  528. data/vendor/local/share/doc/groonga/ja/html/reference/normalizers.html +46 -44
  529. data/vendor/local/share/doc/groonga/ja/html/reference/operations.html +20 -18
  530. data/vendor/local/share/doc/groonga/ja/html/reference/operations/geolocation_search.html +20 -18
  531. data/vendor/local/share/doc/groonga/ja/html/reference/output.html +31 -29
  532. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders.html +20 -18
  533. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders/tsv.html +37 -35
  534. data/vendor/local/share/doc/groonga/ja/html/reference/suggest.html +21 -19
  535. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/completion.html +35 -43
  536. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/correction.html +20 -18
  537. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/introduction.html +20 -18
  538. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/suggestion.html +20 -18
  539. data/vendor/local/share/doc/groonga/ja/html/reference/tables.html +45 -43
  540. data/vendor/local/share/doc/groonga/ja/html/reference/token_filters.html +36 -34
  541. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers.html +20 -18
  542. data/vendor/local/share/doc/groonga/ja/html/reference/tuning.html +30 -28
  543. data/vendor/local/share/doc/groonga/ja/html/reference/types.html +38 -36
  544. data/vendor/local/share/doc/groonga/ja/html/search.html +12 -12
  545. data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
  546. data/vendor/local/share/doc/groonga/ja/html/server.html +20 -18
  547. data/vendor/local/share/doc/groonga/ja/html/server/gqtp.html +20 -18
  548. data/vendor/local/share/doc/groonga/ja/html/server/http.html +22 -20
  549. data/vendor/local/share/doc/groonga/ja/html/server/http/comparison.html +28 -26
  550. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga-httpd.html +20 -18
  551. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga.html +20 -18
  552. data/vendor/local/share/doc/groonga/ja/html/server/package.html +35 -33
  553. data/vendor/local/share/doc/groonga/ja/html/spec.html +20 -18
  554. data/vendor/local/share/doc/groonga/ja/html/spec/gqtp.html +127 -125
  555. data/vendor/local/share/doc/groonga/ja/html/spec/search.html +20 -18
  556. data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +20 -18
  557. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +20 -18
  558. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/mmap_cannot_allocate_memory.html +21 -19
  559. data/vendor/local/share/doc/groonga/ja/html/tutorial.html +21 -19
  560. data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +25 -23
  561. data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +33 -31
  562. data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +20 -18
  563. data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +21 -19
  564. data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +20 -18
  565. data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +27 -25
  566. data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +50 -48
  567. data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +21 -19
  568. data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +21 -19
  569. data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +23 -21
  570. data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +35 -33
  571. data/vendor/local/share/man/ja/man1/groonga.1 +6711 -3135
  572. data/vendor/local/share/man/man1/groonga.1 +7192 -3297
  573. metadata +33 -4
@@ -0,0 +1,108 @@
1
+ /*
2
+ Copyright(C) 2009-2015 Brazil
3
+
4
+ This library is free software; you can redistribute it and/or
5
+ modify it under the terms of the GNU Lesser General Public
6
+ License as published by the Free Software Foundation; either
7
+ version 2.1 of the License, or (at your option) any later version.
8
+
9
+ This library is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ Lesser General Public License for more details.
13
+
14
+ You should have received a copy of the GNU Lesser General Public
15
+ License along with this library; if not, write to the Free Software
16
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
+ */
18
+ #ifndef GROONGA_OUTPUT_H
19
+ #define GROONGA_OUTPUT_H
20
+
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+
25
+ typedef struct _grn_obj_format grn_obj_format;
26
+
27
+ #define GRN_OBJ_FORMAT_WITH_COLUMN_NAMES (0x01<<0)
28
+ #define GRN_OBJ_FORMAT_AS_ARRAY (0x01<<3)
29
+ /* Deprecated since 4.0.1. It will be removed at 5.0.0.
30
+ Use GRN_OBJ_FORMAT_AS_ARRAY instead.*/
31
+ #define GRN_OBJ_FORMAT_ASARRAY GRN_OBJ_FORMAT_AS_ARRAY
32
+ #define GRN_OBJ_FORMAT_WITH_WEIGHT (0x01<<4)
33
+
34
+ struct _grn_obj_format {
35
+ grn_obj columns;
36
+ const void *min;
37
+ const void *max;
38
+ unsigned int min_size;
39
+ unsigned int max_size;
40
+ int nhits;
41
+ int offset;
42
+ int limit;
43
+ int hits_offset;
44
+ int flags;
45
+ grn_obj *expression;
46
+ };
47
+
48
+ #define GRN_OBJ_FORMAT_INIT(format,format_nhits,format_offset,format_limit,format_hits_offset) do { \
49
+ GRN_PTR_INIT(&(format)->columns, GRN_OBJ_VECTOR, GRN_ID_NIL);\
50
+ (format)->nhits = (format_nhits);\
51
+ (format)->offset = (format_offset);\
52
+ (format)->limit = (format_limit);\
53
+ (format)->hits_offset = (format_hits_offset);\
54
+ (format)->flags = 0;\
55
+ (format)->expression = NULL;\
56
+ } while (0)
57
+
58
+ #define GRN_OBJ_FORMAT_FIN(ctx,format) do {\
59
+ int ncolumns = GRN_BULK_VSIZE(&(format)->columns) / sizeof(grn_obj *);\
60
+ grn_obj **columns = (grn_obj **)GRN_BULK_HEAD(&(format)->columns);\
61
+ while (ncolumns--) { grn_obj_unlink((ctx), *columns++); }\
62
+ GRN_OBJ_FIN((ctx), &(format)->columns);\
63
+ if ((format)->expression) { GRN_OBJ_FIN((ctx), (format)->expression); } \
64
+ } while (0)
65
+
66
+ GRN_API void grn_output_obj(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type,
67
+ grn_obj *obj, grn_obj_format *format);
68
+ GRN_API void grn_output_envelope(grn_ctx *ctx, grn_rc rc,
69
+ grn_obj *head, grn_obj *body, grn_obj *foot,
70
+ const char *file, int line);
71
+
72
+ GRN_API void grn_ctx_output_flush(grn_ctx *ctx, int flags);
73
+ GRN_API void grn_ctx_output_array_open(grn_ctx *ctx,
74
+ const char *name, int nelements);
75
+ GRN_API void grn_ctx_output_array_close(grn_ctx *ctx);
76
+ GRN_API void grn_ctx_output_map_open(grn_ctx *ctx,
77
+ const char *name, int nelements);
78
+ GRN_API void grn_ctx_output_map_close(grn_ctx *ctx);
79
+ GRN_API void grn_ctx_output_int32(grn_ctx *ctx, int value);
80
+ GRN_API void grn_ctx_output_int64(grn_ctx *ctx, long long int value);
81
+ GRN_API void grn_ctx_output_float(grn_ctx *ctx, double value);
82
+ GRN_API void grn_ctx_output_cstr(grn_ctx *ctx, const char *value);
83
+ GRN_API void grn_ctx_output_str(grn_ctx *ctx,
84
+ const char *value, unsigned int value_len);
85
+ GRN_API void grn_ctx_output_bool(grn_ctx *ctx, grn_bool value);
86
+ GRN_API void grn_ctx_output_obj(grn_ctx *ctx,
87
+ grn_obj *value, grn_obj_format *format);
88
+ GRN_API void grn_ctx_output_table_columns(grn_ctx *ctx,
89
+ grn_obj *table,
90
+ grn_obj_format *format);
91
+ GRN_API void grn_ctx_output_table_records(grn_ctx *ctx,
92
+ grn_obj *table,
93
+ grn_obj_format *format);
94
+
95
+
96
+ GRN_API grn_content_type grn_ctx_get_output_type(grn_ctx *ctx);
97
+ GRN_API grn_rc grn_ctx_set_output_type(grn_ctx *ctx, grn_content_type type);
98
+ GRN_API const char *grn_ctx_get_mime_type(grn_ctx *ctx);
99
+
100
+ /* obsolete */
101
+ GRN_API grn_rc grn_text_otoj(grn_ctx *ctx, grn_obj *bulk, grn_obj *obj,
102
+ grn_obj_format *format);
103
+
104
+ #ifdef __cplusplus
105
+ }
106
+ #endif
107
+
108
+ #endif /* GROONGA_OUTPUT_H */
@@ -26,9 +26,24 @@
26
26
  extern "C" {
27
27
  #endif
28
28
 
29
- #define GRN_PLUGIN_INIT grn_plugin_impl_init
30
- #define GRN_PLUGIN_REGISTER grn_plugin_impl_register
31
- #define GRN_PLUGIN_FIN grn_plugin_impl_fin
29
+ # define GRN_PLUGIN_IMPL_NAME_RAW(type) \
30
+ grn_plugin_impl_ ## type
31
+ # define GRN_PLUGIN_IMPL_NAME_TAGGED(type, tag) \
32
+ GRN_PLUGIN_IMPL_NAME_RAW(type ## _ ## tag)
33
+ # define GRN_PLUGIN_IMPL_NAME_TAGGED_EXPANDABLE(type, tag) \
34
+ GRN_PLUGIN_IMPL_NAME_TAGGED(type, tag)
35
+
36
+ #ifdef GRN_PLUGIN_FUNCTION_TAG
37
+ # define GRN_PLUGIN_IMPL_NAME(type) \
38
+ GRN_PLUGIN_IMPL_NAME_TAGGED_EXPANDABLE(type, GRN_PLUGIN_FUNCTION_TAG)
39
+ #else /* GRN_PLUGIN_FUNCTION_TAG */
40
+ # define GRN_PLUGIN_IMPL_NAME(type) \
41
+ GRN_PLUGIN_IMPL_NAME_RAW(type)
42
+ #endif /* GRN_PLUGIN_FUNCTION_TAG */
43
+
44
+ #define GRN_PLUGIN_INIT GRN_PLUGIN_IMPL_NAME(init)
45
+ #define GRN_PLUGIN_REGISTER GRN_PLUGIN_IMPL_NAME(register)
46
+ #define GRN_PLUGIN_FIN GRN_PLUGIN_IMPL_NAME(fin)
32
47
 
33
48
  #if defined(_WIN32) || defined(_WIN64)
34
49
  # define GRN_PLUGIN_EXPORT __declspec(dllexport)
@@ -1,5 +1,5 @@
1
1
  # tsv.la - a libtool library file
2
- # Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.10
2
+ # Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.11
3
3
  #
4
4
  # Please DO NOT delete this file!
5
5
  # It is necessary for linking the library.
@@ -17,7 +17,7 @@ old_library='tsv.a'
17
17
  inherited_linker_flags=''
18
18
 
19
19
  # Libraries that this one depends upon.
20
- dependency_libs=' -L/home/kou/work/c/groonga.clean/packages/windows/dist-x64/lib /home/kou/work/c/groonga.clean/packages/windows/dist-x64/lib/libgroonga.la /home/kou/work/c/groonga.clean/packages/windows/dist-x64/lib/libmsgpack.la /home/kou/work/c/groonga.clean/packages/windows/dist-x64/lib/libonig.la -llz4 -lz -lws2_32'
20
+ dependency_libs=' -L/home/kenhys/work/groonga/groonga.clean/packages/windows/dist-x64/lib /home/kenhys/work/groonga/groonga.clean/packages/windows/dist-x64/lib/libgroonga.la /home/kenhys/work/groonga/groonga.clean/packages/windows/dist-x64/lib/libmsgpack.la /home/kenhys/work/groonga/groonga.clean/packages/windows/dist-x64/lib/libonig.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='/home/kou/work/c/groonga.clean/packages/windows/dist-x64/lib/groonga/plugins/query_expanders'
41
+ libdir='/home/kenhys/work/groonga/groonga.clean/packages/windows/dist-x64/lib/groonga/plugins/query_expanders'
@@ -1,5 +1,5 @@
1
1
  # eval.la - a libtool library file
2
- # Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.10
2
+ # Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.11
3
3
  #
4
4
  # Please DO NOT delete this file!
5
5
  # It is necessary for linking the library.
@@ -17,7 +17,7 @@ old_library='eval.a'
17
17
  inherited_linker_flags=''
18
18
 
19
19
  # Libraries that this one depends upon.
20
- dependency_libs=' -L/home/kou/work/c/groonga.clean/packages/windows/dist-x64/lib /home/kou/work/c/groonga.clean/packages/windows/dist-x64/lib/libgroonga.la /home/kou/work/c/groonga.clean/packages/windows/dist-x64/lib/libonig.la -llz4 -lz -lws2_32 /home/kou/work/c/groonga.clean/packages/windows/dist-x64/lib/libmsgpack.la'
20
+ dependency_libs=' -L/home/kenhys/work/groonga/groonga.clean/packages/windows/dist-x64/lib /home/kenhys/work/groonga/groonga.clean/packages/windows/dist-x64/lib/libgroonga.la /home/kenhys/work/groonga/groonga.clean/packages/windows/dist-x64/lib/libonig.la -llz4 -lz -lws2_32 /home/kenhys/work/groonga/groonga.clean/packages/windows/dist-x64/lib/libmsgpack.la'
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='/home/kou/work/c/groonga.clean/packages/windows/dist-x64/lib/groonga/plugins/ruby'
41
+ libdir='/home/kenhys/work/groonga/groonga.clean/packages/windows/dist-x64/lib/groonga/plugins/ruby'
@@ -1,5 +1,5 @@
1
1
  # load.la - a libtool library file
2
- # Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.10
2
+ # Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.11
3
3
  #
4
4
  # Please DO NOT delete this file!
5
5
  # It is necessary for linking the library.
@@ -17,7 +17,7 @@ old_library='load.a'
17
17
  inherited_linker_flags=''
18
18
 
19
19
  # Libraries that this one depends upon.
20
- dependency_libs=' -L/home/kou/work/c/groonga.clean/packages/windows/dist-x64/lib /home/kou/work/c/groonga.clean/packages/windows/dist-x64/lib/libgroonga.la /home/kou/work/c/groonga.clean/packages/windows/dist-x64/lib/libonig.la -llz4 -lz -lws2_32 /home/kou/work/c/groonga.clean/packages/windows/dist-x64/lib/libmsgpack.la'
20
+ dependency_libs=' -L/home/kenhys/work/groonga/groonga.clean/packages/windows/dist-x64/lib /home/kenhys/work/groonga/groonga.clean/packages/windows/dist-x64/lib/libgroonga.la /home/kenhys/work/groonga/groonga.clean/packages/windows/dist-x64/lib/libonig.la -llz4 -lz -lws2_32 /home/kenhys/work/groonga/groonga.clean/packages/windows/dist-x64/lib/libmsgpack.la'
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='/home/kou/work/c/groonga.clean/packages/windows/dist-x64/lib/groonga/plugins/ruby'
41
+ libdir='/home/kenhys/work/groonga/groonga.clean/packages/windows/dist-x64/lib/groonga/plugins/ruby'
@@ -0,0 +1,3 @@
1
+ require "sharding/logical_enumerator"
2
+ require "sharding/logical_count"
3
+ require "sharding/logical_range_filter"
@@ -0,0 +1,157 @@
1
+ module Groonga
2
+ module Sharding
3
+ class LogicalCountCommand < Command
4
+ register("logical_count",
5
+ [
6
+ "logical_table",
7
+ "shard_key",
8
+ "min",
9
+ "min_border",
10
+ "max",
11
+ "max_border",
12
+ "filter",
13
+ ])
14
+
15
+ def run_body(input)
16
+ enumerator = LogicalEnumerator.new("logical_count", input)
17
+ filter = input[:filter]
18
+
19
+ total = 0
20
+ enumerator.each do |table, shard_key, shard_range, cover_type|
21
+ total += count_n_records(table, filter,
22
+ shard_key, shard_range,
23
+ enumerator.target_range, cover_type)
24
+ end
25
+ writer.write(total)
26
+ end
27
+
28
+ private
29
+ def count_n_records(table, filter,
30
+ shard_key, shard_range,
31
+ target_range, cover_type)
32
+ if cover_type == :all
33
+ if filter.nil?
34
+ return table.size
35
+ else
36
+ return filtered_count_n_records(table, filter)
37
+ end
38
+ end
39
+
40
+ use_range_index = false
41
+ range_index = nil
42
+ if filter.nil?
43
+ index_info = shard_key.find_index(Operator::LESS)
44
+ if index_info
45
+ range_index = index_info.index
46
+ use_range_index = true
47
+ end
48
+ end
49
+
50
+ case cover_type
51
+ when :partial_min
52
+ if use_range_index
53
+ count_n_records_in_range(range_index,
54
+ target_range.min, target_range.min_border,
55
+ nil, nil)
56
+ else
57
+ filtered_count_n_records(table, filter) do |expression|
58
+ expression.append_object(shard_key, Operator::PUSH, 1)
59
+ expression.append_operator(Operator::GET_VALUE, 1)
60
+ expression.append_constant(target_range.min, Operator::PUSH, 1)
61
+ if target_range.min_border == :include
62
+ expression.append_operator(Operator::GREATER_EQUAL, 2)
63
+ else
64
+ expression.append_operator(Operator::GREATER, 2)
65
+ end
66
+ end
67
+ end
68
+ when :partial_max
69
+ if use_range_index
70
+ count_n_records_in_range(range_index,
71
+ nil, nil,
72
+ target_range.max, target_range.max_border)
73
+ else
74
+ filtered_count_n_records(table, filter) do |expression|
75
+ expression.append_object(shard_key, Operator::PUSH, 1)
76
+ expression.append_operator(Operator::GET_VALUE, 1)
77
+ expression.append_constant(target_range.max, Operator::PUSH, 1)
78
+ if target_range.max_border == :include
79
+ expression.append_operator(Operator::LESS_EQUAL, 2)
80
+ else
81
+ expression.append_operator(Operator::LESS, 2)
82
+ end
83
+ end
84
+ end
85
+ when :partial_min_and_max
86
+ if use_range_index
87
+ count_n_records_in_range(range_index,
88
+ target_range.min, target_range.min_border,
89
+ target_range.max, target_range.max_border)
90
+ else
91
+ filtered_count_n_records(table, filter) do |expression|
92
+ expression.append_object(context["between"], Operator::PUSH, 1)
93
+ expression.append_object(shard_key, Operator::PUSH, 1)
94
+ expression.append_operator(Operator::GET_VALUE, 1)
95
+ expression.append_constant(target_range.min, Operator::PUSH, 1)
96
+ expression.append_constant(target_range.min_border,
97
+ Operator::PUSH, 1)
98
+ expression.append_constant(target_range.max, Operator::PUSH, 1)
99
+ expression.append_constant(target_range.max_border,
100
+ Operator::PUSH, 1)
101
+ expression.append_operator(Operator::CALL, 5)
102
+ end
103
+ end
104
+ end
105
+ end
106
+
107
+ def filtered_count_n_records(table, filter)
108
+ expression = nil
109
+ filtered_table = nil
110
+
111
+ begin
112
+ expression = Expression.create(table)
113
+ if block_given?
114
+ yield(expression)
115
+ if filter
116
+ expression.parse(filter)
117
+ expression.append_operator(Operator::AND, 2)
118
+ end
119
+ else
120
+ expression.parse(filter)
121
+ end
122
+ filtered_table = table.select(expression)
123
+ filtered_table.size
124
+ ensure
125
+ filtered_table.close if filtered_table
126
+ expression.close if expression
127
+ end
128
+ end
129
+
130
+ def count_n_records_in_range(range_index,
131
+ min, min_border, max, max_border)
132
+ flags = TableCursorFlags::BY_KEY
133
+ case min_border
134
+ when :include
135
+ flags |= TableCursorFlags::GE
136
+ when :exclude
137
+ flags |= TableCursorFlags::GT
138
+ end
139
+ case max_border
140
+ when :include
141
+ flags |= TableCursorFlags::LE
142
+ when :exclude
143
+ flags |= TableCursorFlags::LT
144
+ end
145
+
146
+ TableCursor.open(range_index.table,
147
+ :min => min,
148
+ :max => max,
149
+ :flags => flags) do |table_cursor|
150
+ IndexCursor.open(table_cursor, range_index) do |index_cursor|
151
+ index_cursor.count
152
+ end
153
+ end
154
+ end
155
+ end
156
+ end
157
+ end
@@ -0,0 +1,170 @@
1
+ module Groonga
2
+ module Sharding
3
+ class LogicalEnumerator
4
+ attr_reader :target_range
5
+ def initialize(command_name, input)
6
+ @command_name = command_name
7
+ @input = input
8
+ initialize_parameters
9
+ end
10
+
11
+ def each
12
+ prefix = "#{@logical_table}_"
13
+ context = Context.instance
14
+ context.database.each_table(:prefix => prefix) do |table|
15
+ shard_range_raw = table.name[prefix.size..-1]
16
+
17
+ next unless /\A(\d{4})(\d{2})(\d{2})\z/ =~ shard_range_raw
18
+ shard_range = ShardRange.new($1.to_i, $2.to_i, $3.to_i)
19
+
20
+ physical_shard_key_name = "#{table.name}.#{@shard_key_name}"
21
+ shard_key = context[physical_shard_key_name]
22
+ if shard_key.nil?
23
+ message =
24
+ "[#{@command_name}] shard_key doesn't exist: " +
25
+ "<#{physical_shard_key_name}>"
26
+ raise InvalidArgument, message
27
+ end
28
+
29
+ cover_type = @target_range.cover_type(shard_range)
30
+ next if cover_type == :none
31
+
32
+ yield(table, shard_key, shard_range, cover_type)
33
+ end
34
+ end
35
+
36
+ private
37
+ def initialize_parameters
38
+ @logical_table = @input[:logical_table]
39
+ if @logical_table.nil?
40
+ raise InvalidArgument, "[#{@command_name}] logical_table is missing"
41
+ end
42
+
43
+ @shard_key_name = @input[:shard_key]
44
+ if @shard_key_name.nil?
45
+ raise InvalidArgument, "[#{@command_name}] shard_key is missing"
46
+ end
47
+
48
+ @target_range = TargetRange.new(@command_name, @input)
49
+ end
50
+
51
+ class ShardRange
52
+ attr_reader :year, :month, :day
53
+ def initialize(year, month, day)
54
+ @year = year
55
+ @month = month
56
+ @day = day
57
+ end
58
+ end
59
+
60
+ class TargetRange
61
+ attr_reader :min, :min_border
62
+ attr_reader :max, :max_border
63
+ def initialize(command_name, input)
64
+ @command_name = command_name
65
+ @input = input
66
+ @min = parse_value(:min)
67
+ @min_border = parse_border(:min_border)
68
+ @max = parse_value(:max)
69
+ @max_border = parse_border(:max_border)
70
+ end
71
+
72
+ def cover_type(shard_range)
73
+ return :all if @min.nil? and @max.nil?
74
+
75
+ if @min and @max
76
+ return :none unless in_min?(shard_range)
77
+ return :none unless in_max?(shard_range)
78
+ min_partial_p = in_min_partial?(shard_range)
79
+ max_partial_p = in_max_partial?(shard_range)
80
+ if min_partial_p and max_partial_p
81
+ :partial_min_and_max
82
+ elsif min_partial_p
83
+ :partial_min
84
+ elsif max_partial_p
85
+ :partial_max
86
+ else
87
+ :all
88
+ end
89
+ elsif @min
90
+ return :none unless in_min?(shard_range)
91
+ if in_min_partial?(shard_range)
92
+ :partial_min
93
+ else
94
+ :all
95
+ end
96
+ else
97
+ return :none unless in_max?(shard_range)
98
+ if in_max_partial?(shard_range)
99
+ :partial_max
100
+ else
101
+ :all
102
+ end
103
+ end
104
+ end
105
+
106
+ private
107
+ def parse_value(name)
108
+ value = @input[name]
109
+ return nil if value.nil?
110
+
111
+ Converter.convert(value, Time)
112
+ end
113
+
114
+ def parse_border(name)
115
+ border = @input[name]
116
+ return :include if border.nil?
117
+
118
+ case border
119
+ when "include"
120
+ :include
121
+ when "exclude"
122
+ :exclude
123
+ else
124
+ message =
125
+ "[#{@command_name}] #{name} must be \"include\" or \"exclude\": " +
126
+ "<#{border}>"
127
+ raise InvalidArgument, message
128
+ end
129
+ end
130
+
131
+ def in_min?(shard_range)
132
+ base_time = Time.local(shard_range.year,
133
+ shard_range.month,
134
+ shard_range.day + 1)
135
+ @min < base_time
136
+ end
137
+
138
+ def in_min_partial?(shard_range)
139
+ return false unless @min.year == shard_range.year
140
+ return false unless @min.month == shard_range.month
141
+ return false unless @min.day == shard_range.day
142
+
143
+ return true if @min_border == :exclude
144
+
145
+ @min.hour != 0 and
146
+ @min.min != 0 and
147
+ @min.sec != 0 and
148
+ @min.usec != 0
149
+ end
150
+
151
+ def in_max?(shard_range)
152
+ max_base_time = Time.local(shard_range.year,
153
+ shard_range.month,
154
+ shard_range.day)
155
+ if @max_border == :include
156
+ @max >= max_base_time
157
+ else
158
+ @max > max_base_time
159
+ end
160
+ end
161
+
162
+ def in_max_partial?(shard_range)
163
+ @max.year == shard_range.year and
164
+ @max.month == shard_range.month and
165
+ @max.day == shard_range.day
166
+ end
167
+ end
168
+ end
169
+ end
170
+ end