rroonga 1.2.7-x86-mingw32 → 1.3.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (548) hide show
  1. data/Gemfile +1 -0
  2. data/Rakefile +1 -0
  3. data/bin/grntest-log-analyze +123 -0
  4. data/bin/groonga-query-log-extract +117 -0
  5. data/ext/groonga/rb-grn-accessor.c +7 -5
  6. data/ext/groonga/rb-grn-array-cursor.c +1 -1
  7. data/ext/groonga/rb-grn-array.c +34 -44
  8. data/ext/groonga/rb-grn-column.c +74 -38
  9. data/ext/groonga/rb-grn-context.c +41 -16
  10. data/ext/groonga/rb-grn-database.c +50 -43
  11. data/ext/groonga/rb-grn-double-array-trie-cursor.c +40 -0
  12. data/ext/groonga/rb-grn-double-array-trie.c +530 -0
  13. data/ext/groonga/rb-grn-encoding-support.c +1 -1
  14. data/ext/groonga/rb-grn-encoding.c +1 -1
  15. data/ext/groonga/rb-grn-exception.c +1 -1
  16. data/ext/groonga/rb-grn-expression-builder.c +1 -1
  17. data/ext/groonga/rb-grn-expression.c +63 -51
  18. data/ext/groonga/rb-grn-fix-size-column.c +7 -7
  19. data/ext/groonga/rb-grn-hash-cursor.c +1 -1
  20. data/ext/groonga/rb-grn-hash.c +42 -39
  21. data/ext/groonga/rb-grn-index-column.c +35 -31
  22. data/ext/groonga/rb-grn-index-cursor.c +1 -1
  23. data/ext/groonga/rb-grn-logger.c +23 -18
  24. data/ext/groonga/rb-grn-object.c +69 -40
  25. data/ext/groonga/rb-grn-operator.c +1 -1
  26. data/ext/groonga/rb-grn-patricia-trie-cursor.c +1 -1
  27. data/ext/groonga/rb-grn-patricia-trie.c +122 -90
  28. data/ext/groonga/rb-grn-plugin.c +8 -7
  29. data/ext/groonga/rb-grn-posting.c +1 -1
  30. data/ext/groonga/rb-grn-procedure.c +1 -1
  31. data/ext/groonga/rb-grn-query.c +12 -12
  32. data/ext/groonga/rb-grn-record.c +1 -1
  33. data/ext/groonga/rb-grn-snippet.c +26 -19
  34. data/ext/groonga/rb-grn-table-cursor-key-support.c +1 -1
  35. data/ext/groonga/rb-grn-table-cursor.c +4 -3
  36. data/ext/groonga/rb-grn-table-key-support.c +23 -23
  37. data/ext/groonga/rb-grn-table.c +280 -149
  38. data/ext/groonga/rb-grn-type.c +11 -7
  39. data/ext/groonga/rb-grn-utils.c +81 -9
  40. data/ext/groonga/rb-grn-variable-size-column.c +1 -1
  41. data/ext/groonga/rb-grn-variable.c +2 -2
  42. data/ext/groonga/rb-grn-view-accessor.c +1 -1
  43. data/ext/groonga/rb-grn-view-cursor.c +1 -1
  44. data/ext/groonga/rb-grn-view-record.c +1 -1
  45. data/ext/groonga/rb-grn-view.c +43 -34
  46. data/ext/groonga/rb-grn.h +10 -2
  47. data/ext/groonga/rb-groonga.c +1 -1
  48. data/lib/1.8/groonga.so +0 -0
  49. data/lib/1.9/groonga.so +0 -0
  50. data/lib/groonga/context.rb +16 -41
  51. data/lib/groonga/dumper.rb +41 -10
  52. data/lib/groonga/expression-builder-19.rb +40 -0
  53. data/lib/groonga/expression-builder.rb +56 -26
  54. data/lib/groonga/grntest-log.rb +206 -0
  55. data/lib/groonga/pagination.rb +21 -19
  56. data/lib/groonga/patricia-trie.rb +7 -10
  57. data/lib/groonga/posting.rb +1 -1
  58. data/lib/groonga/query-log.rb +348 -0
  59. data/lib/groonga/record.rb +47 -143
  60. data/lib/groonga/schema.rb +679 -406
  61. data/lib/groonga/view-record.rb +4 -10
  62. data/lib/groonga.rb +4 -2
  63. data/rroonga-build.rb +1 -1
  64. data/test/groonga-test-utils.rb +8 -0
  65. data/test/test-array.rb +25 -4
  66. data/test/test-column.rb +8 -8
  67. data/test/test-database.rb +2 -3
  68. data/test/test-double-array-trie.rb +164 -0
  69. data/test/test-expression-builder.rb +2 -2
  70. data/test/test-expression.rb +10 -9
  71. data/test/test-gqtp.rb +2 -2
  72. data/test/test-hash.rb +32 -8
  73. data/test/test-patricia-trie.rb +34 -10
  74. data/test/test-query-log.rb +258 -0
  75. data/test/test-record.rb +6 -5
  76. data/test/test-schema-create-table.rb +8 -0
  77. data/test/test-schema-dumper.rb +6 -0
  78. data/test/test-schema.rb +491 -234
  79. data/test/test-table-select.rb +9 -0
  80. data/test/test-table.rb +17 -24
  81. data/vendor/local/bin/grntest.exe +0 -0
  82. data/vendor/local/bin/groonga-query-log-analyzer +22 -17
  83. data/vendor/local/bin/groonga.exe +0 -0
  84. data/vendor/local/bin/libgroonga-0.dll +0 -0
  85. data/vendor/local/bin/libmecab-1.dll +0 -0
  86. data/vendor/local/bin/mecab-config +2 -2
  87. data/vendor/local/bin/mecab.exe +0 -0
  88. data/vendor/local/include/groonga/groonga.h +251 -5
  89. data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
  90. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
  91. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
  92. data/vendor/local/lib/groonga/plugins/suggest/suggest.la +2 -2
  93. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
  94. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
  95. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
  96. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +2 -2
  97. data/vendor/local/lib/libgroonga.a +0 -0
  98. data/vendor/local/lib/libgroonga.dll.a +0 -0
  99. data/vendor/local/lib/libgroonga.la +1 -1
  100. data/vendor/local/lib/libmecab.a +0 -0
  101. data/vendor/local/lib/libmecab.dll.a +0 -0
  102. data/vendor/local/lib/libmecab.la +1 -1
  103. data/vendor/local/lib/pkgconfig/groonga.pc +3 -2
  104. data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
  105. data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
  106. data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
  107. data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
  108. data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
  109. data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
  110. data/vendor/local/share/doc/groonga/en/html/_images/geo-points.png +0 -0
  111. data/vendor/local/share/doc/groonga/en/html/_sources/characteristic.txt +32 -31
  112. data/vendor/local/share/doc/groonga/en/html/_sources/commands/select.txt +7 -1
  113. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/documentation/i18n.txt +6 -0
  114. data/vendor/local/share/doc/groonga/en/html/_sources/executables/grntest.txt +6 -6
  115. data/vendor/local/share/doc/groonga/en/html/_sources/geolocation_search.txt +52 -0
  116. data/vendor/local/share/doc/groonga/en/html/_sources/index.txt +1 -0
  117. data/vendor/local/share/doc/groonga/en/html/_sources/install.txt +31 -40
  118. data/vendor/local/share/doc/groonga/en/html/_sources/news/senna.txt +109 -0
  119. data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +118 -0
  120. data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial03.txt → en/html/_sources/tutorial/data.txt} +5 -5
  121. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/{tutorial05.txt → drilldown.txt} +8 -7
  122. data/vendor/local/share/doc/groonga/{source/tutorial/tutorial06.txt → en/html/_sources/tutorial/index.txt} +8 -8
  123. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/introduction.txt +297 -0
  124. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/{tutorial09.txt → lexicon.txt} +0 -0
  125. data/vendor/local/share/doc/groonga/{source/tutorial/tutorial07.txt → en/html/_sources/tutorial/match_columns.txt} +4 -4
  126. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/{tutorial10.txt → micro_blog.txt} +17 -17
  127. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/network.txt +103 -0
  128. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/{tutorial08.txt → patricia_trie.txt} +4 -4
  129. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/query_expansion.txt +57 -0
  130. data/vendor/local/share/doc/groonga/{source/tutorial/tutorial04.txt → en/html/_sources/tutorial/search.txt} +17 -12
  131. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial.txt +11 -2
  132. data/vendor/local/share/doc/groonga/en/html/_static/groonga.css +9 -0
  133. data/vendor/local/share/doc/groonga/en/html/characteristic.html +46 -46
  134. data/vendor/local/share/doc/groonga/en/html/command_version.html +30 -30
  135. data/vendor/local/share/doc/groonga/en/html/commands/cache_limit.html +34 -34
  136. data/vendor/local/share/doc/groonga/en/html/commands/check.html +34 -34
  137. data/vendor/local/share/doc/groonga/en/html/commands/clearlock.html +34 -34
  138. data/vendor/local/share/doc/groonga/en/html/commands/column_create.html +34 -34
  139. data/vendor/local/share/doc/groonga/en/html/commands/column_list.html +34 -34
  140. data/vendor/local/share/doc/groonga/en/html/commands/column_remove.html +34 -34
  141. data/vendor/local/share/doc/groonga/en/html/commands/define_selector.html +36 -36
  142. data/vendor/local/share/doc/groonga/en/html/commands/defrag.html +34 -34
  143. data/vendor/local/share/doc/groonga/en/html/commands/delete.html +34 -34
  144. data/vendor/local/share/doc/groonga/en/html/commands/dump.html +32 -32
  145. data/vendor/local/share/doc/groonga/en/html/commands/load.html +36 -36
  146. data/vendor/local/share/doc/groonga/en/html/commands/log_level.html +36 -36
  147. data/vendor/local/share/doc/groonga/en/html/commands/log_put.html +36 -36
  148. data/vendor/local/share/doc/groonga/en/html/commands/log_reopen.html +38 -38
  149. data/vendor/local/share/doc/groonga/en/html/commands/quit.html +32 -32
  150. data/vendor/local/share/doc/groonga/en/html/commands/select.html +44 -39
  151. data/vendor/local/share/doc/groonga/en/html/commands/shutdown.html +32 -32
  152. data/vendor/local/share/doc/groonga/en/html/commands/status.html +34 -34
  153. data/vendor/local/share/doc/groonga/en/html/commands/suggest.html +47 -47
  154. data/vendor/local/share/doc/groonga/en/html/commands/table_create.html +34 -34
  155. data/vendor/local/share/doc/groonga/en/html/commands/table_list.html +34 -34
  156. data/vendor/local/share/doc/groonga/en/html/commands/table_remove.html +34 -34
  157. data/vendor/local/share/doc/groonga/en/html/commands/view_add.html +34 -34
  158. data/vendor/local/share/doc/groonga/en/html/commands.html +41 -41
  159. data/vendor/local/share/doc/groonga/en/html/community.html +5 -5
  160. data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +7 -7
  161. data/vendor/local/share/doc/groonga/en/html/contribution/development/document.html +7 -7
  162. data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +7 -7
  163. data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +7 -7
  164. data/vendor/local/share/doc/groonga/en/html/contribution/development.html +8 -8
  165. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +7 -7
  166. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +13 -7
  167. data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +8 -8
  168. data/vendor/local/share/doc/groonga/en/html/contribution/report.html +12 -12
  169. data/vendor/local/share/doc/groonga/en/html/contribution.html +10 -10
  170. data/vendor/local/share/doc/groonga/en/html/executables/grnslap.html +32 -32
  171. data/vendor/local/share/doc/groonga/en/html/executables/grntest.html +55 -55
  172. data/vendor/local/share/doc/groonga/en/html/executables/groonga-http.html +30 -30
  173. data/vendor/local/share/doc/groonga/en/html/executables/groonga-suggest-create-dataset.html +36 -36
  174. data/vendor/local/share/doc/groonga/en/html/executables/groonga.html +36 -36
  175. data/vendor/local/share/doc/groonga/en/html/executables.html +22 -22
  176. data/vendor/local/share/doc/groonga/en/html/expr.html +26 -26
  177. data/vendor/local/share/doc/groonga/en/html/functions/edit_distance.html +32 -32
  178. data/vendor/local/share/doc/groonga/en/html/functions/geo_distance.html +32 -32
  179. data/vendor/local/share/doc/groonga/en/html/functions/geo_in_circle.html +32 -32
  180. data/vendor/local/share/doc/groonga/en/html/functions/geo_in_rectangle.html +32 -32
  181. data/vendor/local/share/doc/groonga/en/html/functions/now.html +30 -30
  182. data/vendor/local/share/doc/groonga/en/html/functions/rand.html +32 -32
  183. data/vendor/local/share/doc/groonga/en/html/functions.html +23 -23
  184. data/vendor/local/share/doc/groonga/en/html/genindex.html +17 -17
  185. data/vendor/local/share/doc/groonga/en/html/geolocation_search.html +176 -0
  186. data/vendor/local/share/doc/groonga/en/html/index.html +149 -138
  187. data/vendor/local/share/doc/groonga/en/html/install.html +57 -65
  188. data/vendor/local/share/doc/groonga/en/html/limitations.html +17 -17
  189. data/vendor/local/share/doc/groonga/en/html/log.html +26 -26
  190. data/vendor/local/share/doc/groonga/en/html/news/0.x.html +5 -5
  191. data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +5 -5
  192. data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +5 -5
  193. data/vendor/local/share/doc/groonga/en/html/news/senna.html +281 -0
  194. data/vendor/local/share/doc/groonga/en/html/news.html +219 -65
  195. data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
  196. data/vendor/local/share/doc/groonga/en/html/pseudo_column.html +22 -22
  197. data/vendor/local/share/doc/groonga/en/html/reference.html +69 -69
  198. data/vendor/local/share/doc/groonga/en/html/search.html +5 -5
  199. data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
  200. data/vendor/local/share/doc/groonga/en/html/spec/search.html +28 -28
  201. data/vendor/local/share/doc/groonga/en/html/spec.html +15 -15
  202. data/vendor/local/share/doc/groonga/en/html/suggest/completion.html +7 -7
  203. data/vendor/local/share/doc/groonga/en/html/suggest/correction.html +7 -7
  204. data/vendor/local/share/doc/groonga/en/html/suggest/introduction.html +5 -5
  205. data/vendor/local/share/doc/groonga/en/html/suggest/suggestion.html +12 -12
  206. data/vendor/local/share/doc/groonga/en/html/suggest/tutorial.html +5 -5
  207. data/vendor/local/share/doc/groonga/en/html/suggest.html +10 -10
  208. data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +26 -26
  209. data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +19 -19
  210. data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial03.html → data.html} +32 -32
  211. data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial05.html → drilldown.html} +31 -31
  212. data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial06.html → index.html} +44 -44
  213. data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +438 -0
  214. data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial09.html → lexicon.html} +16 -16
  215. data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial07.html → match_columns.html} +39 -39
  216. data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial10.html → micro_blog.html} +43 -43
  217. data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +236 -0
  218. data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial08.html → patricia_trie.html} +27 -27
  219. data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +197 -0
  220. data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial04.html → search.html} +41 -35
  221. data/vendor/local/share/doc/groonga/en/html/tutorial.html +60 -55
  222. data/vendor/local/share/doc/groonga/en/html/type.html +30 -30
  223. data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
  224. data/vendor/local/share/doc/groonga/ja/html/_images/geo-points.png +0 -0
  225. data/vendor/local/share/doc/groonga/ja/html/_sources/characteristic.txt +32 -31
  226. data/vendor/local/share/doc/groonga/ja/html/_sources/commands/select.txt +7 -1
  227. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/documentation/i18n.txt +6 -0
  228. data/vendor/local/share/doc/groonga/ja/html/_sources/executables/grntest.txt +6 -6
  229. data/vendor/local/share/doc/groonga/ja/html/_sources/geolocation_search.txt +52 -0
  230. data/vendor/local/share/doc/groonga/ja/html/_sources/index.txt +1 -0
  231. data/vendor/local/share/doc/groonga/ja/html/_sources/install.txt +31 -40
  232. data/vendor/local/share/doc/groonga/ja/html/_sources/news/senna.txt +109 -0
  233. data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +118 -0
  234. data/vendor/local/share/doc/groonga/{en/html/_sources/tutorial/tutorial03.txt → ja/html/_sources/tutorial/data.txt} +5 -5
  235. data/vendor/local/share/doc/groonga/{source/tutorial/tutorial05.txt → ja/html/_sources/tutorial/drilldown.txt} +8 -7
  236. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/{tutorial06.txt → index.txt} +8 -8
  237. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/introduction.txt +297 -0
  238. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/{tutorial09.txt → lexicon.txt} +0 -0
  239. data/vendor/local/share/doc/groonga/{en/html/_sources/tutorial/tutorial07.txt → ja/html/_sources/tutorial/match_columns.txt} +4 -4
  240. data/vendor/local/share/doc/groonga/{source/tutorial/tutorial10.txt → ja/html/_sources/tutorial/micro_blog.txt} +17 -17
  241. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/network.txt +103 -0
  242. data/vendor/local/share/doc/groonga/{source/tutorial/tutorial08.txt → ja/html/_sources/tutorial/patricia_trie.txt} +4 -4
  243. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/query_expansion.txt +57 -0
  244. data/vendor/local/share/doc/groonga/{en/html/_sources/tutorial/tutorial04.txt → ja/html/_sources/tutorial/search.txt} +17 -12
  245. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial.txt +11 -2
  246. data/vendor/local/share/doc/groonga/ja/html/_static/groonga.css +9 -0
  247. data/vendor/local/share/doc/groonga/ja/html/characteristic.html +32 -32
  248. data/vendor/local/share/doc/groonga/ja/html/command_version.html +30 -30
  249. data/vendor/local/share/doc/groonga/ja/html/commands/cache_limit.html +34 -34
  250. data/vendor/local/share/doc/groonga/ja/html/commands/check.html +34 -34
  251. data/vendor/local/share/doc/groonga/ja/html/commands/clearlock.html +34 -34
  252. data/vendor/local/share/doc/groonga/ja/html/commands/column_create.html +34 -34
  253. data/vendor/local/share/doc/groonga/ja/html/commands/column_list.html +34 -34
  254. data/vendor/local/share/doc/groonga/ja/html/commands/column_remove.html +34 -34
  255. data/vendor/local/share/doc/groonga/ja/html/commands/define_selector.html +36 -36
  256. data/vendor/local/share/doc/groonga/ja/html/commands/defrag.html +34 -34
  257. data/vendor/local/share/doc/groonga/ja/html/commands/delete.html +34 -34
  258. data/vendor/local/share/doc/groonga/ja/html/commands/dump.html +32 -32
  259. data/vendor/local/share/doc/groonga/ja/html/commands/load.html +36 -36
  260. data/vendor/local/share/doc/groonga/ja/html/commands/log_level.html +36 -36
  261. data/vendor/local/share/doc/groonga/ja/html/commands/log_put.html +36 -36
  262. data/vendor/local/share/doc/groonga/ja/html/commands/log_reopen.html +38 -38
  263. data/vendor/local/share/doc/groonga/ja/html/commands/quit.html +32 -32
  264. data/vendor/local/share/doc/groonga/ja/html/commands/select.html +44 -39
  265. data/vendor/local/share/doc/groonga/ja/html/commands/shutdown.html +32 -32
  266. data/vendor/local/share/doc/groonga/ja/html/commands/status.html +34 -34
  267. data/vendor/local/share/doc/groonga/ja/html/commands/suggest.html +47 -47
  268. data/vendor/local/share/doc/groonga/ja/html/commands/table_create.html +34 -34
  269. data/vendor/local/share/doc/groonga/ja/html/commands/table_list.html +34 -34
  270. data/vendor/local/share/doc/groonga/ja/html/commands/table_remove.html +34 -34
  271. data/vendor/local/share/doc/groonga/ja/html/commands/view_add.html +34 -34
  272. data/vendor/local/share/doc/groonga/ja/html/commands.html +41 -41
  273. data/vendor/local/share/doc/groonga/ja/html/community.html +5 -5
  274. data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +7 -7
  275. data/vendor/local/share/doc/groonga/ja/html/contribution/development/document.html +7 -7
  276. data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +7 -7
  277. data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +7 -7
  278. data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +8 -8
  279. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +7 -7
  280. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +13 -8
  281. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +8 -8
  282. data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +12 -12
  283. data/vendor/local/share/doc/groonga/ja/html/contribution.html +10 -10
  284. data/vendor/local/share/doc/groonga/ja/html/executables/grnslap.html +32 -32
  285. data/vendor/local/share/doc/groonga/ja/html/executables/grntest.html +55 -55
  286. data/vendor/local/share/doc/groonga/ja/html/executables/groonga-http.html +30 -30
  287. data/vendor/local/share/doc/groonga/ja/html/executables/groonga-suggest-create-dataset.html +36 -36
  288. data/vendor/local/share/doc/groonga/ja/html/executables/groonga.html +36 -36
  289. data/vendor/local/share/doc/groonga/ja/html/executables.html +22 -22
  290. data/vendor/local/share/doc/groonga/ja/html/expr.html +26 -26
  291. data/vendor/local/share/doc/groonga/ja/html/functions/edit_distance.html +32 -32
  292. data/vendor/local/share/doc/groonga/ja/html/functions/geo_distance.html +32 -32
  293. data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_circle.html +32 -32
  294. data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_rectangle.html +32 -32
  295. data/vendor/local/share/doc/groonga/ja/html/functions/now.html +30 -30
  296. data/vendor/local/share/doc/groonga/ja/html/functions/rand.html +32 -32
  297. data/vendor/local/share/doc/groonga/ja/html/functions.html +23 -23
  298. data/vendor/local/share/doc/groonga/ja/html/genindex.html +17 -17
  299. data/vendor/local/share/doc/groonga/ja/html/geolocation_search.html +165 -0
  300. data/vendor/local/share/doc/groonga/ja/html/index.html +144 -133
  301. data/vendor/local/share/doc/groonga/ja/html/install.html +52 -65
  302. data/vendor/local/share/doc/groonga/ja/html/limitations.html +17 -17
  303. data/vendor/local/share/doc/groonga/ja/html/log.html +26 -26
  304. data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +5 -5
  305. data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +5 -5
  306. data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +5 -5
  307. data/vendor/local/share/doc/groonga/ja/html/news/senna.html +282 -0
  308. data/vendor/local/share/doc/groonga/ja/html/news.html +203 -63
  309. data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
  310. data/vendor/local/share/doc/groonga/ja/html/pseudo_column.html +22 -22
  311. data/vendor/local/share/doc/groonga/ja/html/reference.html +69 -69
  312. data/vendor/local/share/doc/groonga/ja/html/search.html +5 -5
  313. data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
  314. data/vendor/local/share/doc/groonga/ja/html/spec/search.html +28 -28
  315. data/vendor/local/share/doc/groonga/ja/html/spec.html +15 -15
  316. data/vendor/local/share/doc/groonga/ja/html/suggest/completion.html +7 -7
  317. data/vendor/local/share/doc/groonga/ja/html/suggest/correction.html +7 -7
  318. data/vendor/local/share/doc/groonga/ja/html/suggest/introduction.html +5 -5
  319. data/vendor/local/share/doc/groonga/ja/html/suggest/suggestion.html +12 -12
  320. data/vendor/local/share/doc/groonga/ja/html/suggest/tutorial.html +5 -5
  321. data/vendor/local/share/doc/groonga/ja/html/suggest.html +10 -10
  322. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +26 -26
  323. data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +19 -19
  324. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial03.html → data.html} +31 -31
  325. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial05.html → drilldown.html} +31 -31
  326. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial06.html → index.html} +44 -44
  327. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial01.html → introduction.html} +140 -129
  328. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial09.html → lexicon.html} +16 -16
  329. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial07.html → match_columns.html} +39 -39
  330. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial10.html → micro_blog.html} +43 -43
  331. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial02.html → network.html} +56 -58
  332. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial08.html → patricia_trie.html} +27 -27
  333. data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +198 -0
  334. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial04.html → search.html} +41 -35
  335. data/vendor/local/share/doc/groonga/ja/html/tutorial.html +59 -54
  336. data/vendor/local/share/doc/groonga/ja/html/type.html +30 -30
  337. data/vendor/local/share/doc/groonga/source/characteristic.txt +32 -31
  338. data/vendor/local/share/doc/groonga/source/commands/select.txt +7 -1
  339. data/vendor/local/share/doc/groonga/source/commands/suggest-completion.log +5 -0
  340. data/vendor/local/share/doc/groonga/source/commands/suggest-correction.log +5 -0
  341. data/vendor/local/share/doc/groonga/source/commands/suggest-learn-completion.log +13 -0
  342. data/vendor/local/share/doc/groonga/source/commands/suggest-learn-correction.log +15 -0
  343. data/vendor/local/share/doc/groonga/source/commands/suggest-learn-suggestion.log +9 -0
  344. data/vendor/local/share/doc/groonga/source/commands/suggest-mixed.log +5 -0
  345. data/vendor/local/share/doc/groonga/source/commands/suggest-suggestion.log +5 -0
  346. data/vendor/local/share/doc/groonga/source/conf.py +1 -1
  347. data/vendor/local/share/doc/groonga/source/contribution/documentation/i18n.txt +6 -0
  348. data/vendor/local/share/doc/groonga/source/example/completion-1.log +2 -2
  349. data/vendor/local/share/doc/groonga/source/example/correction-1.log +2 -2
  350. data/vendor/local/share/doc/groonga/source/example/suggestion-1.log +2 -2
  351. data/vendor/local/share/doc/groonga/source/example/{tutorial03-1.log → tutorial/data-1.log} +0 -0
  352. data/vendor/local/share/doc/groonga/source/example/{tutorial03-2.log → tutorial/data-2.log} +0 -0
  353. data/vendor/local/share/doc/groonga/source/example/{tutorial03-3.log → tutorial/data-3.log} +0 -0
  354. data/vendor/local/share/doc/groonga/source/example/{tutorial05-1.log → tutorial/drilldown-1.log} +6 -6
  355. data/vendor/local/share/doc/groonga/source/example/tutorial/drilldown-2.log +5 -0
  356. data/vendor/local/share/doc/groonga/source/example/{tutorial05-3.log → tutorial/drilldown-3.log} +2 -2
  357. data/vendor/local/share/doc/groonga/source/example/tutorial/drilldown-4.log +5 -0
  358. data/vendor/local/share/doc/groonga/source/example/{tutorial05-5.log → tutorial/drilldown-5.log} +2 -2
  359. data/vendor/local/share/doc/groonga/source/example/{tutorial05-6.log → tutorial/drilldown-6.log} +2 -2
  360. data/vendor/local/share/doc/groonga/source/example/tutorial/index-1.log +25 -0
  361. data/vendor/local/share/doc/groonga/source/example/{tutorial06-2.log → tutorial/index-2.log} +4 -4
  362. data/vendor/local/share/doc/groonga/source/example/tutorial/index-3.log +21 -0
  363. data/vendor/local/share/doc/groonga/source/example/{tutorial06-4.log → tutorial/index-4.log} +3 -3
  364. data/vendor/local/share/doc/groonga/source/example/{tutorial06-5.log → tutorial/index-5.log} +2 -2
  365. data/vendor/local/share/doc/groonga/source/example/{tutorial06-6.log → tutorial/index-6.log} +5 -5
  366. data/vendor/local/share/doc/groonga/source/example/{tutorial06-7.log → tutorial/index-7.log} +2 -2
  367. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-1.log +18 -0
  368. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-10.log +5 -0
  369. data/vendor/local/share/doc/groonga/source/example/{tutorial01-11.log → tutorial/introduction-11.log} +2 -2
  370. data/vendor/local/share/doc/groonga/source/example/{tutorial01-12.log → tutorial/introduction-12.log} +2 -2
  371. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-13.log +5 -0
  372. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-14.log +9 -0
  373. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-15.log +5 -0
  374. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-16.log +5 -0
  375. data/vendor/local/share/doc/groonga/source/example/{tutorial01-17.log → tutorial/introduction-17.log} +2 -2
  376. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-2.log +10 -0
  377. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-3.log +10 -0
  378. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-4.log +7 -0
  379. data/vendor/local/share/doc/groonga/source/example/{tutorial01-5.log → tutorial/introduction-5.log} +2 -2
  380. data/vendor/local/share/doc/groonga/source/example/{tutorial01-6.log → tutorial/introduction-6.log} +2 -2
  381. data/vendor/local/share/doc/groonga/source/example/{tutorial01-7.log → tutorial/introduction-7.log} +2 -2
  382. data/vendor/local/share/doc/groonga/source/example/{tutorial01-8.log → tutorial/introduction-8.log} +2 -2
  383. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-9.log +5 -0
  384. data/vendor/local/share/doc/groonga/source/example/{tutorial07-1.log → tutorial/match_columns-1.log} +8 -8
  385. data/vendor/local/share/doc/groonga/source/example/{tutorial07-2.log → tutorial/match_columns-2.log} +4 -4
  386. data/vendor/local/share/doc/groonga/source/example/{tutorial07-3.log → tutorial/match_columns-3.log} +7 -7
  387. data/vendor/local/share/doc/groonga/source/example/{tutorial07-4.log → tutorial/match_columns-4.log} +4 -4
  388. data/vendor/local/share/doc/groonga/source/example/{tutorial10-1.log → tutorial/micro_blog-1.log} +2 -2
  389. data/vendor/local/share/doc/groonga/source/example/{tutorial10-10.log → tutorial/micro_blog-10.log} +2 -2
  390. data/vendor/local/share/doc/groonga/source/example/{tutorial10-2.log → tutorial/micro_blog-2.log} +2 -2
  391. data/vendor/local/share/doc/groonga/source/example/{tutorial10-3.log → tutorial/micro_blog-3.log} +2 -2
  392. data/vendor/local/share/doc/groonga/source/example/{tutorial10-4.log → tutorial/micro_blog-4.log} +2 -2
  393. data/vendor/local/share/doc/groonga/source/example/{tutorial10-5.log → tutorial/micro_blog-5.log} +2 -2
  394. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-6.log +5 -0
  395. data/vendor/local/share/doc/groonga/source/example/{tutorial10-7.log → tutorial/micro_blog-7.log} +2 -2
  396. data/vendor/local/share/doc/groonga/source/example/{tutorial10-8.log → tutorial/micro_blog-8.log} +2 -2
  397. data/vendor/local/share/doc/groonga/source/example/{tutorial10-9.log → tutorial/micro_blog-9.log} +2 -2
  398. data/vendor/local/share/doc/groonga/source/example/tutorial/network-1.log +8 -0
  399. data/vendor/local/share/doc/groonga/source/example/{tutorial02-2.log → tutorial/network-2.log} +1 -1
  400. data/vendor/local/share/doc/groonga/source/example/{tutorial02-3.log → tutorial/network-3.log} +3 -3
  401. data/vendor/local/share/doc/groonga/source/example/{tutorial08-1.log → tutorial/patricia_trie-1.log} +4 -4
  402. data/vendor/local/share/doc/groonga/source/example/{tutorial08-2.log → tutorial/patricia_trie-2.log} +6 -6
  403. data/vendor/local/share/doc/groonga/source/example/tutorial/query_expansion-1.log +27 -0
  404. data/vendor/local/share/doc/groonga/source/example/tutorial/query_expansion-2.log +7 -0
  405. data/vendor/local/share/doc/groonga/source/example/tutorial/query_expansion-3.log +7 -0
  406. data/vendor/local/share/doc/groonga/source/example/{tutorial04-1.log → tutorial/search-1.log} +2 -2
  407. data/vendor/local/share/doc/groonga/source/example/tutorial/search-2.log +7 -0
  408. data/vendor/local/share/doc/groonga/source/example/tutorial/search-3.log +7 -0
  409. data/vendor/local/share/doc/groonga/source/example/{tutorial04-4.log → tutorial/search-4.log} +4 -4
  410. data/vendor/local/share/doc/groonga/source/example/{tutorial04-5.log → tutorial/search-5.log} +2 -2
  411. data/vendor/local/share/doc/groonga/source/example/tutorial/search-6.log +5 -0
  412. data/vendor/local/share/doc/groonga/source/example/{tutorial04-7.log → tutorial/search-7.log} +2 -2
  413. data/vendor/local/share/doc/groonga/source/executables/grntest.txt +6 -6
  414. data/vendor/local/share/doc/groonga/source/geolocation_search.txt +52 -0
  415. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/array.png +0 -0
  416. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/array.svg +188 -0
  417. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/columns.png +0 -0
  418. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/columns.svg +501 -0
  419. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/hash-table.png +0 -0
  420. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/hash-table.svg +275 -0
  421. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/index-column.png +0 -0
  422. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/index-column.svg +899 -0
  423. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/inverted-index.png +0 -0
  424. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/inverted-index.svg +249 -0
  425. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/patricia-trie.png +0 -0
  426. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/patricia-trie.svg +275 -0
  427. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/prefix-search.png +0 -0
  428. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/prefix-search.svg +743 -0
  429. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/record-id.png +0 -0
  430. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/record-id.svg +261 -0
  431. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/record.png +0 -0
  432. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/record.svg +228 -0
  433. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/scalar-column.png +0 -0
  434. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/scalar-column.svg +241 -0
  435. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram-index-column-value.png +0 -0
  436. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram-index-column-value.svg +879 -0
  437. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram-token-id.png +0 -0
  438. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram-token-id.svg +879 -0
  439. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram.png +0 -0
  440. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram.svg +879 -0
  441. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-choose-tokenizer.png +0 -0
  442. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-choose-tokenizer.svg +602 -0
  443. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-first-index-column-value.png +0 -0
  444. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-first-index-column-value.svg +600 -0
  445. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-first-token-id.png +0 -0
  446. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-first-token-id.svg +600 -0
  447. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-initial-state.png +0 -0
  448. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-initial-state.svg +600 -0
  449. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-on-key-table.png +0 -0
  450. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-on-key-table.svg +917 -0
  451. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-result.png +0 -0
  452. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-result.svg +600 -0
  453. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-second-index-column-value.png +0 -0
  454. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-second-index-column-value.svg +600 -0
  455. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-second-token-id.png +0 -0
  456. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-second-token-id.svg +600 -0
  457. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/tokenizer.png +0 -0
  458. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/tokenizer.svg +561 -0
  459. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-initial.png +0 -0
  460. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-initial.svg +389 -0
  461. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-first-data-first-token.png +0 -0
  462. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-first-data-first-token.svg +469 -0
  463. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-first-data-second-token.png +0 -0
  464. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-first-data-second-token.svg +514 -0
  465. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-second-data-first-token.png +0 -0
  466. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-second-data-first-token.svg +595 -0
  467. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-second-data-second-token.png +0 -0
  468. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-second-data-second-token.svg +600 -0
  469. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-save-first-data.png +0 -0
  470. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-save-first-data.svg +424 -0
  471. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-save-second-data.png +0 -0
  472. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-save-second-data.svg +549 -0
  473. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/vector-column.png +0 -0
  474. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/vector-column.svg +241 -0
  475. data/vendor/local/share/doc/groonga/source/images/geo-encode-leading-2bit.png +0 -0
  476. data/vendor/local/share/doc/groonga/source/images/geo-encode-leading-2bit.svg +203 -0
  477. data/vendor/local/share/doc/groonga/source/images/geo-encode-leading-4bit.png +0 -0
  478. data/vendor/local/share/doc/groonga/source/images/geo-encode-leading-4bit.svg +264 -0
  479. data/vendor/local/share/doc/groonga/source/images/geo-in-rectangle.png +0 -0
  480. data/vendor/local/share/doc/groonga/source/images/geo-points-distance.png +0 -0
  481. data/vendor/local/share/doc/groonga/source/images/geo-points-distance.svg +317 -0
  482. data/vendor/local/share/doc/groonga/source/images/geo-points-in-circle.png +0 -0
  483. data/vendor/local/share/doc/groonga/source/images/geo-points-in-circle.svg +306 -0
  484. data/vendor/local/share/doc/groonga/source/images/geo-points-in-rectangle.png +0 -0
  485. data/vendor/local/share/doc/groonga/source/images/geo-points-in-rectangle.svg +304 -0
  486. data/vendor/local/share/doc/groonga/source/images/geo-points-sort.png +0 -0
  487. data/vendor/local/share/doc/groonga/source/images/geo-points-sort.svg +383 -0
  488. data/vendor/local/share/doc/groonga/source/images/geo-points.png +0 -0
  489. data/vendor/local/share/doc/groonga/source/images/geo-points.svg +296 -0
  490. data/vendor/local/share/doc/groonga/source/images/geo-search-in-circle.png +0 -0
  491. data/vendor/local/share/doc/groonga/source/images/geo-search-in-circle.svg +287 -0
  492. data/vendor/local/share/doc/groonga/source/images/geo-search-in-rectangle.png +0 -0
  493. data/vendor/local/share/doc/groonga/source/images/geo-search-in-rectangle.svg +174 -0
  494. data/vendor/local/share/doc/groonga/source/index.txt +1 -0
  495. data/vendor/local/share/doc/groonga/source/install.txt +31 -40
  496. data/vendor/local/share/doc/groonga/source/news/senna.txt +109 -0
  497. data/vendor/local/share/doc/groonga/source/news.txt +118 -0
  498. data/vendor/local/share/doc/groonga/source/tutorial/{tutorial03.txt → data.txt} +5 -5
  499. data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial05.txt → source/tutorial/drilldown.txt} +8 -7
  500. data/vendor/local/share/doc/groonga/{en/html/_sources/tutorial/tutorial06.txt → source/tutorial/index.txt} +8 -8
  501. data/vendor/local/share/doc/groonga/source/tutorial/introduction.txt +297 -0
  502. data/vendor/local/share/doc/groonga/source/tutorial/{tutorial09.txt → lexicon.txt} +0 -0
  503. data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial07.txt → source/tutorial/match_columns.txt} +4 -4
  504. data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial10.txt → source/tutorial/micro_blog.txt} +17 -17
  505. data/vendor/local/share/doc/groonga/source/tutorial/network.txt +103 -0
  506. data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial08.txt → source/tutorial/patricia_trie.txt} +4 -4
  507. data/vendor/local/share/doc/groonga/source/tutorial/query_expansion.txt +57 -0
  508. data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial04.txt → source/tutorial/search.txt} +17 -12
  509. data/vendor/local/share/doc/groonga/source/tutorial.txt +11 -2
  510. data/vendor/local/share/man/ja/man1/groonga.1 +449 -772
  511. data/vendor/local/share/man/man1/groonga.1 +591 -875
  512. metadata +232 -124
  513. data/vendor/local/etc/groonga/init.d/redhat/groonga +0 -160
  514. data/vendor/local/etc/groonga/init.d/redhat/sysconfig/groonga +0 -8
  515. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/tutorial01.txt +0 -296
  516. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/tutorial02.txt +0 -102
  517. data/vendor/local/share/doc/groonga/en/html/tutorial/tutorial01.html +0 -409
  518. data/vendor/local/share/doc/groonga/en/html/tutorial/tutorial02.html +0 -235
  519. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/tutorial01.txt +0 -296
  520. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/tutorial02.txt +0 -102
  521. data/vendor/local/share/doc/groonga/source/example/tutorial01-1.log +0 -6
  522. data/vendor/local/share/doc/groonga/source/example/tutorial01-10.log +0 -5
  523. data/vendor/local/share/doc/groonga/source/example/tutorial01-13.log +0 -5
  524. data/vendor/local/share/doc/groonga/source/example/tutorial01-14.log +0 -9
  525. data/vendor/local/share/doc/groonga/source/example/tutorial01-15.log +0 -5
  526. data/vendor/local/share/doc/groonga/source/example/tutorial01-16.log +0 -5
  527. data/vendor/local/share/doc/groonga/source/example/tutorial01-2.log +0 -5
  528. data/vendor/local/share/doc/groonga/source/example/tutorial01-3.log +0 -5
  529. data/vendor/local/share/doc/groonga/source/example/tutorial01-4.log +0 -7
  530. data/vendor/local/share/doc/groonga/source/example/tutorial01-9.log +0 -5
  531. data/vendor/local/share/doc/groonga/source/example/tutorial02-1.log +0 -8
  532. data/vendor/local/share/doc/groonga/source/example/tutorial04-2.log +0 -7
  533. data/vendor/local/share/doc/groonga/source/example/tutorial04-3.log +0 -7
  534. data/vendor/local/share/doc/groonga/source/example/tutorial04-6.log +0 -5
  535. data/vendor/local/share/doc/groonga/source/example/tutorial05-2.log +0 -5
  536. data/vendor/local/share/doc/groonga/source/example/tutorial05-4.log +0 -5
  537. data/vendor/local/share/doc/groonga/source/example/tutorial06-1.log +0 -25
  538. data/vendor/local/share/doc/groonga/source/example/tutorial06-3.log +0 -21
  539. data/vendor/local/share/doc/groonga/source/example/tutorial10-6.log +0 -5
  540. data/vendor/local/share/doc/groonga/source/tutorial/tutorial01.txt +0 -296
  541. data/vendor/local/share/doc/groonga/source/tutorial/tutorial02.txt +0 -102
  542. data/vendor/local/share/groonga/munin/plugins/groonga_cpu_load +0 -47
  543. data/vendor/local/share/groonga/munin/plugins/groonga_cpu_time +0 -57
  544. data/vendor/local/share/groonga/munin/plugins/groonga_disk +0 -162
  545. data/vendor/local/share/groonga/munin/plugins/groonga_memory +0 -51
  546. data/vendor/local/share/groonga/munin/plugins/groonga_n_records +0 -110
  547. data/vendor/local/share/groonga/munin/plugins/groonga_query_performance +0 -133
  548. data/vendor/local/share/groonga/munin/plugins/groonga_status +0 -84
