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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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