rroonga 0.9.5-x86-mingw32 → 1.0.1-x86-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 (421) hide show
  1. data/NEWS.ja.rdoc +24 -0
  2. data/NEWS.rdoc +24 -0
  3. data/README.ja.rdoc +3 -2
  4. data/README.rdoc +3 -2
  5. data/Rakefile +15 -6
  6. data/ext/groonga/extconf.rb +25 -25
  7. data/ext/groonga/groonga.def +2 -0
  8. data/ext/groonga/rb-grn-array.c +1 -1
  9. data/ext/groonga/rb-grn-exception.c +14 -0
  10. data/ext/groonga/rb-grn-hash.c +1 -1
  11. data/ext/groonga/rb-grn-index-column.c +13 -1
  12. data/ext/groonga/rb-grn-object.c +2 -2
  13. data/ext/groonga/rb-grn-patricia-trie.c +394 -1
  14. data/ext/groonga/rb-grn-table.c +33 -2
  15. data/ext/groonga/rb-grn.h +3 -3
  16. data/html/index.html +1 -1
  17. data/lib/1.8/groonga.so +0 -0
  18. data/lib/1.9/groonga.so +0 -0
  19. data/lib/groonga/record.rb +32 -2
  20. data/lib/groonga/schema.rb +1 -1
  21. data/rroonga-build.rb +3 -3
  22. data/test/test-patricia-trie.rb +172 -1
  23. data/test/test-record.rb +7 -0
  24. data/test/test-remote.rb +2 -1
  25. data/test/test-table-cursor.rb +35 -1
  26. data/test/test-table-select-normalize.rb +7 -3
  27. data/vendor/local/bin/grntest.exe +0 -0
  28. data/vendor/local/bin/groonga.exe +0 -0
  29. data/vendor/local/bin/libgroonga-0.dll +0 -0
  30. data/vendor/local/etc/groonga/groonga.conf +11 -0
  31. data/vendor/local/etc/groonga/init.d/redhat/groonga +168 -0
  32. data/vendor/local/etc/groonga/init.d/redhat/sysconfig/groonga +8 -0
  33. data/vendor/local/include/groonga/groonga.h +38 -12
  34. data/vendor/local/lib/groonga/modules/suggest/suggest.a +0 -0
  35. data/vendor/local/lib/groonga/modules/suggest/suggest.dll +0 -0
  36. data/vendor/local/lib/groonga/modules/suggest/suggest.dll.a +0 -0
  37. data/vendor/local/lib/groonga/modules/{functions/cast.la → suggest/suggest.la} +6 -6
  38. data/vendor/local/lib/libgroonga.a +0 -0
  39. data/vendor/local/lib/libgroonga.dll.a +0 -0
  40. data/vendor/local/lib/pkgconfig/groonga.pc +1 -1
  41. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  42. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  43. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  44. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  45. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  46. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  47. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  48. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  49. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  50. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
  51. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
  52. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
  53. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
  54. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
  55. data/vendor/local/share/groonga/admin_html/images/groonga.png +0 -0
  56. data/vendor/local/share/groonga/admin_html/images/loading.gif +0 -0
  57. data/vendor/local/share/groonga/admin_html/js/jquery.json-2.2.min.js +31 -0
  58. data/vendor/local/share/groonga/doc/ja/html/.buildinfo +4 -0
  59. data/vendor/local/share/groonga/doc/ja/html/_sources/characteristic.txt +56 -0
  60. data/vendor/local/share/groonga/doc/ja/html/_sources/commands.txt +10 -0
  61. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/cache_limit.txt +52 -0
  62. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/check.txt +164 -0
  63. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/clearlock.txt +61 -0
  64. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/column_create.txt +93 -0
  65. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/column_list.txt +97 -0
  66. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/column_remove.txt +58 -0
  67. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/define_selector.txt +114 -0
  68. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/defrag.txt +57 -0
  69. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/delete.txt +68 -0
  70. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/dump.txt +62 -0
  71. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/load.txt +98 -0
  72. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/log_level.txt +65 -0
  73. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/log_put.txt +69 -0
  74. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/log_reopen.txt +66 -0
  75. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/quit.txt +38 -0
  76. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/select.txt +247 -0
  77. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/shutdown.txt +38 -0
  78. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/status.txt +59 -0
  79. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/suggest.txt +79 -0
  80. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/table_create.txt +111 -0
  81. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/table_list.txt +87 -0
  82. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/table_remove.txt +50 -0
  83. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/view_add.txt +53 -0
  84. data/vendor/local/share/groonga/doc/ja/html/_sources/commands_not_implemented/add.txt +102 -0
  85. data/vendor/local/share/groonga/doc/ja/html/_sources/commands_not_implemented/get.txt +78 -0
  86. data/vendor/local/share/groonga/doc/ja/html/_sources/commands_not_implemented/set.txt +103 -0
  87. data/vendor/local/share/groonga/doc/ja/html/_sources/developer.txt +10 -0
  88. data/vendor/local/share/groonga/doc/ja/html/_sources/developer/com.txt +18 -0
  89. data/vendor/local/share/groonga/doc/ja/html/_sources/developer/document.txt +38 -0
  90. data/vendor/local/share/groonga/doc/ja/html/_sources/developer/query.txt +212 -0
  91. data/vendor/local/share/groonga/doc/ja/html/_sources/developer/test.txt +114 -0
  92. data/vendor/local/share/groonga/doc/ja/html/_sources/execfile.txt +226 -0
  93. data/vendor/local/share/groonga/doc/ja/html/_sources/expr.txt +43 -0
  94. data/vendor/local/share/groonga/doc/ja/html/_sources/functions.txt +10 -0
  95. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/edit_distance.txt +48 -0
  96. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/geo_distance.txt +51 -0
  97. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/geo_in_circle.txt +54 -0
  98. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/geo_in_rectangle.txt +55 -0
  99. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/now.txt +34 -0
  100. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/rand.txt +41 -0
  101. data/vendor/local/share/groonga/doc/ja/html/_sources/grnslap.txt +64 -0
  102. data/vendor/local/share/groonga/doc/ja/html/_sources/grntest.txt +259 -0
  103. data/vendor/local/share/groonga/doc/ja/html/_sources/http.txt +52 -0
  104. data/vendor/local/share/groonga/doc/ja/html/_sources/index.txt +21 -0
  105. data/vendor/local/share/groonga/doc/ja/html/_sources/install.txt +114 -0
  106. data/vendor/local/share/groonga/doc/ja/html/_sources/news.txt +199 -0
  107. data/vendor/local/share/groonga/doc/ja/html/_sources/process.txt +12 -0
  108. data/vendor/local/share/groonga/doc/ja/html/_sources/pseudo_column.txt +38 -0
  109. data/vendor/local/share/groonga/doc/ja/html/_sources/reference.txt +14 -0
  110. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial.txt +10 -0
  111. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial01.txt +293 -0
  112. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial02.txt +100 -0
  113. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial03.txt +72 -0
  114. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial04.txt +111 -0
  115. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial05.txt +65 -0
  116. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial06.txt +91 -0
  117. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial07.txt +92 -0
  118. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial08.txt +53 -0
  119. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial09.txt +9 -0
  120. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial10.txt +486 -0
  121. data/vendor/local/share/groonga/doc/ja/html/_sources/type.txt +118 -0
  122. data/vendor/local/share/groonga/doc/ja/html/_static/basic.css +509 -0
  123. data/vendor/local/share/groonga/doc/ja/html/_static/default.css +277 -0
  124. data/vendor/local/share/groonga/doc/ja/html/_static/doctools.js +247 -0
  125. data/vendor/local/share/groonga/doc/ja/html/_static/file.png +0 -0
  126. data/vendor/local/share/groonga/doc/ja/html/_static/jquery.js +6240 -0
  127. data/vendor/local/share/groonga/doc/ja/html/_static/minus.png +0 -0
  128. data/vendor/local/share/groonga/doc/ja/html/_static/plus.png +0 -0
  129. data/vendor/local/share/groonga/doc/ja/html/_static/pygments.css +61 -0
  130. data/vendor/local/share/groonga/doc/ja/html/_static/searchtools.js +518 -0
  131. data/vendor/local/share/groonga/doc/ja/html/_static/sidebar.js +147 -0
  132. data/vendor/local/share/groonga/doc/ja/html/_static/underscore.js +16 -0
  133. data/vendor/local/share/groonga/doc/ja/html/characteristic.html +162 -0
  134. data/vendor/local/share/groonga/doc/ja/html/commands.html +139 -0
  135. data/vendor/local/share/groonga/doc/ja/html/commands/cache_limit.html +173 -0
  136. data/vendor/local/share/groonga/doc/ja/html/commands/check.html +285 -0
  137. data/vendor/local/share/groonga/doc/ja/html/commands/clearlock.html +180 -0
  138. data/vendor/local/share/groonga/doc/ja/html/commands/column_create.html +210 -0
  139. data/vendor/local/share/groonga/doc/ja/html/commands/column_list.html +220 -0
  140. data/vendor/local/share/groonga/doc/ja/html/commands/column_remove.html +183 -0
  141. data/vendor/local/share/groonga/doc/ja/html/commands/define_selector.html +221 -0
  142. data/vendor/local/share/groonga/doc/ja/html/commands/defrag.html +177 -0
  143. data/vendor/local/share/groonga/doc/ja/html/commands/delete.html +182 -0
  144. data/vendor/local/share/groonga/doc/ja/html/commands/dump.html +177 -0
  145. data/vendor/local/share/groonga/doc/ja/html/commands/load.html +208 -0
  146. data/vendor/local/share/groonga/doc/ja/html/commands/log_level.html +187 -0
  147. data/vendor/local/share/groonga/doc/ja/html/commands/log_put.html +190 -0
  148. data/vendor/local/share/groonga/doc/ja/html/commands/log_reopen.html +188 -0
  149. data/vendor/local/share/groonga/doc/ja/html/commands/quit.html +156 -0
  150. data/vendor/local/share/groonga/doc/ja/html/commands/select.html +331 -0
  151. data/vendor/local/share/groonga/doc/ja/html/commands/shutdown.html +156 -0
  152. data/vendor/local/share/groonga/doc/ja/html/commands/status.html +179 -0
  153. data/vendor/local/share/groonga/doc/ja/html/commands/suggest.html +191 -0
  154. data/vendor/local/share/groonga/doc/ja/html/commands/table_create.html +222 -0
  155. data/vendor/local/share/groonga/doc/ja/html/commands/table_list.html +202 -0
  156. data/vendor/local/share/groonga/doc/ja/html/commands/table_remove.html +173 -0
  157. data/vendor/local/share/groonga/doc/ja/html/commands/view_add.html +175 -0
  158. data/vendor/local/share/groonga/doc/ja/html/commands_not_implemented/add.html +180 -0
  159. data/vendor/local/share/groonga/doc/ja/html/commands_not_implemented/get.html +161 -0
  160. data/vendor/local/share/groonga/doc/ja/html/commands_not_implemented/set.html +182 -0
  161. data/vendor/local/share/groonga/doc/ja/html/developer.html +118 -0
  162. data/vendor/local/share/groonga/doc/ja/html/developer/com.html +136 -0
  163. data/vendor/local/share/groonga/doc/ja/html/developer/document.html +159 -0
  164. data/vendor/local/share/groonga/doc/ja/html/developer/query.html +336 -0
  165. data/vendor/local/share/groonga/doc/ja/html/developer/test.html +220 -0
  166. data/vendor/local/share/groonga/doc/ja/html/execfile.html +370 -0
  167. data/vendor/local/share/groonga/doc/ja/html/expr.html +157 -0
  168. data/vendor/local/share/groonga/doc/ja/html/functions.html +122 -0
  169. data/vendor/local/share/groonga/doc/ja/html/functions/edit_distance.html +162 -0
  170. data/vendor/local/share/groonga/doc/ja/html/functions/geo_distance.html +170 -0
  171. data/vendor/local/share/groonga/doc/ja/html/functions/geo_in_circle.html +173 -0
  172. data/vendor/local/share/groonga/doc/ja/html/functions/geo_in_rectangle.html +172 -0
  173. data/vendor/local/share/groonga/doc/ja/html/functions/now.html +152 -0
  174. data/vendor/local/share/groonga/doc/ja/html/functions/rand.html +159 -0
  175. data/vendor/local/share/groonga/doc/ja/html/genindex.html +227 -0
  176. data/vendor/local/share/groonga/doc/ja/html/grnslap.html +183 -0
  177. data/vendor/local/share/groonga/doc/ja/html/grntest.html +368 -0
  178. data/vendor/local/share/groonga/doc/ja/html/http.html +163 -0
  179. data/vendor/local/share/groonga/doc/ja/html/index.html +291 -0
  180. data/vendor/local/share/groonga/doc/ja/html/install.html +228 -0
  181. data/vendor/local/share/groonga/doc/ja/html/news.html +310 -0
  182. data/vendor/local/share/groonga/doc/ja/html/objects.inv +0 -0
  183. data/vendor/local/share/groonga/doc/ja/html/process.html +120 -0
  184. data/vendor/local/share/groonga/doc/ja/html/pseudo_column.html +147 -0
  185. data/vendor/local/share/groonga/doc/ja/html/reference.html +174 -0
  186. data/vendor/local/share/groonga/doc/ja/html/search.html +96 -0
  187. data/vendor/local/share/groonga/doc/ja/html/searchindex.js +1 -0
  188. data/vendor/local/share/groonga/doc/ja/html/tutorial.html +172 -0
  189. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial01.html +388 -0
  190. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial02.html +214 -0
  191. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial03.html +183 -0
  192. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial04.html +212 -0
  193. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial05.html +169 -0
  194. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial06.html +209 -0
  195. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial07.html +212 -0
  196. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial08.html +139 -0
  197. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial09.html +114 -0
  198. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial10.html +458 -0
  199. data/vendor/local/share/groonga/doc/ja/html/type.html +217 -0
  200. data/vendor/local/share/groonga/doc/ja/source/__init__.py +0 -0
  201. data/vendor/local/share/groonga/doc/ja/source/characteristic.txt +56 -0
  202. data/vendor/local/share/groonga/doc/ja/source/commands.txt +10 -0
  203. data/vendor/local/share/groonga/doc/ja/source/commands/cache_limit.txt +52 -0
  204. data/vendor/local/share/groonga/doc/ja/source/commands/check.txt +164 -0
  205. data/vendor/local/share/groonga/doc/ja/source/commands/clearlock.txt +61 -0
  206. data/vendor/local/share/groonga/doc/ja/source/commands/column_create.txt +93 -0
  207. data/vendor/local/share/groonga/doc/ja/source/commands/column_list.txt +97 -0
  208. data/vendor/local/share/groonga/doc/ja/source/commands/column_remove.txt +58 -0
  209. data/vendor/local/share/groonga/doc/ja/source/commands/define_selector.txt +114 -0
  210. data/vendor/local/share/groonga/doc/ja/source/commands/defrag.txt +57 -0
  211. data/vendor/local/share/groonga/doc/ja/source/commands/delete.txt +68 -0
  212. data/vendor/local/share/groonga/doc/ja/source/commands/dump.txt +62 -0
  213. data/vendor/local/share/groonga/doc/ja/source/commands/load.txt +98 -0
  214. data/vendor/local/share/groonga/doc/ja/source/commands/log_level.txt +65 -0
  215. data/vendor/local/share/groonga/doc/ja/source/commands/log_put.txt +69 -0
  216. data/vendor/local/share/groonga/doc/ja/source/commands/log_reopen.txt +66 -0
  217. data/vendor/local/share/groonga/doc/ja/source/commands/quit.txt +38 -0
  218. data/vendor/local/share/groonga/doc/ja/source/commands/select.txt +247 -0
  219. data/vendor/local/share/groonga/doc/ja/source/commands/shutdown.txt +38 -0
  220. data/vendor/local/share/groonga/doc/ja/source/commands/status.txt +59 -0
  221. data/vendor/local/share/groonga/doc/ja/source/commands/table_create.txt +111 -0
  222. data/vendor/local/share/groonga/doc/ja/source/commands/table_list.txt +87 -0
  223. data/vendor/local/share/groonga/doc/ja/source/commands/table_remove.txt +50 -0
  224. data/vendor/local/share/groonga/doc/ja/source/commands/view_add.txt +53 -0
  225. data/vendor/local/share/groonga/doc/ja/source/commands_not_implemented/add.txt +102 -0
  226. data/vendor/local/share/groonga/doc/ja/source/commands_not_implemented/get.txt +78 -0
  227. data/vendor/local/share/groonga/doc/ja/source/commands_not_implemented/set.txt +103 -0
  228. data/vendor/local/share/groonga/doc/ja/source/conf.py +265 -0
  229. data/vendor/local/share/groonga/doc/ja/source/developer.txt +10 -0
  230. data/vendor/local/share/groonga/doc/ja/source/developer/com.txt +18 -0
  231. data/vendor/local/share/groonga/doc/ja/source/developer/document.txt +38 -0
  232. data/vendor/local/share/groonga/doc/ja/source/developer/query.txt +212 -0
  233. data/vendor/local/share/groonga/doc/ja/source/developer/test.txt +114 -0
  234. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-1.log +6 -0
  235. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-10.log +5 -0
  236. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-11.log +5 -0
  237. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-12.log +5 -0
  238. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-13.log +5 -0
  239. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-14.log +9 -0
  240. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-15.log +5 -0
  241. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-16.log +5 -0
  242. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-17.log +5 -0
  243. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-2.log +5 -0
  244. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-3.log +5 -0
  245. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-4.log +7 -0
  246. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-5.log +5 -0
  247. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-6.log +5 -0
  248. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-7.log +16 -0
  249. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-8.log +5 -0
  250. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-9.log +5 -0
  251. data/vendor/local/share/groonga/doc/ja/source/example/tutorial02-1.log +8 -0
  252. data/vendor/local/share/groonga/doc/ja/source/example/tutorial02-2.log +6 -0
  253. data/vendor/local/share/groonga/doc/ja/source/example/tutorial02-3.log +12 -0
  254. data/vendor/local/share/groonga/doc/ja/source/example/tutorial03-1.log +18 -0
  255. data/vendor/local/share/groonga/doc/ja/source/example/tutorial03-2.log +10 -0
  256. data/vendor/local/share/groonga/doc/ja/source/example/tutorial03-3.log +10 -0
  257. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-1.log +5 -0
  258. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-2.log +7 -0
  259. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-3.log +7 -0
  260. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-4.log +13 -0
  261. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-5.log +5 -0
  262. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-6.log +5 -0
  263. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-7.log +5 -0
  264. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-1.log +24 -0
  265. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-2.log +5 -0
  266. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-3.log +5 -0
  267. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-4.log +5 -0
  268. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-5.log +5 -0
  269. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-6.log +5 -0
  270. data/vendor/local/share/groonga/doc/ja/source/example/tutorial06-1.log +25 -0
  271. data/vendor/local/share/groonga/doc/ja/source/example/tutorial06-2.log +9 -0
  272. data/vendor/local/share/groonga/doc/ja/source/example/tutorial06-3.log +21 -0
  273. data/vendor/local/share/groonga/doc/ja/source/example/tutorial06-4.log +7 -0
  274. data/vendor/local/share/groonga/doc/ja/source/example/tutorial06-5.log +5 -0
  275. data/vendor/local/share/groonga/doc/ja/source/example/tutorial07-1.log +22 -0
  276. data/vendor/local/share/groonga/doc/ja/source/example/tutorial07-2.log +9 -0
  277. data/vendor/local/share/groonga/doc/ja/source/example/tutorial07-3.log +20 -0
  278. data/vendor/local/share/groonga/doc/ja/source/example/tutorial07-4.log +9 -0
  279. data/vendor/local/share/groonga/doc/ja/source/example/tutorial08-1.log +14 -0
  280. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-1.log +5 -0
  281. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-10.log +5 -0
  282. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-2.log +5 -0
  283. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-3.log +5 -0
  284. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-4.log +5 -0
  285. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-5.log +5 -0
  286. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-6.log +5 -0
  287. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-7.log +5 -0
  288. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-8.log +5 -0
  289. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-9.log +5 -0
  290. data/vendor/local/share/groonga/doc/ja/source/execfile.txt +226 -0
  291. data/vendor/local/share/groonga/doc/ja/source/expr.txt +43 -0
  292. data/vendor/local/share/groonga/doc/ja/source/functions.txt +10 -0
  293. data/vendor/local/share/groonga/doc/ja/source/functions/edit_distance.txt +48 -0
  294. data/vendor/local/share/groonga/doc/ja/source/functions/geo_distance.txt +51 -0
  295. data/vendor/local/share/groonga/doc/ja/source/functions/geo_in_circle.txt +54 -0
  296. data/vendor/local/share/groonga/doc/ja/source/functions/geo_in_rectangle.txt +55 -0
  297. data/vendor/local/share/groonga/doc/ja/source/functions/now.txt +34 -0
  298. data/vendor/local/share/groonga/doc/ja/source/functions/rand.txt +41 -0
  299. data/vendor/local/share/groonga/doc/ja/source/grnslap.txt +64 -0
  300. data/vendor/local/share/groonga/doc/ja/source/grntest.txt +259 -0
  301. data/vendor/local/share/groonga/doc/ja/source/http.txt +52 -0
  302. data/vendor/local/share/groonga/doc/ja/source/index.txt +21 -0
  303. data/vendor/local/share/groonga/doc/ja/source/install.txt +114 -0
  304. data/vendor/local/share/groonga/doc/ja/source/news.txt +199 -0
  305. data/vendor/local/share/groonga/doc/ja/source/process.txt +12 -0
  306. data/vendor/local/share/groonga/doc/ja/source/pseudo_column.txt +38 -0
  307. data/vendor/local/share/groonga/doc/ja/source/rdoc.py +762 -0
  308. data/vendor/local/share/groonga/doc/ja/source/reference.txt +14 -0
  309. data/vendor/local/share/groonga/doc/ja/source/tutorial.txt +10 -0
  310. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial01.txt +293 -0
  311. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial02.txt +100 -0
  312. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial03.txt +72 -0
  313. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial04.txt +111 -0
  314. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial05.txt +65 -0
  315. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial06.txt +91 -0
  316. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial07.txt +92 -0
  317. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial08.txt +53 -0
  318. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial09.txt +9 -0
  319. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial10.txt +486 -0
  320. data/vendor/local/share/groonga/doc/ja/source/type.txt +118 -0
  321. data/vendor/local/share/groonga/doc/ja/source/update_execution_example.py +113 -0
  322. data/vendor/local/share/groonga/examples/dictionary/edict/edict2grn.rb +46 -0
  323. data/vendor/local/share/groonga/examples/dictionary/edict/edict_import.sh +10 -0
  324. data/vendor/local/share/groonga/examples/dictionary/eijiro/eijiro2grn.rb +61 -0
  325. data/vendor/local/share/groonga/examples/dictionary/eijiro/eijiro_import.sh +10 -0
  326. data/vendor/local/share/groonga/examples/dictionary/gene95/gene2grn.rb +46 -0
  327. data/vendor/local/share/groonga/examples/dictionary/gene95/gene_import.sh +10 -0
  328. data/vendor/local/share/groonga/examples/dictionary/html/css/dictionary.css +3 -0
  329. data/vendor/local/share/groonga/examples/dictionary/html/index.html +26 -0
  330. data/vendor/local/share/groonga/examples/dictionary/html/js/dictionary.js +51 -0
  331. data/vendor/local/share/groonga/examples/dictionary/html/js/jquery-1.4.2.min.js +154 -0
  332. data/vendor/local/share/groonga/examples/dictionary/init_db.sh +10 -0
  333. data/vendor/local/share/groonga/examples/dictionary/jmdict/jmdict.rb +42 -0
  334. data/vendor/local/share/groonga/examples/dictionary/readme.txt +71 -0
  335. data/vendor/local/share/man/man1/groonga.1 +5498 -0
  336. metadata +360 -118
  337. data/pkg-config.rb +0 -333
  338. data/pkg/rroonga-0.9.5/NEWS.ja.rdoc +0 -156
  339. data/pkg/rroonga-0.9.5/NEWS.rdoc +0 -158
  340. data/pkg/rroonga-0.9.5/README.ja.rdoc +0 -65
  341. data/pkg/rroonga-0.9.5/README.rdoc +0 -66
  342. data/pkg/rroonga-0.9.5/text/TUTORIAL.ja.rdoc +0 -394
  343. data/pkg/rroonga-0.9.5/text/expression.rdoc +0 -285
  344. data/test-unit/Rakefile +0 -40
  345. data/test-unit/TODO +0 -5
  346. data/test-unit/bin/testrb +0 -5
  347. data/test-unit/html/classic.html +0 -15
  348. data/test-unit/html/index.html +0 -25
  349. data/test-unit/html/index.html.ja +0 -27
  350. data/test-unit/lib/test/unit.rb +0 -323
  351. data/test-unit/lib/test/unit/assertionfailederror.rb +0 -25
  352. data/test-unit/lib/test/unit/assertions.rb +0 -1230
  353. data/test-unit/lib/test/unit/attribute.rb +0 -125
  354. data/test-unit/lib/test/unit/autorunner.rb +0 -360
  355. data/test-unit/lib/test/unit/collector.rb +0 -36
  356. data/test-unit/lib/test/unit/collector/descendant.rb +0 -23
  357. data/test-unit/lib/test/unit/collector/dir.rb +0 -108
  358. data/test-unit/lib/test/unit/collector/load.rb +0 -144
  359. data/test-unit/lib/test/unit/collector/objectspace.rb +0 -34
  360. data/test-unit/lib/test/unit/color-scheme.rb +0 -102
  361. data/test-unit/lib/test/unit/color.rb +0 -96
  362. data/test-unit/lib/test/unit/diff.rb +0 -724
  363. data/test-unit/lib/test/unit/error.rb +0 -130
  364. data/test-unit/lib/test/unit/exceptionhandler.rb +0 -39
  365. data/test-unit/lib/test/unit/failure.rb +0 -136
  366. data/test-unit/lib/test/unit/fixture.rb +0 -176
  367. data/test-unit/lib/test/unit/notification.rb +0 -129
  368. data/test-unit/lib/test/unit/omission.rb +0 -191
  369. data/test-unit/lib/test/unit/pending.rb +0 -150
  370. data/test-unit/lib/test/unit/priority.rb +0 -180
  371. data/test-unit/lib/test/unit/runner/console.rb +0 -52
  372. data/test-unit/lib/test/unit/runner/emacs.rb +0 -8
  373. data/test-unit/lib/test/unit/runner/tap.rb +0 -8
  374. data/test-unit/lib/test/unit/testcase.rb +0 -476
  375. data/test-unit/lib/test/unit/testresult.rb +0 -89
  376. data/test-unit/lib/test/unit/testsuite.rb +0 -110
  377. data/test-unit/lib/test/unit/ui/console/outputlevel.rb +0 -14
  378. data/test-unit/lib/test/unit/ui/console/testrunner.rb +0 -466
  379. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +0 -63
  380. data/test-unit/lib/test/unit/ui/tap/testrunner.rb +0 -92
  381. data/test-unit/lib/test/unit/ui/testrunner.rb +0 -28
  382. data/test-unit/lib/test/unit/ui/testrunnermediator.rb +0 -77
  383. data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +0 -41
  384. data/test-unit/lib/test/unit/util/backtracefilter.rb +0 -41
  385. data/test-unit/lib/test/unit/util/method-owner-finder.rb +0 -28
  386. data/test-unit/lib/test/unit/util/observable.rb +0 -90
  387. data/test-unit/lib/test/unit/util/procwrapper.rb +0 -48
  388. data/test-unit/lib/test/unit/version.rb +0 -7
  389. data/test-unit/sample/adder.rb +0 -13
  390. data/test-unit/sample/subtracter.rb +0 -12
  391. data/test-unit/sample/test_adder.rb +0 -20
  392. data/test-unit/sample/test_subtracter.rb +0 -20
  393. data/test-unit/sample/test_user.rb +0 -23
  394. data/test-unit/test/collector/test-descendant.rb +0 -133
  395. data/test-unit/test/collector/test-load.rb +0 -442
  396. data/test-unit/test/collector/test_dir.rb +0 -406
  397. data/test-unit/test/collector/test_objectspace.rb +0 -100
  398. data/test-unit/test/run-test.rb +0 -15
  399. data/test-unit/test/test-attribute.rb +0 -86
  400. data/test-unit/test/test-color-scheme.rb +0 -67
  401. data/test-unit/test/test-color.rb +0 -47
  402. data/test-unit/test/test-diff.rb +0 -518
  403. data/test-unit/test/test-emacs-runner.rb +0 -60
  404. data/test-unit/test/test-fixture.rb +0 -287
  405. data/test-unit/test/test-notification.rb +0 -33
  406. data/test-unit/test/test-omission.rb +0 -81
  407. data/test-unit/test/test-pending.rb +0 -70
  408. data/test-unit/test/test-priority.rb +0 -119
  409. data/test-unit/test/test-testcase.rb +0 -544
  410. data/test-unit/test/test_assertions.rb +0 -1151
  411. data/test-unit/test/test_error.rb +0 -26
  412. data/test-unit/test/test_failure.rb +0 -33
  413. data/test-unit/test/test_testresult.rb +0 -113
  414. data/test-unit/test/test_testsuite.rb +0 -129
  415. data/test-unit/test/testunit-test-util.rb +0 -14
  416. data/test-unit/test/ui/test_testrunmediator.rb +0 -20
  417. data/test-unit/test/util/test-method-owner-finder.rb +0 -38
  418. data/test-unit/test/util/test_backtracefilter.rb +0 -41
  419. data/test-unit/test/util/test_observable.rb +0 -102
  420. data/test-unit/test/util/test_procwrapper.rb +0 -36
  421. data/vendor/local/lib/groonga/modules/functions/cast.dll +0 -0