@@ -1,4 +1,4 @@
1
- /* -*- c-file-style: "ruby" -*- */
1
+ /* -*- coding: utf-8; c-file-style: "ruby" -*- */
2
2
  /*
3
3
  Copyright (C) 2009-2011 Kouhei Sutou <kou@clear-code.com>
4
4
 
@@ -88,9 +88,10 @@ rb_grn_object_run_finalizer (grn_ctx *context, grn_obj *grn_object,
88
88
 
89
89
  grn_obj_set_finalizer(context, grn_object, NULL);
90
90
 
91
- debug("finalize: %p:%p:%p:%p:%p 0x%x\n",
91
+ debug("finalize: %p:%p:%p:%p:%p %s(%#x)\n",
92
92
  context, grn_object, rb_grn_object,
93
93
  rb_grn_object->context, rb_grn_object->object,
94
+ rb_grn_inspect_type(grn_object->header.type),
94
95
  grn_object->header.type);
95
96
 
96
97
  rb_grn_object->context = NULL;
@@ -99,15 +100,21 @@ rb_grn_object_run_finalizer (grn_ctx *context, grn_obj *grn_object,
99
100
 
100
101
  switch (grn_object->header.type) {
101
102
  case GRN_DB:
103
+ if (!(context->flags & GRN_CTX_PER_DB)) {
104
+ grn_ctx_use(context, NULL);
105
+ }
106
+ break;
102
107
  case GRN_TYPE:
103
108
  case GRN_PROC:
104
109
  case GRN_CURSOR_TABLE_HASH_KEY:
105
110
  case GRN_CURSOR_TABLE_PAT_KEY:
111
+ case GRN_CURSOR_TABLE_DAT_KEY:
106
112
  case GRN_CURSOR_TABLE_NO_KEY:
107
113
  case GRN_CURSOR_TABLE_VIEW:
108
114
  break;
109
115
  case GRN_TABLE_HASH_KEY:
110
116
  case GRN_TABLE_PAT_KEY:
117
+ case GRN_TABLE_DAT_KEY:
111
118
  rb_grn_table_key_support_finalizer(context, grn_object,
112
119
  RB_GRN_TABLE_KEY_SUPPORT(rb_grn_object));
113
120
  break;
@@ -137,7 +144,8 @@ rb_grn_object_run_finalizer (grn_ctx *context, grn_obj *grn_object,
137
144
  break;
138
145
  default:
139
146
  rb_raise(rb_eTypeError,
140
- "unsupported groonga object type for finalizer: 0x%x",
147
+ "unsupported groonga object type for finalizer: %s(%#x)",
148
+ rb_grn_inspect_type(grn_object->header.type),
141
149
  grn_object->header.type);
142
150
  break;
143
151
  }
@@ -178,7 +186,8 @@ rb_grn_object_free (RbGrnObject *rb_grn_object)
178
186
  if (rb_grn_object->have_finalizer) {
179
187
  user_data = grn_obj_user_data(context, grn_object);
180
188
  }
181
- debug("type: %#x; need_close: %d; user_data: %p; ptr: %p\n",
189
+ debug("type: %s(%#x); need_close: %d; user_data: %p; ptr: %p\n",
190
+ rb_grn_inspect_type(grn_object->header.type),
182
191
  grn_object->header.type,
183
192
  rb_grn_object->need_close,
184
193
  user_data,
@@ -212,6 +221,9 @@ rb_grn_object_to_ruby_class (grn_obj *object)
212
221
  case GRN_TABLE_PAT_KEY:
213
222
  klass = rb_cGrnPatriciaTrie;
214
223
  break;
224
+ case GRN_TABLE_DAT_KEY:
225
+ klass = rb_cGrnDoubleArrayTrie;
226
+ break;
215
227
  case GRN_TABLE_NO_KEY:
216
228
  klass = rb_cGrnArray;
217
229
  break;
@@ -248,6 +260,9 @@ rb_grn_object_to_ruby_class (grn_obj *object)
248
260
  case GRN_CURSOR_TABLE_PAT_KEY:
249
261
  klass = rb_cGrnPatriciaTrieCursor;
250
262
  break;
263
+ case GRN_CURSOR_TABLE_DAT_KEY:
264
+ klass = rb_cGrnDoubleArrayTrieCursor;
265
+ break;
251
266
  case GRN_CURSOR_TABLE_NO_KEY:
252
267
  klass = rb_cGrnArrayCursor;
253
268
  break;
@@ -313,23 +328,26 @@ rb_grn_object_bind_common (VALUE klass, VALUE self, VALUE rb_context,
313
328
 
314
329
  user_data = grn_obj_user_data(context, object);
315
330
  if (user_data) {
316
- debug("set-finalizer: %p:%p:%p %#x\n",
331
+ debug("set-finalizer: %p:%p:%p %s(%#x)\n",
317
332
  context, object, rb_grn_object,
333
+ rb_grn_inspect_type(object->header.type),
318
334
  object->header.type);
319
335
  user_data->ptr = rb_grn_object;
320
336
  grn_obj_set_finalizer(context, object, rb_grn_object_finalizer);
321
337
  rb_grn_object->have_finalizer = GRN_TRUE;
322
338
  } else if (object->header.type == GRN_ACCESSOR) {
323
- debug("set-finalizer(implicit): %p:%p:%p %#x\n",
339
+ debug("set-finalizer(implicit): %p:%p:%p %s(%#x)\n",
324
340
  context, object, rb_grn_object,
341
+ rb_grn_inspect_type(object->header.type),
325
342
  object->header.type);
326
- rb_grn_object->have_finalizer = GRN_TRUE;
343
+ /* TODO: We want to call finalizer for GRN_ACCESSOR. */
344
+ rb_grn_object->have_finalizer = GRN_FALSE;
327
345
  }
328
346
 
329
347
  switch (object->header.type) {
330
- case GRN_DB:
331
348
  case GRN_PROC:
332
349
  case GRN_TYPE:
350
+ case GRN_ACCESSOR: /* TODO: We want to close GRN_ACCESSOR. */
333
351
  rb_grn_object->need_close = GRN_FALSE;
334
352
  break;
335
353
  default:
@@ -373,6 +391,7 @@ rb_grn_object_assign (VALUE klass, VALUE self, VALUE rb_context,
373
391
  (RVAL2CBOOL(rb_obj_is_kind_of(self, rb_cGrnType))) ||
374
392
  klass == rb_cGrnHashCursor ||
375
393
  klass == rb_cGrnPatriciaTrieCursor ||
394
+ klass == rb_cGrnDoubleArrayTrieCursor ||
376
395
  klass == rb_cGrnArrayCursor ||
377
396
  klass == rb_cGrnViewCursor ||
378
397
  klass == rb_cGrnIndexCursor ||
@@ -422,14 +441,16 @@ rb_grn_object_assign (VALUE klass, VALUE self, VALUE rb_context,
422
441
  context, object);
423
442
  } else {
424
443
  rb_raise(rb_eTypeError,
425
- "unsupported groonga object type for assignment: 0x%x",
444
+ "unsupported groonga object type for assignment: %s(%#x)",
445
+ rb_grn_inspect_type(object->header.type),
426
446
  object->header.type);
427
447
  }
428
448
 
429
449
  rb_iv_set(self, "@context", rb_context);
430
450
 
431
- debug("assign: %p:%p:%p 0x%x\n", context, object, rb_grn_object,
432
- object->header.type);
451
+ debug("assign: %p:%p:%p %s(%#x)\n",
452
+ context, object, rb_grn_object,
453
+ rb_grn_inspect_type(object->header.type), object->header.type);
433
454
  }