@@ -0,0 +1,52 @@
1
+ .. highlightlang:: none
2
+
3
+ http
4
+ ====
5
+
6
+ 名前
7
+ ----
8
+
9
+ groonga httpサービス
10
+
11
+ 書式
12
+ ----
13
+ ::
14
+
15
+ groonga -d --protocol http --document-root /usr/share/groonga/admin_html dest
16
+
17
+ 説明
18
+ ----
19
+
20
+ groongaサーバを起動する時に--protocolオプションにhttpを指定すると、httpで通信可能になります。また、--document-root によって静的ページのパスを指定すると、httpリクエストに指定されたURIに対応する、パス配下に置かれたファイルを出力します。
21
+
22
+ デフォルトでは/usr/share/groonga/admin_html配下に、データベース管理ツールとなるファイル群がインストールされますので、このパスを指定してgroongaサーバを起動し、ウェブブラウザでhttp://hostname:port/index.htmlにアクセスすると、管理ツールが使用可能になります。
23
+
24
+ コマンド
25
+ --------
26
+
27
+ httpを指定して起動したgroongaサーバに対しても、他のモードで起動したgroongaと同じコマンドが使用できます。
28
+
29
+ コマンドは、複数の引数をとります。引数にはそれぞれ名前があります。また、特殊な引数である「output_type」があります。
30
+
31
+ スタンドアロンやクライアントモードでは、コマンドは以下のような形式で指定します。
32
+
33
+ 形式1: コマンド名 値1 値2,..
34
+
35
+ 形式2: コマンド名 --引数名1 値1 --引数名2 値2,..
36
+
37
+ 形式1と形式2は混在させることができます。これらの形式では、output_typeという引数名を用いてoutput_typeを指定します。
38
+
39
+ httpでgroongaサーバと通信する際には、以下のような形式でコマンドを指定します。::
40
+
41
+ 形式: /d/コマンド名.output_type?引数名1=値1&引数名2=値2&...
42
+
43
+ ただし、コマンド名、引数名、値はURLエンコードが必要です。
44
+
45
+ GETメソッドのみが使用可能です。
46
+
47
+ output_typeにはjson, tsv, xmlが指定可能です。
48
+
49
+ 返値
50
+ ----
51
+
52
+ output_typeの指定に従って、コマンドの実行結果を出力します。
@@ -0,0 +1,21 @@
1
+ .. groonga documentation master file, created by
2
+ sphinx-quickstart on Thu Oct 22 15:42:37 2009.
3
+ You can adapt this file completely to your liking, but it should at least
4
+ contain the root `toctree` directive.
5
+
6
+ groonga ドキュメント
7
+ ====================
8
+
9
+ .. toctree::
10
+ :maxdepth: 3
11
+ :numbered:
12
+
13
+ characteristic
14
+ install
15
+ tutorial
16
+ reference
17
+ developer
18
+
19
+ * :ref:`genindex`
20
+ * :ref:`modindex`
21
+ * :ref:`search`
@@ -0,0 +1,114 @@
1
+ .. highlightlang:: none
2
+
3
+ インストール
4
+ ============
5
+
6
+ それぞれの環境毎にインストール方法を説明します。
7
+
8
+ Debian GNU/Linux lenny
9
+ ----------------------
10
+
11
+ /etc/apt/sources.list.d/groonga.list::
12
+
13
+ deb http://packages.groonga.org/debian/ lenny main
14
+ deb-src http://packages.groonga.org/debian/ lenny main
15
+
16
+ インストール::
17
+
18
+ % sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 1C837F31
19
+ % sudo aptitude update
20
+ % sudo aptitude -V -D -y install groonga libgroonga-dev
21
+
22
+ Debian GNU/Linux squeeze
23
+ ------------------------
24
+
25
+ /etc/apt/sources.list.d/groonga.list::
26
+
27
+ deb http://packages.groonga.org/debian/ squeeze main
28
+ deb-src http://packages.groonga.org/debian/ squeeze main
29
+
30
+ インストール::
31
+
32
+ % sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 1C837F31
33
+ % sudo aptitude update
34
+ % sudo aptitude -V -D -y install groonga libgroonga-dev
35
+
36
+ Debian GNU/Linux sid
37
+ --------------------
38
+
39
+ /etc/apt/sources.list.d/groonga.list::
40
+
41
+ deb http://packages.groonga.org/debian/ unstable main
42
+ deb-src http://packages.groonga.org/debian/ unstable main
43
+
44
+ インストール::
45
+
46
+ % sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 1C837F31
47
+ % sudo aptitude update
48
+ % sudo aptitude -V -D -y install groonga libgroonga-dev
49
+
50
+ Ubuntu 8.04 LTS Hardy Heron
51
+ ---------------------------
52
+
53
+ 注: Ubuntu本家のuniverseセクションもインストール対象としておくこと
54
+
55
+ /etc/apt/sources.list.d/groonga.list::
56
+
57
+ deb http://packages.groonga.org/ubuntu/ hardy universe
58
+ deb-src http://packages.groonga.org/ubuntu/ hardy universe
59
+
60
+ インストール::
61
+
62
+ % sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 1C837F31
63
+ % sudo aptitude update
64
+ % sudo aptitude -V -D -y install groonga libgroonga-dev
65
+
66
+ Ubuntu 10.04 Lucid Lynx
67
+ -----------------------
68
+
69
+ 注: Ubuntu本家のuniverseセクションもインストール対象としておくこと
70
+
71
+ /etc/apt/sources.list.d/groonga.list::
72
+
73
+ deb http://packages.groonga.org/ubuntu/ karmic universe
74
+ deb-src http://packages.groonga.org/ubuntu/ karmic universe
75
+
76
+ インストール::
77
+
78
+ % sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 1C837F31
79
+ % sudo aptitude update
80
+ % sudo aptitude -V -D -y install groonga libgroonga-dev
81
+
82
+ CentOS 5
83
+ --------
84
+
85
+ インストール::
86
+
87
+ % sudo rpm -ivh http://packages.groonga.org/centos/groonga-repository-1.0.0-0.noarch.rpm
88
+ % sudo yum update
89
+ % sudo yum install -y groonga groonga-tokenizer-mecab groonga-devel
90
+
91
+ Fedora 13
92
+ ---------
93
+
94
+ インストール::
95
+
96
+ % sudo rpm -ivh http://packages.groonga.org/fedora/groonga-repository-1.0.0-0.noarch.rpm
97
+ % sudo yum update
98
+ % sudo yum install -y groonga groonga-tokenizer-mecab groonga-devel
99
+
100
+ その他
101
+ ------
102
+
103
+ 形態素単位でトークナイズした全文検索索引を使用したい場合は、
104
+ groongaのインストール前にMeCab
105
+ (http://mecab.sourceforge.net/)をインストールしてください。
106
+
107
+ http://groonga.org/download/よりtar.gzファイルを取得し、
108
+ インストール先の環境にファイルを展開して、 ::
109
+
110
+ ./configure --prefix=/usr --localstatedir=/var && make && sudo make install
111
+
112
+ のように実行することでインストールできます。
113
+
114
+ prefixは、インストール先を指定するパラメータです。prefixを指定しない場合には、/usr/localが指定されたものとみなします。LD_LIBRARY_PATHなどに詳しくない人は、上記のように/usrを指定することをお勧めします。
@@ -0,0 +1,199 @@
1
+ .. highlightlang:: none
2
+
3
+ お知らせ
4
+ ========
5
+
6
+ 1.0.2リリース - 2010/09/09
7
+ --------------------------
8
+
9
+ 改良
10
+ ++++
11
+
12
+ * :ref:`suggest` コマンドのサンプルを追加。(examples/dictionary/)
13
+
14
+ 変更
15
+ ++++
16
+
17
+ * HTTPで公開するディレクトリを指定する--admin-html-pathを--document-rootに変更。
18
+ * :ref:`select` コマンドのデフォルトの--output_columnsから_valueを削除。
19
+
20
+ 修正
21
+ ++++
22
+
23
+ * パッケージミスを修正。 (OBATA Akioさんが報告)
24
+ * GeoPointの度表記の解釈を修正。 #460
25
+
26
+ 感謝
27
+ ++++
28
+
29
+ * OBATA Akioさん
30
+
31
+
32
+ 1.0.1リリース - 2010/09/06
33
+ --------------------------
34
+
35
+ 改良
36
+ ++++
37
+
38
+ * CentOS 5/Fedora 13用RPMの提供。(Daiki Uenoさん作成のspecがベース)
39
+
40
+ * ログパスのデフォルト値に--localstatedirを使用。(OBATA Akioさんが提案)
41
+
42
+ * BOM付きUTF-8に対応。
43
+
44
+ 修正
45
+ ++++
46
+
47
+ * JSON JQueryプラグインが同梱されていない問題の修正。
48
+
49
+ * テストが失敗する問題の修正。(OBATA Akioさんが報告)
50
+
51
+ 感謝
52
+ ++++
53
+
54
+ * Daiki Uenoさん
55
+ * OBATA Akioさん
56
+
57
+ 1.0.0リリース - 2010/08/29
58
+ --------------------------
59
+
60
+ 改良
61
+ ++++
62
+
63
+ * 指定したクエリに対する補完・修正・提案を行う :ref:`suggest` コマンドを追加。
64
+
65
+ * :ref:`deelte` コマンドが失敗したらfalseを返すように変更。(Itagaki Takahiroさんが提案)
66
+
67
+ 修正
68
+ ++++
69
+
70
+ * 関数もコマンドとして呼び出してしまう問題を修正。#431
71
+
72
+ * 索引付きカラムを等価条件で検索できない問題を修正。
73
+
74
+ * :ref:`delete` コマンドでキーがShortText以外のレコードを削除できない問題の修正。(Itagaki Takahiroさんが報告)
75
+
76
+ 感謝
77
+ ++++
78
+
79
+ * Itagaki Takahiroさん
80
+
81
+ 0.7.7リリース - 2010/08/25
82
+ --------------------------
83
+
84
+ 改良
85
+ ++++
86
+
87
+ * 編集距離(レーベンシュタイン距離)を計算する
88
+ :ref:`edit_distance` ()関数の追加。
89
+
90
+ * manを追加。
91
+
92
+ * :ref:`delete` コマンドでデータの整合性が壊れる場合はエラー
93
+ を返すようにした。
94
+
95
+ * MeCabの辞書のエンコーディング検出処理を改善。
96
+
97
+ * デフォルトの設定ファイルを追加。
98
+
99
+ 修正
100
+ ++++
101
+
102
+ * :ref:`geo_in_rectangle` ()関数が引数を「左上」と「右下」で
103
+ はなく、「左下」と「右上」と扱っていた問題を修正。
104
+
105
+ * 前方一致検索がマッチしない問題を修正。
106
+
107
+
108
+ 0.7.6リリース - 2010/08/19
109
+ --------------------------
110
+
111
+ 改良
112
+ ++++
113
+
114
+ * デーモンになるときは標準出力を閉じるようにした。
115
+
116
+ * PIDファイルを指定する``--pid-path``オプションを追加。
117
+
118
+ * 設定ファイルを指定する``--config-path``オプションを追加。
119
+
120
+ * 最大キャッシュ数を指定する``--cache-limit``オプションを追加。
121
+
122
+ * 設定値を表示する``--show-config``オプションを追加。
123
+
124
+ * 指定したファイルからコマンドを読み込む``--file``オプションを追加。
125
+
126
+ * groongaとMeCabの辞書のエンコーディングが同じかどうかを確
127
+ 認するようにした。
128
+
129
+ * Web管理画面:
130
+
131
+ - データロード機能を追加。
132
+ - uptimeの表示形式を読みやすい形式に変更。
133
+
134
+ * Muninプラグインの追加。
135
+
136
+ - クエリパフォーマンス計測用
137
+ - ディスク使用量計測用
138
+
139
+ * libedit対応。
140
+
141
+ * 存在しないデータベースを指定したときのエラーメッセージを改善。
142
+
143
+ * loadコマンド:
144
+
145
+ - 不正な文字を見つけた場合はログに出力。
146
+ - 必要な項目がない場合はログに出力。
147
+ - true/false/nullリテラルをサポート。
148
+ - GeoPointの度での指定をサポート。
149
+ (例: "35.6954581363924,139.564207350021")
150
+ - NO_KEYテーブルを参照しているカラム値をサポート。
151
+ - 数値のベクタをサポート。
152
+
153
+ * selectコマンド
154
+
155
+ - 索引を用いた高速なGeoPointの検索機能を追加。
156
+ - 索引を用いた高速なGeoPointのソート機能を追加。
157
+ (ただし複数のソートキーと一緒に使うことはできない。)
158
+ - ベクタのGeoPointの出力に対応。
159
+ - 不正な入力値に対してエラーを出力するようにした。
160
+
161
+ * dumpコマンド:
162
+
163
+ - フラグを数値ではなくキーワードで出力するように変更。
164
+
165
+ * column_listコマンド:
166
+
167
+ - _keyカラムの出力に対応。
168
+
169
+ * deleteコマンド:
170
+
171
+ - データに不整合が発生する場合はデータを削除しないように変更。
172
+
173
+ * statusコマンド:
174
+
175
+ - キャッシュ情報を追加。
176
+
177
+ * データの整合性を確認するcheckコマンドの追加。
178
+
179
+ * 強制的にロックを解除するclearlockコマンドの追加。
180
+
181
+ * 最大キャッシュ数を指定するcache_limitコマンドの追加。
182
+
183
+ * フラグメンテーションを解消するdefragコマンドの追加。
184
+
185
+ * データ投入後のインデックスカラム作成に対応。
186
+
187
+ 修正
188
+ ++++
189
+
190
+ * 不正なsortキーを指定された場合はSEGVする問題の修正。
191
+ * selectの出力に不正なカラムを指定された時にSEGVする問題を修正。
192
+ * 空のベクタをloadするとSEGVする問題の修正。
193
+ * メモリリークの修正。
194
+ * drilldown時に参照先が存在しない場合にSEGVする問題の修正。
195
+
196
+ 感謝
197
+ ++++
198
+
199
+ * おばたさん
@@ -0,0 +1,12 @@
1
+ .. highlightlang:: none
2
+
3
+ 実行環境
4
+ ========
5
+
6
+ .. toctree::
7
+ :maxdepth: 1
8
+
9
+ execfile
10
+ http
11
+ grnslap
12
+ grntest
@@ -0,0 +1,38 @@
1
+ .. highlightlang:: none
2
+
3
+ 疑似カラム (pseudo_column)
4
+ ==========================
5
+
6
+ 名前
7
+ ----
8
+
9
+ 疑似カラム
10
+
11
+ 説明
12
+ ----
13
+
14
+ groongaのデータベースで作成したテーブルには、いくつかのカラムが自動的に定義されます。
15
+
16
+ これらのカラムはいずれもアンダースコア('_')で始まる名前が付与されます。定義される疑似カラムは、テーブルの種類によって異なります。
17
+
18
+ ``_id``
19
+
20
+ レコードに付与される一意な番号です。全てのテーブルに定義されます。値の範囲は1〜1073741824の整数で、通常はレコードを追加した順に1ずつ加算されます。_idの値は不変で、レコードが存在する限り変更することはできません。ただし、削除されたレコードの_idの値は再利用されます。
21
+
22
+ ``_key``
23
+
24
+ レコードの主キー値を表します。主キーを持つテーブルのみに定義されます。主キー値はテーブルの中で一意であり、変更することはできません。
25
+
26
+ ``_value``
27
+
28
+ レコードの値を表します。value_typeを指定したテーブルのみに定義されます。自由に変更可能です。
29
+
30
+ ``_score``
31
+
32
+ 各レコードのスコア値を表します。検索結果として生成されたテーブルのみに定義されます。
33
+
34
+ 検索処理を実行する過程で値が設定されますが、自由に変更可能です。
35
+
36
+ ``_nsubrecs``
37
+
38
+ 主キーの値が同一であったレコードの件数を表します。検索結果として生成されたテーブルのみに定義されます。グループ化(drilldown)処理を実行すると、グループ化前のテーブルにおいて、グループ化キーの値が同一であったレコードの件数が、グループ化処理の結果を格納するテーブルの_nsubrecsに記録されます。
@@ -0,0 +1,762 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ source.rdoc
4
+ ~~~~~~~~~~~
5
+
6
+ RDoc Sphinx builder.
7
+
8
+ Derived from Sphinx's plain-text sphinx builder.
9
+
10
+ :copyright: Copyright 2007-2009 by the Sphinx team, see Sphinx's AUTHORS.
11
+ Copyright 2009 by Kouhei Sutou.
12
+ :license: BSD, see LICENSE for details.
13
+ """
14
+
15
+ from os import path
16
+ import codecs
17
+ import textwrap
18
+
19
+ from docutils import nodes, writers
20
+ from docutils.io import StringOutput
21
+
22
+ from sphinx.util import ensuredir, os_path
23
+ from sphinx.builders import Builder
24
+
25
+ class RDocWriter(writers.Writer):
26
+ supported = ('rdoc',)
27
+ settings_spec = ('No options here.', '', ())
28
+ settings_defaults = {}
29
+
30
+ output = None
31
+
32
+ def __init__(self, builder):
33
+ writers.Writer.__init__(self)
34
+ self.builder = builder
35
+
36
+ def translate(self):
37
+ visitor = RDocTranslator(self.document, self.builder)
38
+ self.document.walkabout(visitor)
39
+ self.output = visitor.body
40
+
41
+ MAXWIDTH = 70
42
+ STDINDENT = 2
43
+
44
+ class RDocTranslator(nodes.NodeVisitor):
45
+ sectionchars = '*=-~"+'
46
+
47
+ def __init__(self, document, builder):
48
+ nodes.NodeVisitor.__init__(self, document)
49
+
50
+ self.states = [[]]
51
+ self.stateindent = [0]
52
+ self.sectionlevel = 0
53
+ self.table = None
54
+
55
+ def add_text(self, text):
56
+ self.states[-1].append((-1, text))
57
+ def new_state(self, indent=STDINDENT):
58
+ self.states.append([])
59
+ self.stateindent.append(indent)
60
+ def end_state(self, wrap=True, end=[''], first=None):
61
+ content = self.states.pop()
62
+ maxindent = sum(self.stateindent)
63
+ indent = self.stateindent.pop()
64
+ result = []
65
+ toformat = []
66
+ def do_format():
67
+ if not toformat:
68
+ return
69
+ if wrap:
70
+ res = textwrap.wrap(''.join(toformat), width=MAXWIDTH-maxindent)
71
+ else:
72
+ res = ''.join(toformat).splitlines()
73
+ if end:
74
+ res += end
75
+ result.append((indent, res))
76
+ for itemindent, item in content:
77
+ if itemindent == -1:
78
+ toformat.append(item)
79
+ else:
80
+ do_format()
81
+ result.append((indent + itemindent, item))
82
+ toformat = []
83
+ do_format()
84
+ if first is not None and result:
85
+ itemindent, item = result[0]
86
+ if item:
87
+ result.insert(0, (itemindent - indent, [first + item[0]]))
88
+ result[1] = (itemindent, item[1:])
89
+ self.states[-1].extend(result)
90
+
91
+ def visit_document(self, node):
92
+ self.new_state(0)
93
+ def depart_document(self, node):
94
+ self.end_state()
95
+ self.body = '\n'.join(line and (' '*indent + line)
96
+ for indent, lines in self.states[0]
97
+ for line in lines)
98
+ # XXX header/footer?
99
+
100
+ def visit_highlightlang(self, node):
101
+ raise nodes.SkipNode
102
+
103
+ def visit_section(self, node):
104
+ self._title_char = self.sectionchars[self.sectionlevel]
105
+ self.sectionlevel += 1
106
+ def depart_section(self, node):
107
+ self.sectionlevel -= 1
108
+
109
+ def visit_topic(self, node):
110
+ self.new_state(0)
111
+ def depart_topic(self, node):
112
+ self.end_state()
113
+
114
+ visit_sidebar = visit_topic
115
+ depart_sidebar = depart_topic
116
+
117
+ def visit_rubric(self, node):
118
+ self.new_state(0)
119
+ self.add_text('-[ ')
120
+ def depart_rubric(self, node):
121
+ self.add_text(' ]-')
122
+ self.end_state()
123
+
124
+ def visit_compound(self, node):
125
+ pass
126
+ def depart_compound(self, node):
127
+ pass
128
+
129
+ def visit_glossary(self, node):
130
+ pass
131
+ def depart_glossary(self, node):
132
+ pass
133
+
134
+ def visit_title(self, node):
135
+ if isinstance(node.parent, nodes.Admonition):
136
+ self.add_text(node.astext()+': ')
137
+ raise nodes.SkipNode
138
+ self.new_state(0)
139
+ def depart_title(self, node):
140
+ text = ''.join(x[1] for x in self.states.pop() if x[0] == -1)
141
+ text = ("=" * self.sectionlevel) + " " + text
142
+ self.stateindent.pop()
143
+ self.states[-1].append((0, ['', text, '']))
144
+
145
+ def visit_subtitle(self, node):
146
+ pass
147
+ def depart_subtitle(self, node):
148
+ pass
149
+
150
+ def visit_attribution(self, node):
151
+ self.add_text('-- ')
152
+ def depart_attribution(self, node):
153
+ pass
154
+
155
+ def visit_module(self, node):
156
+ if node.has_key('platform'):
157
+ self.new_state(0)
158
+ self.add_text(_('Platform: %s') % node['platform'])
159
+ self.end_state()
160
+ raise nodes.SkipNode
161
+
162
+ def visit_desc(self, node):
163
+ pass
164
+ def depart_desc(self, node):
165
+ pass
166
+
167
+ def visit_desc_signature(self, node):
168
+ self.new_state(0)
169
+ if node.parent['desctype'] in ('class', 'exception'):
170
+ self.add_text('%s ' % node.parent['desctype'])
171
+ def depart_desc_signature(self, node):
172
+ # XXX: wrap signatures in a way that makes sense
173
+ self.end_state(wrap=False, end=None)
174
+
175
+ def visit_desc_name(self, node):
176
+ pass
177
+ def depart_desc_name(self, node):
178
+ pass
179
+
180
+ def visit_desc_addname(self, node):
181
+ pass
182
+ def depart_desc_addname(self, node):
183
+ pass
184
+
185
+ def visit_desc_type(self, node):
186
+ pass
187
+ def depart_desc_type(self, node):
188
+ pass
189
+
190
+ def visit_desc_returns(self, node):
191
+ self.add_text(' -> ')
192
+ def depart_desc_returns(self, node):
193
+ pass
194
+
195
+ def visit_desc_parameterlist(self, node):
196
+ self.add_text('(')
197
+ self.first_param = 1
198
+ def depart_desc_parameterlist(self, node):
199
+ self.add_text(')')
200
+
201
+ def visit_desc_parameter(self, node):
202
+ if not self.first_param:
203
+ self.add_text(', ')
204
+ else:
205
+ self.first_param = 0
206
+ self.add_text(node.astext())
207
+ raise nodes.SkipNode
208
+
209
+ def visit_desc_optional(self, node):
210
+ self.add_text('[')
211
+ def depart_desc_optional(self, node):
212
+ self.add_text(']')
213
+
214
+ def visit_desc_annotation(self, node):
215
+ pass
216
+ def depart_desc_annotation(self, node):
217
+ pass
218
+
219
+ def visit_refcount(self, node):
220
+ pass
221
+ def depart_refcount(self, node):
222
+ pass
223
+
224
+ def visit_desc_content(self, node):
225
+ self.new_state()
226
+ self.add_text('\n')
227
+ def depart_desc_content(self, node):
228
+ self.end_state()
229
+
230
+ def visit_figure(self, node):
231
+ self.new_state()
232
+ def depart_figure(self, node):
233
+ self.end_state()
234
+
235
+ def visit_caption(self, node):
236
+ pass
237
+ def depart_caption(self, node):
238
+ pass
239
+
240
+ def visit_productionlist(self, node):
241
+ self.new_state()
242
+ names = []
243
+ for production in node:
244
+ names.append(production['tokenname'])
245
+ maxlen = max(len(name) for name in names)
246
+ for production in node:
247
+ if production['tokenname']:
248
+ self.add_text(production['tokenname'].ljust(maxlen) + ' ::=')
249
+ lastname = production['tokenname']
250
+ else:
251
+ self.add_text('%s ' % (' '*len(lastname)))
252
+ self.add_text(production.astext() + '\n')
253
+ self.end_state(wrap=False)
254
+ raise nodes.SkipNode
255
+
256
+ def visit_seealso(self, node):
257
+ self.new_state()
258
+ def depart_seealso(self, node):
259
+ self.end_state(first='')
260
+
261
+ def visit_footnote(self, node):
262
+ self._footnote = node.children[0].astext().strip()
263
+ self.new_state(len(self._footnote) + 3)
264
+ def depart_footnote(self, node):
265
+ self.end_state(first='[%s] ' % self._footnote)
266
+
267
+ def visit_citation(self, node):
268
+ if len(node) and isinstance(node[0], nodes.label):
269
+ self._citlabel = node[0].astext()
270
+ else:
271
+ self._citlabel = ''
272
+ self.new_state(len(self._citlabel) + 3)
273
+ def depart_citation(self, node):
274
+ self.end_state(first='[%s] ' % self._citlabel)
275
+
276
+ def visit_label(self, node):
277
+ raise nodes.SkipNode
278
+
279
+ # XXX: option list could use some better styling
280
+
281
+ def visit_option_list(self, node):
282
+ pass
283
+ def depart_option_list(self, node):
284
+ pass
285
+
286
+ def visit_option_list_item(self, node):
287
+ self.new_state(0)
288
+ def depart_option_list_item(self, node):
289
+ self.end_state()
290
+
291
+ def visit_option_group(self, node):
292
+ self._firstoption = True
293
+ def depart_option_group(self, node):
294
+ self.add_text(' ')
295
+
296
+ def visit_option(self, node):
297
+ if self._firstoption:
298
+ self._firstoption = False
299
+ else:
300
+ self.add_text(', ')
301
+ def depart_option(self, node):
302
+ pass
303
+
304
+ def visit_option_string(self, node):
305
+ pass
306
+ def depart_option_string(self, node):
307
+ pass
308
+
309
+ def visit_option_argument(self, node):
310
+ self.add_text(node['delimiter'])
311
+ def depart_option_argument(self, node):
312
+ pass
313
+
314
+ def visit_description(self, node):
315
+ pass
316
+ def depart_description(self, node):
317
+ pass
318
+
319
+ def visit_tabular_col_spec(self, node):
320
+ raise nodes.SkipNode
321
+
322
+ def visit_colspec(self, node):
323
+ self.table[0].append(node['colwidth'])
324
+ raise nodes.SkipNode
325
+
326
+ def visit_tgroup(self, node):
327
+ pass
328
+ def depart_tgroup(self, node):
329
+ pass
330
+
331
+ def visit_thead(self, node):
332
+ pass
333
+ def depart_thead(self, node):
334
+ pass
335
+
336
+ def visit_tbody(self, node):
337
+ self.table.append('sep')
338
+ def depart_tbody(self, node):
339
+ pass
340
+
341
+ def visit_row(self, node):
342
+ self.table.append([])
343
+ def depart_row(self, node):
344
+ pass
345
+
346
+ def visit_entry(self, node):
347
+ if node.has_key('morerows') or node.has_key('morecols'):
348
+ raise NotImplementedError('Column or row spanning cells are '
349
+ 'not implemented.')
350
+ self.new_state(0)
351
+ def depart_entry(self, node):
352
+ text = '\n'.join('\n'.join(x[1]) for x in self.states.pop())
353
+ self.stateindent.pop()
354
+ self.table[-1].append(text)
355
+
356
+ def visit_table(self, node):
357
+ if self.table:
358
+ raise NotImplementedError('Nested tables are not supported.')
359
+ self.new_state(0)
360
+ self.table = [[]]
361
+ def depart_table(self, node):
362
+ lines = self.table[1:]
363
+ fmted_rows = []
364
+ colwidths = self.table[0]
365
+ realwidths = colwidths[:]
366
+ separator = 0
367
+ # don't allow paragraphs in table cells for now
368
+ for line in lines:
369
+ if line == 'sep':
370
+ separator = len(fmted_rows)
371
+ else:
372
+ cells = []
373
+ for i, cell in enumerate(line):
374
+ par = textwrap.wrap(cell, width=colwidths[i])
375
+ if par:
376
+ maxwidth = max(map(len, par))
377
+ else:
378
+ maxwidth = 0
379
+ realwidths[i] = max(realwidths[i], maxwidth)
380
+ cells.append(par)
381
+ fmted_rows.append(cells)
382
+
383
+ def writesep(char='-'):
384
+ out = ['+']
385
+ for width in realwidths:
386
+ out.append(char * (width+2))
387
+ out.append('+')
388
+ self.add_text(''.join(out) + '\n')
389
+
390
+ def writerow(row):
391
+ lines = map(None, *row)
392
+ for line in lines:
393
+ out = ['|']
394
+ for i, cell in enumerate(line):
395
+ if cell:
396
+ out.append(' ' + cell.ljust(realwidths[i]+1))
397
+ else:
398
+ out.append(' ' * (realwidths[i] + 2))
399
+ out.append('|')
400
+ self.add_text(''.join(out) + '\n')
401
+
402
+ for i, row in enumerate(fmted_rows):
403
+ if separator and i == separator:
404
+ writesep('=')
405
+ else:
406
+ writesep('-')
407
+ writerow(row)
408
+ writesep('-')
409
+ self.table = None
410
+ self.end_state(wrap=False)
411
+
412
+ def visit_acks(self, node):
413
+ self.new_state(0)
414
+ self.add_text(', '.join(n.astext() for n in node.children[0].children)
415
+ + '.')
416
+ self.end_state()
417
+ raise nodes.SkipNode
418
+
419
+ def visit_image(self, node):
420
+ self.add_text(_('[image]'))
421
+ raise nodes.SkipNode
422
+
423
+ def visit_transition(self, node):
424
+ indent = sum(self.stateindent)
425
+ self.new_state(0)
426
+ self.add_text('=' * (MAXWIDTH - indent))
427
+ self.end_state()
428
+ raise nodes.SkipNode
429
+
430
+ def visit_bullet_list(self, node):
431
+ self._list_counter = -1
432
+ def depart_bullet_list(self, node):
433
+ pass
434
+
435
+ def visit_enumerated_list(self, node):
436
+ self._list_counter = 0
437
+ def depart_enumerated_list(self, node):
438
+ pass
439
+
440
+ def visit_definition_list(self, node):
441
+ self._list_counter = -2
442
+ def depart_definition_list(self, node):
443
+ pass
444
+
445
+ def visit_list_item(self, node):
446
+ if self._list_counter == -1:
447
+ # bullet list
448
+ self.new_state(2)
449
+ elif self._list_counter == -2:
450
+ # definition list
451
+ pass
452
+ else:
453
+ # enumerated list
454
+ self._list_counter += 1
455
+ self.new_state(len(str(self._list_counter)) + 2)
456
+ def depart_list_item(self, node):
457
+ if self._list_counter == -1:
458
+ self.end_state(first='* ', end=None)
459
+ elif self._list_counter == -2:
460
+ pass
461
+ else:
462
+ self.end_state(first='%s. ' % self._list_counter, end=None)
463
+
464
+ def visit_definition_list_item(self, node):
465
+ self._li_has_classifier = len(node) >= 2 and \
466
+ isinstance(node[1], nodes.classifier)
467
+ def depart_definition_list_item(self, node):
468
+ pass
469
+
470
+ def visit_term(self, node):
471
+ self.new_state(0)
472
+ def depart_term(self, node):
473
+ if not self._li_has_classifier:
474
+ self.add_text("]")
475
+ self.end_state(first="[", end=None)
476
+
477
+ def visit_classifier(self, node):
478
+ self.add_text(' : ')
479
+ def depart_classifier(self, node):
480
+ self.end_state(end=None)
481
+
482
+ def visit_definition(self, node):
483
+ self.new_state()
484
+ def depart_definition(self, node):
485
+ self.end_state()
486
+
487
+ def visit_field_list(self, node):
488
+ pass
489
+ def depart_field_list(self, node):
490
+ pass
491
+
492
+ def visit_field(self, node):
493
+ pass
494
+ def depart_field(self, node):
495
+ pass
496
+
497
+ def visit_field_name(self, node):
498
+ self.new_state(0)
499
+ def depart_field_name(self, node):
500
+ self.add_text(':')
501
+ self.end_state(end=None)
502
+
503
+ def visit_field_body(self, node):
504
+ self.new_state()
505
+ def depart_field_body(self, node):
506
+ self.end_state()
507
+
508
+ def visit_centered(self, node):
509
+ pass
510
+ def depart_centered(self, node):
511
+ pass
512
+
513
+ def visit_hlist(self, node):
514
+ pass
515
+ def depart_hlist(self, node):
516
+ pass
517
+
518
+ def visit_hlistcol(self, node):
519
+ pass
520
+ def depart_hlistcol(self, node):
521
+ pass
522
+
523
+ def visit_admonition(self, node):
524
+ self.new_state(0)
525
+ def depart_admonition(self, node):
526
+ self.end_state()
527
+
528
+ def _visit_admonition(self, node):
529
+ self.new_state(2)
530
+ def _make_depart_admonition(name):
531
+ def depart_admonition(self, node):
532
+ self.end_state(first=admonitionlabels[name] + ': ')
533
+ return depart_admonition
534
+
535
+ visit_attention = _visit_admonition
536
+ depart_attention = _make_depart_admonition('attention')
537
+ visit_caution = _visit_admonition
538
+ depart_caution = _make_depart_admonition('caution')
539
+ visit_danger = _visit_admonition
540
+ depart_danger = _make_depart_admonition('danger')
541
+ visit_error = _visit_admonition
542
+ depart_error = _make_depart_admonition('error')
543
+ visit_hint = _visit_admonition
544
+ depart_hint = _make_depart_admonition('hint')
545
+ visit_important = _visit_admonition
546
+ depart_important = _make_depart_admonition('important')
547
+ visit_note = _visit_admonition
548
+ depart_note = _make_depart_admonition('note')
549
+ visit_tip = _visit_admonition
550
+ depart_tip = _make_depart_admonition('tip')
551
+ visit_warning = _visit_admonition
552
+ depart_warning = _make_depart_admonition('warning')
553
+
554
+ def visit_versionmodified(self, node):
555
+ self.new_state(0)
556
+ if node.children:
557
+ self.add_text(versionlabels[node['type']] % node['version'] + ': ')
558
+ else:
559
+ self.add_text(versionlabels[node['type']] % node['version'] + '.')
560
+ def depart_versionmodified(self, node):
561
+ self.end_state()
562
+
563
+ def visit_literal_block(self, node):
564
+ self.new_state()
565
+ def depart_literal_block(self, node):
566
+ self.end_state(wrap=False)
567
+
568
+ def visit_doctest_block(self, node):
569
+ self.new_state(0)
570
+ def depart_doctest_block(self, node):
571
+ self.end_state(wrap=False)
572
+
573
+ def visit_line_block(self, node):
574
+ self.new_state(0)
575
+ def depart_line_block(self, node):
576
+ self.end_state(wrap=False)
577
+
578
+ def visit_line(self, node):
579
+ pass
580
+ def depart_line(self, node):
581
+ pass
582
+
583
+ def visit_block_quote(self, node):
584
+ self.new_state(0)
585
+ def depart_block_quote(self, node):
586
+ self.end_state()
587
+
588
+ def visit_compact_paragraph(self, node):
589
+ pass
590
+ def depart_compact_paragraph(self, node):
591
+ pass
592
+
593
+ def visit_paragraph(self, node):
594
+ if not isinstance(node.parent, nodes.Admonition) or \
595
+ isinstance(node.parent, addnodes.seealso):
596
+ self.new_state(0)
597
+ def depart_paragraph(self, node):
598
+ if not isinstance(node.parent, nodes.Admonition) or \
599
+ isinstance(node.parent, addnodes.seealso):
600
+ self.end_state()
601
+
602
+ def visit_target(self, node):
603
+ raise nodes.SkipNode
604
+
605
+ def visit_index(self, node):
606
+ raise nodes.SkipNode
607
+
608
+ def visit_substitution_definition(self, node):
609
+ raise nodes.SkipNode
610
+
611
+ def visit_pending_xref(self, node):
612
+ pass
613
+ def depart_pending_xref(self, node):
614
+ pass
615
+
616
+ def visit_reference(self, node):
617
+ pass
618
+ def depart_reference(self, node):
619
+ pass
620
+
621
+ def visit_download_reference(self, node):
622
+ pass
623
+ def depart_download_reference(self, node):
624
+ pass
625
+
626
+ def visit_emphasis(self, node):
627
+ self.add_text('*')
628
+ def depart_emphasis(self, node):
629
+ self.add_text('*')
630
+
631
+ def visit_literal_emphasis(self, node):
632
+ self.add_text('*')
633
+ def depart_literal_emphasis(self, node):
634
+ self.add_text('*')
635
+
636
+ def visit_strong(self, node):
637
+ self.add_text('**')
638
+ def depart_strong(self, node):
639
+ self.add_text('**')
640
+
641
+ def visit_abbreviation(self, node):
642
+ self.add_text('')
643
+ def depart_abbreviation(self, node):
644
+ if node.hasattr('explanation'):
645
+ self.add_text(' (%s)' % node['explanation'])
646
+
647
+ def visit_title_reference(self, node):
648
+ self.add_text('*')
649
+ def depart_title_reference(self, node):
650
+ self.add_text('*')
651
+
652
+ def visit_literal(self, node):
653
+ self.add_text('``')
654
+ def depart_literal(self, node):
655
+ self.add_text('``')
656
+
657
+ def visit_subscript(self, node):
658
+ self.add_text('_')
659
+ def depart_subscript(self, node):
660
+ pass
661
+
662
+ def visit_superscript(self, node):
663
+ self.add_text('^')
664
+ def depart_superscript(self, node):
665
+ pass
666
+
667
+ def visit_footnote_reference(self, node):
668
+ self.add_text('[%s]' % node.astext())
669
+ raise nodes.SkipNode
670
+
671
+ def visit_citation_reference(self, node):
672
+ self.add_text('[%s]' % node.astext())
673
+ raise nodes.SkipNode
674
+
675
+ def visit_Text(self, node):
676
+ self.add_text(node.astext())
677
+ def depart_Text(self, node):
678
+ pass
679
+
680
+ def visit_generated(self, node):
681
+ pass
682
+ def depart_generated(self, node):
683
+ pass
684
+
685
+ def visit_inline(self, node):
686
+ pass
687
+ def depart_inline(self, node):
688
+ pass
689
+
690
+ def visit_problematic(self, node):
691
+ self.add_text('>>')
692
+ def depart_problematic(self, node):
693
+ self.add_text('<<')
694
+
695
+ def visit_system_message(self, node):
696
+ self.new_state(0)
697
+ self.add_text('<SYSTEM MESSAGE: %s>' % node.astext())
698
+ self.end_state()
699
+ raise nodes.SkipNode
700
+
701
+ def visit_comment(self, node):
702
+ raise nodes.SkipNode
703
+
704
+ def visit_meta(self, node):
705
+ # only valid for HTML
706
+ raise nodes.SkipNode
707
+
708
+ def unknown_visit(self, node):
709
+ raise NotImplementedError('Unknown node: ' + node.__class__.__name__)
710
+
711
+ class RDocBuilder(Builder):
712
+ name = 'rdoc'
713
+ format = 'rdoc'
714
+ out_suffix = '.rdoc'
715
+
716
+ def init(self):
717
+ pass
718
+
719
+ def get_outdated_docs(self):
720
+ for docname in self.env.found_docs:
721
+ if docname not in self.env.all_docs:
722
+ yield docname
723
+ continue
724
+ targetname = self.env.doc2path(docname, self.outdir,
725
+ self.out_suffix)
726
+ try:
727
+ targetmtime = path.getmtime(targetname)
728
+ except Exception:
729
+ targetmtime = 0
730
+ try:
731
+ srcmtime = path.getmtime(self.env.doc2path(docname))
732
+ if srcmtime > targetmtime:
733
+ yield docname
734
+ except EnvironmentError:
735
+ # source doesn't exist anymore
736
+ pass
737
+
738
+ def get_target_uri(self, docname, typ=None):
739
+ return ''
740
+
741
+ def prepare_writing(self, docnames):
742
+ self.writer = RDocWriter(self)
743
+
744
+ def write_doc(self, docname, doctree):
745
+ destination = StringOutput(encoding='utf-8')
746
+ self.writer.write(doctree, destination)
747
+ outfilename = path.join(self.outdir, os_path(docname) + self.out_suffix)
748
+ ensuredir(path.dirname(outfilename))
749
+ try:
750
+ f = codecs.open(outfilename, 'w', 'utf-8')
751
+ try:
752
+ f.write(self.writer.output)
753
+ finally:
754
+ f.close()
755
+ except (IOError, OSError), err:
756
+ self.warn("error writing file %s: %s" % (outfilename, err))
757
+
758
+ def finish(self):
759
+ pass
760
+
761
+ def setup(app):
762
+ app.add_builder(RDocBuilder)