434
455
 
435
456
  void
@@ -459,14 +480,17 @@ rb_grn_named_object_set_name (RbGrnNamedObject *rb_grn_named_object,
459
480
  rb_grn_named_object->name = NULL;
460
481
  }
461
482
  if (name_size > 0) {
483
+ RbGrnObject *rb_grn_object;
462
484
  rb_grn_named_object->name = ALLOC_N(char, name_size + 1);
463
485
  memcpy(rb_grn_named_object->name, name, name_size);
464
486
  rb_grn_named_object->name[name_size] = '\0';
465
- debug("set-name: %p:%p:%p 0x%x: <%.*s>\n",
466
- RB_GRN_OBJECT(rb_grn_named_object)->context,
467
- RB_GRN_OBJECT(rb_grn_named_object)->object,
487
+ rb_grn_object = RB_GRN_OBJECT(rb_grn_named_object);
488
+ debug("set-name: %p:%p:%p %s(%#x): <%.*s>\n",
489
+ rb_grn_object->context,
490
+ rb_grn_object->object,
468
491
  rb_grn_named_object,
469
- RB_GRN_OBJECT(rb_grn_named_object)->object->header.type,
492
+ rb_grn_inspect_type(rb_grn_object->object->header.type),
493
+ rb_grn_object->object->header.type,
470
494
  name_size, name);
471
495
  }
472
496
  rb_grn_named_object->name_size = name_size;
@@ -511,7 +535,7 @@ rb_grn_object_deconstruct (RbGrnObject *rb_grn_object,
511
535
  * call-seq:
512
536
  * object.close
513
537
  *
514
- * _object_が使用しているリソースを開放する。これ以降_object_を
538
+ * _object_ が使用しているリソースを開放する。これ以降 _object_
515
539
  * 使うことはできない。
516
540
  */
517
541
  VALUE
@@ -538,7 +562,7 @@ rb_grn_object_close (VALUE self)
538
562
  * call-seq:
539
563
  * object.unlink
540
564
  *
541
- * _object_のリファレンスカウンタを1減少する。
565
+ * _object_ のリファレンスカウンタを1減少する。
542
566
  */
543
567
  VALUE
544
568
  rb_grn_object_unlink (VALUE self)
@@ -566,8 +590,8 @@ rb_grn_object_unlink (VALUE self)
566
590
  * call-seq:
567
591
  * object.closed? -> true/false
568
592
  *
569
- * _object_が開放済みの場合は+true+を返し、そうでない場合は
570
- * +false+を返す。
593
+ * _object_ が開放済みの場合は+true+を返し、そうでない場合は
594
+ * +false+ を返す。
571
595
  */
572
596
  VALUE
573
597
  rb_grn_object_closed_p (VALUE self)
@@ -765,6 +789,8 @@ rb_grn_object_inspect_content_flags_with_label (VALUE inspected,
765
789
  rb_ary_push(inspected_flags, rb_str_new2("TABLE_HASH_KEY"));
766
790
  if (flags & GRN_OBJ_TABLE_PAT_KEY)
767
791
  rb_ary_push(inspected_flags, rb_str_new2("TABLE_PAT_KEY"));
792
+ if (flags & GRN_OBJ_TABLE_DAT_KEY)
793
+ rb_ary_push(inspected_flags, rb_str_new2("TABLE_DAT_KEY"));
768
794
  if (flags & GRN_OBJ_TABLE_NO_KEY)
769
795
  rb_ary_push(inspected_flags, rb_str_new2("TABLE_NO_KEY"));
770
796
  if (flags & GRN_OBJ_TABLE_VIEW)
@@ -789,6 +815,7 @@ rb_grn_object_inspect_content_flags_with_label (VALUE inspected,
789
815
  switch (object->header.type) {
790
816
  case GRN_TABLE_HASH_KEY:
791
817
  case GRN_TABLE_PAT_KEY:
818
+ case GRN_TABLE_DAT_KEY:
792
819
  if (flags & GRN_OBJ_KEY_WITH_SIS)
793
820
  rb_ary_push(inspected_flags, rb_str_new2("KEY_WITH_SIS"));
794
821
  if (flags & GRN_OBJ_KEY_NORMALIZE)
@@ -913,7 +940,7 @@ rb_grn_object_inspect_footer (VALUE self, VALUE inspected)
913
940
  * call-seq:
914
941
  * object.inspect -> 詳細情報
915
942
  *
916
- * _object_の詳細を示した文字列を返す。デバッグ用。
943
+ * _object_ の詳細を示した文字列を返す。デバッグ用。
917
944
  */
918
945
  static VALUE
919
946
  rb_grn_object_inspect (VALUE self)
@@ -934,8 +961,8 @@ rb_grn_object_inspect (VALUE self)
934
961
  * call-seq:
935
962
  * object.id -> ID/nil
936
963
  *
937
- * _object_のIDを返す。_object_が#closed?なときやIDがない場合
938
- * は+nil+を返す。
964
+ * _object_ のIDを返す。 _object_ が#closed?なときやIDがない場合
965
+ * は +nil+ を返す。
939
966
  */
940
967
  VALUE
941
968
  rb_grn_object_get_id (VALUE self)
@@ -960,8 +987,8 @@ rb_grn_object_get_id (VALUE self)
960
987
  * call-seq:
961
988
  * object.path -> ファイルパス/nil
962
989
  *
963
- * _object_に対応するファイルパスを返す。一時_object_
964
- * なら+nil+を返す。
990
+ * _object_ に対応するファイルパスを返す。一時 _object_
991
+ * なら +nil+ を返す。
965
992
  */
966
993
  static VALUE
967
994
  rb_grn_object_get_path (VALUE self)
@@ -987,8 +1014,8 @@ rb_grn_object_get_path (VALUE self)
987
1014
  * call-seq:
988
1015
  * object.temporary? -> true/false
989
1016
  *
990
- * _object_が一時オブジェクトなら+true+、永続オブジェクトな
991
- * ら+false+を返す。
1017
+ * _object_ が一時オブジェクトなら +true+ 、永続オブジェクトな
1018
+ * ら +false+ を返す。
992
1019
  */
993
1020
  static VALUE
994
1021
  rb_grn_object_temporary_p (VALUE self)
@@ -1008,8 +1035,8 @@ rb_grn_object_temporary_p (VALUE self)
1008
1035
  * call-seq:
1009
1036
  * object.persistent? -> true/false
1010
1037
  *
1011
- * _object_が永続オブジェクトなら+true+、一時オブジェクトな
1012
- * ら+false+を返す。
1038
+ * _object_ が永続オブジェクトなら +true+ 、一時オブジェクトな
1039
+ * ら +false+ を返す。
1013
1040
  */
1014
1041
  static VALUE
1015
1042
  rb_grn_object_persistent_p (VALUE self)
@@ -1029,9 +1056,9 @@ rb_grn_object_persistent_p (VALUE self)
1029
1056
  * call-seq:
1030
1057
  * object.domain -> Groonga::Object/nil
1031
1058
  *
1032
- * _object_の属しているGroonga::Objectを返す。例えば、
1059
+ * _object_ の属しているGroonga::Objectを返す。例えば、
1033
1060
  * Groonga::ColumnはGroonga::Tableを返す。属している
1034
- * Groonga::Objectがない場合は+nil+を返す。
1061
+ * Groonga::Objectがない場合は +nil+ を返す。
1035
1062
  */
1036
1063
  static VALUE
1037
1064
  rb_grn_object_get_domain (VALUE self)
@@ -1067,7 +1094,7 @@ rb_grn_object_get_domain (VALUE self)
1067
1094
  * call-seq:
1068
1095
  * object.name -> 名前/nil
1069
1096
  *
1070
- * _object_の名前を返す。無名オブジェクトの場合は+nil+を返す。
1097
+ * _object_ の名前を返す。無名オブジェクトの場合は +nil+ を返す。
1071
1098
  */
1072
1099
  static VALUE
1073
1100
  rb_grn_object_get_name (VALUE self)
@@ -1101,11 +1128,11 @@ rb_grn_object_get_name (VALUE self)
1101
1128
  * call-seq:
1102
1129
  * object.range -> Groonga::Object/nil
1103
1130
  *
1104
- * _object_の値がとりうる範囲を示したGroonga::Objectを返す。
1131
+ * _object_ の値がとりうる範囲を示したGroonga::Objectを返す。
1105
1132
  * 例えば、Groonga::Columnの場合は
1106
1133
  * Groonga::Table#define_columnで指定されたGroonga::Typeや
1107
1134
  * Groonga::Tableを返す。
1108
- * 範囲が指定されていないオブジェクトの場合は+nil+を返す。
1135
+ * 範囲が指定されていないオブジェクトの場合は +nil+ を返す。
1109
1136
  */
1110
1137
  static VALUE
1111
1138
  rb_grn_object_get_range (VALUE self)
@@ -1141,8 +1168,8 @@ rb_grn_object_get_range (VALUE self)
1141
1168
  * call-seq:
1142
1169
  * object == other -> true/false
1143
1170
  *
1144
- * _object_と_other_が同じgroongaのオブジェクトなら+true+を返
1145
- * し、そうでなければ+false+を返す。
1171
+ * _object_ _other_ が同じgroongaのオブジェクトなら +true+ を返
1172
+ * し、そうでなければ +false+ を返す。
1146
1173
  */
1147
1174
  static VALUE
1148
1175
  rb_grn_object_equal (VALUE self, VALUE other)
@@ -1168,7 +1195,7 @@ rb_grn_object_equal (VALUE self, VALUE other)
1168
1195
  * call-seq:
1169
1196
  * object[id] -> 値
1170
1197
  *
1171
- * _object_の_id_に対応する値を返す。
1198
+ * _object_ _id_ に対応する値を返す。
1172
1199
  */
1173
1200
  VALUE
1174
1201
  rb_grn_object_array_reference (VALUE self, VALUE rb_id)
@@ -1196,6 +1223,7 @@ rb_grn_object_array_reference (VALUE self, VALUE rb_id)
1196
1223
  switch (object->header.type) {
1197
1224
  case GRN_TABLE_HASH_KEY:
1198
1225
  case GRN_TABLE_PAT_KEY:
1226
+ case GRN_TABLE_DAT_KEY:
1199
1227
  case GRN_TABLE_NO_KEY:
1200
1228
  GRN_OBJ_INIT(&value, GRN_BULK, 0, GRN_ID_NIL);
1201
1229
  break;
@@ -1255,6 +1283,7 @@ rb_uvector_value_p (RbGrnObject *rb_grn_object, VALUE rb_value)
1255
1283
  break;
1256
1284
  case GRN_TABLE_HASH_KEY:
1257
1285
  case GRN_TABLE_PAT_KEY:
1286
+ case GRN_TABLE_DAT_KEY:
1258
1287
  case GRN_TABLE_NO_KEY:
1259
1288
  case GRN_TABLE_VIEW:
1260
1289
  first_element = rb_ary_entry(rb_value, 0);
@@ -1329,7 +1358,7 @@ rb_grn_object_set (VALUE self, VALUE rb_id, VALUE rb_value, int flags)
1329
1358
  * call-seq:
1330
1359
  * object[id] = value
1331
1360
  *
1332
- * _object_の_id_に対応する値を設定する。既存の値は上書きさ
1361
+ * _object_ _id_ に対応する値を設定する。既存の値は上書きさ
1333
1362
  * れる。
1334
1363
  */
1335
1364
  static VALUE
@@ -1344,7 +1373,7 @@ rb_grn_object_array_set (VALUE self, VALUE rb_id, VALUE rb_value)
1344
1373
  * call-seq:
1345
1374
  * object.append(id, value)
1346
1375
  *
1347
- * _object_の_id_に対応する値の最後に_value_を追加する。
1376
+ * _object_ _id_ に対応する値の最後に _value_ を追加する。
1348
1377
  */
1349
1378
  static VALUE
1350
1379
  rb_grn_object_append_value (VALUE self, VALUE rb_id, VALUE rb_value)
@@ -1358,7 +1387,7 @@ rb_grn_object_append_value (VALUE self, VALUE rb_id, VALUE rb_value)
1358
1387
  * call-seq:
1359
1388
  * object.prepend(id, value)
1360
1389
  *
1361
- * _object_の_id_に対応する値の最初に_value_を追加する。
1390
+ * _object_ _id_ に対応する値の最初に _value_ を追加する。
1362
1391
  */
1363
1392
  static VALUE
1364
1393
  rb_grn_object_prepend_value (VALUE self, VALUE rb_id, VALUE rb_value)
@@ -1372,7 +1401,7 @@ rb_grn_object_prepend_value (VALUE self, VALUE rb_id, VALUE rb_value)
1372
1401
  * call-seq:
1373
1402
  * object.remove
1374
1403
  *
1375
- * _object_をメモリから解放し、それが永続オブジェクトであっ
1404
+ * _object_ をメモリから解放し、それが永続オブジェクトであっ
1376
1405
  * た場合は、該当するファイル一式を削除する。
1377
1406
  */
1378
1407
  static VALUE
@@ -1,4 +1,4 @@
1
- /* -*- c-file-style: "ruby" -*- */
1
+ /* -*- coding: utf-8; c-file-style: "ruby" -*- */
2
2
  /*
3
3
  Copyright (C) 2009-2011 Kouhei Sutou <kou@clear-code.com>
4
4
 
@@ -1,4 +1,4 @@
1
- /* -*- c-file-style: "ruby" -*- */
1
+ /* -*- coding: utf-8; c-file-style: "ruby" -*- */
2
2
  /*
3
3
  Copyright (C) 2009 Kouhei Sutou <kou@clear-code.com>
4
4