rroonga 2.0.2-x86-mingw32 → 2.0.3-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (398) hide show
  1. data/AUTHORS +5 -0
  2. data/Gemfile +1 -12
  3. data/README.textile +73 -0
  4. data/Rakefile +4 -57
  5. data/bin/grndump +11 -1
  6. data/ext/groonga/extconf.rb +125 -54
  7. data/ext/groonga/rb-grn-context.c +25 -7
  8. data/ext/groonga/rb-grn-database.c +25 -0
  9. data/ext/groonga/rb-grn-object.c +19 -7
  10. data/ext/groonga/rb-grn-table.c +8 -10
  11. data/ext/groonga/rb-grn.h +9 -2
  12. data/lib/1.8/groonga.so +0 -0
  13. data/lib/1.9/groonga.so +0 -0
  14. data/lib/groonga/dumper.rb +2 -2
  15. data/lib/groonga/expression-builder.rb +33 -18
  16. data/rroonga-build.rb +1 -1
  17. data/vendor/local/bin/groonga-benchmark.exe +0 -0
  18. data/vendor/local/bin/groonga.exe +0 -0
  19. data/vendor/local/bin/libgcc_s_sjlj-1.dll +0 -0
  20. data/vendor/local/bin/libgroonga-0.dll +0 -0
  21. data/vendor/local/bin/libmecab-1.dll +0 -0
  22. data/vendor/local/bin/libmsgpack-3.dll +0 -0
  23. data/vendor/local/bin/libmsgpackc-2.dll +0 -0
  24. data/vendor/local/bin/libstdc++-6.dll +0 -0
  25. data/vendor/local/bin/mecab-config +0 -0
  26. data/vendor/local/bin/mecab.exe +0 -0
  27. data/vendor/local/include/groonga/groonga.h +5 -5
  28. data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
  29. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
  30. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
  31. data/vendor/local/lib/groonga/plugins/suggest/suggest.la +0 -0
  32. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
  33. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
  34. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
  35. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +0 -0
  36. data/vendor/local/lib/libgroonga.a +0 -0
  37. data/vendor/local/lib/libgroonga.dll.a +0 -0
  38. data/vendor/local/lib/libgroonga.la +0 -0
  39. data/vendor/local/lib/libmecab.a +0 -0
  40. data/vendor/local/lib/libmecab.dll.a +0 -0
  41. data/vendor/local/lib/libmecab.la +0 -0
  42. data/vendor/local/lib/libmsgpack.a +0 -0
  43. data/vendor/local/lib/libmsgpack.dll.a +0 -0
  44. data/vendor/local/lib/libmsgpack.la +0 -0
  45. data/vendor/local/lib/libmsgpackc.a +0 -0
  46. data/vendor/local/lib/libmsgpackc.dll.a +0 -0
  47. data/vendor/local/lib/libmsgpackc.la +0 -0
  48. data/vendor/local/lib/pkgconfig/groonga.pc +4 -4
  49. data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
  50. data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
  51. data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
  52. data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
  53. data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
  54. data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
  55. data/vendor/local/share/doc/groonga/en/html/_sources/commands/select.txt +349 -109
  56. data/vendor/local/share/doc/groonga/en/html/_sources/install.txt +41 -10
  57. data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +71 -0
  58. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/data.txt +1 -1
  59. data/vendor/local/share/doc/groonga/en/html/_static/jquery.js +154 -4
  60. data/vendor/local/share/doc/groonga/en/html/_static/underscore.js +21 -29
  61. data/vendor/local/share/doc/groonga/en/html/characteristic.html +5 -5
  62. data/vendor/local/share/doc/groonga/en/html/command_version.html +5 -5
  63. data/vendor/local/share/doc/groonga/en/html/commands/cache_limit.html +5 -5
  64. data/vendor/local/share/doc/groonga/en/html/commands/check.html +5 -5
  65. data/vendor/local/share/doc/groonga/en/html/commands/clearlock.html +5 -5
  66. data/vendor/local/share/doc/groonga/en/html/commands/column_create.html +5 -5
  67. data/vendor/local/share/doc/groonga/en/html/commands/column_list.html +5 -5
  68. data/vendor/local/share/doc/groonga/en/html/commands/column_remove.html +5 -5
  69. data/vendor/local/share/doc/groonga/en/html/commands/define_selector.html +5 -5
  70. data/vendor/local/share/doc/groonga/en/html/commands/defrag.html +5 -5
  71. data/vendor/local/share/doc/groonga/en/html/commands/delete.html +5 -5
  72. data/vendor/local/share/doc/groonga/en/html/commands/dump.html +5 -5
  73. data/vendor/local/share/doc/groonga/en/html/commands/load.html +5 -5
  74. data/vendor/local/share/doc/groonga/en/html/commands/log_level.html +5 -5
  75. data/vendor/local/share/doc/groonga/en/html/commands/log_put.html +5 -5
  76. data/vendor/local/share/doc/groonga/en/html/commands/log_reopen.html +5 -5
  77. data/vendor/local/share/doc/groonga/en/html/commands/quit.html +5 -5
  78. data/vendor/local/share/doc/groonga/en/html/commands/select.html +683 -162
  79. data/vendor/local/share/doc/groonga/en/html/commands/shutdown.html +5 -5
  80. data/vendor/local/share/doc/groonga/en/html/commands/status.html +5 -5
  81. data/vendor/local/share/doc/groonga/en/html/commands/suggest.html +170 -12
  82. data/vendor/local/share/doc/groonga/en/html/commands/table_create.html +5 -5
  83. data/vendor/local/share/doc/groonga/en/html/commands/table_list.html +5 -5
  84. data/vendor/local/share/doc/groonga/en/html/commands/table_remove.html +5 -5
  85. data/vendor/local/share/doc/groonga/en/html/commands/view_add.html +5 -5
  86. data/vendor/local/share/doc/groonga/en/html/commands.html +5 -5
  87. data/vendor/local/share/doc/groonga/en/html/community.html +5 -5
  88. data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +5 -5
  89. data/vendor/local/share/doc/groonga/en/html/contribution/development/document.html +5 -5
  90. data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +5 -5
  91. data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +5 -5
  92. data/vendor/local/share/doc/groonga/en/html/contribution/development.html +5 -5
  93. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +5 -5
  94. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +5 -5
  95. data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +5 -5
  96. data/vendor/local/share/doc/groonga/en/html/contribution/report.html +5 -5
  97. data/vendor/local/share/doc/groonga/en/html/contribution.html +5 -5
  98. data/vendor/local/share/doc/groonga/en/html/executables/grnslap.html +5 -5
  99. data/vendor/local/share/doc/groonga/en/html/executables/grntest.html +5 -5
  100. data/vendor/local/share/doc/groonga/en/html/executables/groonga-http.html +5 -5
  101. data/vendor/local/share/doc/groonga/en/html/executables/groonga-suggest-create-dataset.html +5 -5
  102. data/vendor/local/share/doc/groonga/en/html/executables/groonga.html +5 -5
  103. data/vendor/local/share/doc/groonga/en/html/executables.html +5 -5
  104. data/vendor/local/share/doc/groonga/en/html/expr.html +5 -5
  105. data/vendor/local/share/doc/groonga/en/html/functions/edit_distance.html +5 -5
  106. data/vendor/local/share/doc/groonga/en/html/functions/geo_distance.html +5 -5
  107. data/vendor/local/share/doc/groonga/en/html/functions/geo_in_circle.html +5 -5
  108. data/vendor/local/share/doc/groonga/en/html/functions/geo_in_rectangle.html +5 -5
  109. data/vendor/local/share/doc/groonga/en/html/functions/now.html +5 -5
  110. data/vendor/local/share/doc/groonga/en/html/functions/rand.html +5 -5
  111. data/vendor/local/share/doc/groonga/en/html/functions.html +5 -5
  112. data/vendor/local/share/doc/groonga/en/html/genindex.html +5 -5
  113. data/vendor/local/share/doc/groonga/en/html/geolocation_search.html +5 -5
  114. data/vendor/local/share/doc/groonga/en/html/index.html +23 -16
  115. data/vendor/local/share/doc/groonga/en/html/indexing.html +95 -14
  116. data/vendor/local/share/doc/groonga/en/html/install.html +67 -37
  117. data/vendor/local/share/doc/groonga/en/html/limitations.html +9 -9
  118. data/vendor/local/share/doc/groonga/en/html/log.html +5 -5
  119. data/vendor/local/share/doc/groonga/en/html/news/0.x.html +5 -5
  120. data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +5 -5
  121. data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +5 -5
  122. data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +5 -5
  123. data/vendor/local/share/doc/groonga/en/html/news/senna.html +5 -5
  124. data/vendor/local/share/doc/groonga/en/html/news.html +161 -25
  125. data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
  126. data/vendor/local/share/doc/groonga/en/html/output.html +5 -5
  127. data/vendor/local/share/doc/groonga/en/html/pseudo_column.html +5 -5
  128. data/vendor/local/share/doc/groonga/en/html/reference.html +5 -5
  129. data/vendor/local/share/doc/groonga/en/html/search.html +5 -5
  130. data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
  131. data/vendor/local/share/doc/groonga/en/html/spec/search.html +22 -22
  132. data/vendor/local/share/doc/groonga/en/html/spec.html +13 -11
  133. data/vendor/local/share/doc/groonga/en/html/suggest/completion.html +33 -6
  134. data/vendor/local/share/doc/groonga/en/html/suggest/correction.html +33 -6
  135. data/vendor/local/share/doc/groonga/en/html/suggest/introduction.html +5 -5
  136. data/vendor/local/share/doc/groonga/en/html/suggest/suggestion.html +37 -6
  137. data/vendor/local/share/doc/groonga/en/html/suggest/tutorial.html +5 -5
  138. data/vendor/local/share/doc/groonga/en/html/suggest.html +5 -5
  139. data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +5 -5
  140. data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +5 -5
  141. data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +293 -29
  142. data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +5 -5
  143. data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +340 -27
  144. data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +5 -5
  145. data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +5 -5
  146. data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +282 -24
  147. data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +524 -15
  148. data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +103 -8
  149. data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +128 -13
  150. data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +155 -17
  151. data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +5 -5
  152. data/vendor/local/share/doc/groonga/en/html/tutorial.html +5 -5
  153. data/vendor/local/share/doc/groonga/en/html/type.html +5 -5
  154. data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
  155. data/vendor/local/share/doc/groonga/ja/html/_sources/commands/select.txt +349 -109
  156. data/vendor/local/share/doc/groonga/ja/html/_sources/install.txt +41 -10
  157. data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +71 -0
  158. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/data.txt +1 -1
  159. data/vendor/local/share/doc/groonga/ja/html/_static/jquery.js +154 -4
  160. data/vendor/local/share/doc/groonga/ja/html/_static/underscore.js +21 -29
  161. data/vendor/local/share/doc/groonga/ja/html/characteristic.html +5 -5
  162. data/vendor/local/share/doc/groonga/ja/html/command_version.html +5 -5
  163. data/vendor/local/share/doc/groonga/ja/html/commands/cache_limit.html +5 -5
  164. data/vendor/local/share/doc/groonga/ja/html/commands/check.html +5 -5
  165. data/vendor/local/share/doc/groonga/ja/html/commands/clearlock.html +5 -5
  166. data/vendor/local/share/doc/groonga/ja/html/commands/column_create.html +5 -5
  167. data/vendor/local/share/doc/groonga/ja/html/commands/column_list.html +5 -5
  168. data/vendor/local/share/doc/groonga/ja/html/commands/column_remove.html +5 -5
  169. data/vendor/local/share/doc/groonga/ja/html/commands/define_selector.html +5 -5
  170. data/vendor/local/share/doc/groonga/ja/html/commands/defrag.html +5 -5
  171. data/vendor/local/share/doc/groonga/ja/html/commands/delete.html +5 -5
  172. data/vendor/local/share/doc/groonga/ja/html/commands/dump.html +5 -5
  173. data/vendor/local/share/doc/groonga/ja/html/commands/load.html +5 -5
  174. data/vendor/local/share/doc/groonga/ja/html/commands/log_level.html +5 -5
  175. data/vendor/local/share/doc/groonga/ja/html/commands/log_put.html +5 -5
  176. data/vendor/local/share/doc/groonga/ja/html/commands/log_reopen.html +5 -5
  177. data/vendor/local/share/doc/groonga/ja/html/commands/quit.html +5 -5
  178. data/vendor/local/share/doc/groonga/ja/html/commands/select.html +601 -162
  179. data/vendor/local/share/doc/groonga/ja/html/commands/shutdown.html +5 -5
  180. data/vendor/local/share/doc/groonga/ja/html/commands/status.html +5 -5
  181. data/vendor/local/share/doc/groonga/ja/html/commands/suggest.html +170 -12
  182. data/vendor/local/share/doc/groonga/ja/html/commands/table_create.html +5 -5
  183. data/vendor/local/share/doc/groonga/ja/html/commands/table_list.html +5 -5
  184. data/vendor/local/share/doc/groonga/ja/html/commands/table_remove.html +5 -5
  185. data/vendor/local/share/doc/groonga/ja/html/commands/view_add.html +5 -5
  186. data/vendor/local/share/doc/groonga/ja/html/commands.html +5 -5
  187. data/vendor/local/share/doc/groonga/ja/html/community.html +5 -5
  188. data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +5 -5
  189. data/vendor/local/share/doc/groonga/ja/html/contribution/development/document.html +5 -5
  190. data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +5 -5
  191. data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +5 -5
  192. data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +5 -5
  193. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +5 -5
  194. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +5 -5
  195. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +5 -5
  196. data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +5 -5
  197. data/vendor/local/share/doc/groonga/ja/html/contribution.html +5 -5
  198. data/vendor/local/share/doc/groonga/ja/html/executables/grnslap.html +5 -5
  199. data/vendor/local/share/doc/groonga/ja/html/executables/grntest.html +5 -5
  200. data/vendor/local/share/doc/groonga/ja/html/executables/groonga-http.html +5 -5
  201. data/vendor/local/share/doc/groonga/ja/html/executables/groonga-suggest-create-dataset.html +5 -5
  202. data/vendor/local/share/doc/groonga/ja/html/executables/groonga.html +5 -5
  203. data/vendor/local/share/doc/groonga/ja/html/executables.html +5 -5
  204. data/vendor/local/share/doc/groonga/ja/html/expr.html +5 -5
  205. data/vendor/local/share/doc/groonga/ja/html/functions/edit_distance.html +5 -5
  206. data/vendor/local/share/doc/groonga/ja/html/functions/geo_distance.html +5 -5
  207. data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_circle.html +5 -5
  208. data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_rectangle.html +5 -5
  209. data/vendor/local/share/doc/groonga/ja/html/functions/now.html +5 -5
  210. data/vendor/local/share/doc/groonga/ja/html/functions/rand.html +5 -5
  211. data/vendor/local/share/doc/groonga/ja/html/functions.html +5 -5
  212. data/vendor/local/share/doc/groonga/ja/html/genindex.html +5 -5
  213. data/vendor/local/share/doc/groonga/ja/html/geolocation_search.html +5 -5
  214. data/vendor/local/share/doc/groonga/ja/html/index.html +23 -16
  215. data/vendor/local/share/doc/groonga/ja/html/indexing.html +95 -14
  216. data/vendor/local/share/doc/groonga/ja/html/install.html +66 -37
  217. data/vendor/local/share/doc/groonga/ja/html/limitations.html +9 -9
  218. data/vendor/local/share/doc/groonga/ja/html/log.html +5 -5
  219. data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +5 -5
  220. data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +5 -5
  221. data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +5 -5
  222. data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +5 -5
  223. data/vendor/local/share/doc/groonga/ja/html/news/senna.html +5 -5
  224. data/vendor/local/share/doc/groonga/ja/html/news.html +147 -25
  225. data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
  226. data/vendor/local/share/doc/groonga/ja/html/output.html +5 -5
  227. data/vendor/local/share/doc/groonga/ja/html/pseudo_column.html +5 -5
  228. data/vendor/local/share/doc/groonga/ja/html/reference.html +5 -5
  229. data/vendor/local/share/doc/groonga/ja/html/search.html +5 -5
  230. data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
  231. data/vendor/local/share/doc/groonga/ja/html/spec/search.html +22 -22
  232. data/vendor/local/share/doc/groonga/ja/html/spec.html +13 -11
  233. data/vendor/local/share/doc/groonga/ja/html/suggest/completion.html +33 -6
  234. data/vendor/local/share/doc/groonga/ja/html/suggest/correction.html +33 -6
  235. data/vendor/local/share/doc/groonga/ja/html/suggest/introduction.html +5 -5
  236. data/vendor/local/share/doc/groonga/ja/html/suggest/suggestion.html +37 -6
  237. data/vendor/local/share/doc/groonga/ja/html/suggest/tutorial.html +5 -5
  238. data/vendor/local/share/doc/groonga/ja/html/suggest.html +5 -5
  239. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +5 -5
  240. data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +5 -5
  241. data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +292 -28
  242. data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +5 -5
  243. data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +340 -27
  244. data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +5 -5
  245. data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +5 -5
  246. data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +282 -24
  247. data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +524 -15
  248. data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +103 -8
  249. data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +128 -13
  250. data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +155 -17
  251. data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +5 -5
  252. data/vendor/local/share/doc/groonga/ja/html/tutorial.html +5 -5
  253. data/vendor/local/share/doc/groonga/ja/html/type.html +5 -5
  254. data/vendor/local/share/doc/groonga/source/commands/select.txt +349 -109
  255. data/vendor/local/share/doc/groonga/source/commands/suggest-completion.log +28 -1
  256. data/vendor/local/share/doc/groonga/source/commands/suggest-correction.log +28 -1
  257. data/vendor/local/share/doc/groonga/source/commands/suggest-learn-completion.log +1 -1
  258. data/vendor/local/share/doc/groonga/source/commands/suggest-learn-correction.log +1 -1
  259. data/vendor/local/share/doc/groonga/source/commands/suggest-learn-suggestion.log +1 -1
  260. data/vendor/local/share/doc/groonga/source/commands/suggest-mixed.log +74 -1
  261. data/vendor/local/share/doc/groonga/source/commands/suggest-suggestion.log +32 -1
  262. data/vendor/local/share/doc/groonga/source/conf.py +3 -3
  263. data/vendor/local/share/doc/groonga/source/example/completion-1.log +28 -1
  264. data/vendor/local/share/doc/groonga/source/example/correction-1.log +28 -1
  265. data/vendor/local/share/doc/groonga/source/example/suggestion-1.log +32 -1
  266. data/vendor/local/share/doc/groonga/source/example/tutorial/data-1.log +1 -1
  267. data/vendor/local/share/doc/groonga/source/example/tutorial/data-2.log +38 -3
  268. data/vendor/local/share/doc/groonga/source/example/tutorial/data-3.log +46 -4
  269. data/vendor/local/share/doc/groonga/source/example/tutorial/data-4.log +38 -3
  270. data/vendor/local/share/doc/groonga/source/example/tutorial/data-5.log +38 -3
  271. data/vendor/local/share/doc/groonga/source/example/tutorial/data-6.log +38 -3
  272. data/vendor/local/share/doc/groonga/source/example/tutorial/data-7.log +40 -3
  273. data/vendor/local/share/doc/groonga/source/example/tutorial/data-8.log +48 -3
  274. data/vendor/local/share/doc/groonga/source/example/tutorial/index-1.log +6 -6
  275. data/vendor/local/share/doc/groonga/source/example/tutorial/index-2.log +100 -3
  276. data/vendor/local/share/doc/groonga/source/example/tutorial/index-3.log +5 -5
  277. data/vendor/local/share/doc/groonga/source/example/tutorial/index-4.log +80 -2
  278. data/vendor/local/share/doc/groonga/source/example/tutorial/index-5.log +75 -1
  279. data/vendor/local/share/doc/groonga/source/example/tutorial/index-6.log +31 -4
  280. data/vendor/local/share/doc/groonga/source/example/tutorial/index-7.log +38 -1
  281. data/vendor/local/share/doc/groonga/source/example/tutorial/match_columns-1.log +7 -7
  282. data/vendor/local/share/doc/groonga/source/example/tutorial/match_columns-2.log +132 -3
  283. data/vendor/local/share/doc/groonga/source/example/tutorial/match_columns-3.log +6 -6
  284. data/vendor/local/share/doc/groonga/source/example/tutorial/match_columns-4.log +132 -3
  285. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-1.log +32 -1
  286. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-10.log +95 -1
  287. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-2.log +32 -1
  288. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-3.log +32 -1
  289. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-4.log +86 -1
  290. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-5.log +32 -1
  291. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-6.log +70 -1
  292. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-7.log +51 -1
  293. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-8.log +55 -1
  294. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-9.log +34 -1
  295. data/vendor/local/share/doc/groonga/source/example/tutorial/network-1.log +18 -1
  296. data/vendor/local/share/doc/groonga/source/example/tutorial/network-3.log +80 -2
  297. data/vendor/local/share/doc/groonga/source/example/tutorial/patricia_trie-1.log +34 -3
  298. data/vendor/local/share/doc/groonga/source/example/tutorial/patricia_trie-2.log +89 -5
  299. data/vendor/local/share/doc/groonga/source/example/tutorial/query_expansion-1.log +8 -8
  300. data/vendor/local/share/doc/groonga/source/example/tutorial/query_expansion-2.log +66 -2
  301. data/vendor/local/share/doc/groonga/source/example/tutorial/query_expansion-3.log +76 -2
  302. data/vendor/local/share/doc/groonga/source/install.txt +41 -10
  303. data/vendor/local/share/doc/groonga/source/news.txt +71 -0
  304. data/vendor/local/share/doc/groonga/source/tutorial/data.txt +1 -1
  305. data/vendor/local/share/groonga/examples/dictionary/edict/edict-import.sh +0 -0
  306. data/vendor/local/share/groonga/examples/dictionary/edict/edict2grn.rb +1 -1
  307. data/vendor/local/share/groonga/examples/dictionary/eijiro/eijiro-import.sh +0 -0
  308. data/vendor/local/share/groonga/examples/dictionary/eijiro/eijiro2grn.rb +1 -1
  309. data/vendor/local/share/groonga/examples/dictionary/gene95/gene-import.sh +0 -0
  310. data/vendor/local/share/groonga/examples/dictionary/gene95/gene2grn.rb +1 -1
  311. data/vendor/local/share/groonga/examples/dictionary/init-db.sh +0 -0
  312. data/vendor/local/share/groonga/examples/dictionary/jmdict/jmdict.rb +1 -1
  313. data/vendor/local/share/groonga/html/admin/css/{admin.css → groonga-admin.css} +5 -4
  314. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  315. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
  316. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  317. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  318. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  319. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  320. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  321. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  322. data/vendor/local/share/groonga/html/admin/css/{ui-lightness/images/ui-icons_ffd27a_256x240.png → redmond/images/ui-icons_217bc0_256x240.png} +0 -0
  323. data/vendor/local/share/groonga/html/admin/css/{ui-lightness/images/ui-icons_222222_256x240.png → redmond/images/ui-icons_2e83ff_256x240.png} +0 -0
  324. data/vendor/local/share/groonga/html/admin/css/{ui-lightness/images/ui-icons_228ef1_256x240.png → redmond/images/ui-icons_469bdd_256x240.png} +0 -0
  325. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-icons_6da8d5_256x240.png +0 -0
  326. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-icons_cd0a0a_256x240.png +0 -0
  327. data/vendor/local/share/groonga/html/admin/css/{ui-lightness/images/ui-icons_ef8c08_256x240.png → redmond/images/ui-icons_d8e7f3_256x240.png} +0 -0
  328. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-icons_f9bd01_256x240.png +0 -0
  329. data/vendor/local/share/groonga/html/admin/css/{ui-lightness/jquery-ui-1.8.1.custom.css → redmond/jquery-ui-1.8.18.custom.css} +169 -90
  330. data/vendor/local/share/groonga/html/admin/images/groonga.svg +121 -0
  331. data/vendor/local/share/groonga/html/admin/index.html +44 -1145
  332. data/vendor/local/share/groonga/html/admin/js/groonga-admin.js +1354 -0
  333. data/vendor/local/share/groonga/html/admin/js/jquery-1.7.2.min.js +4 -0
  334. data/vendor/local/share/groonga/html/admin/js/jquery-ui-1.8.18.custom.min.js +356 -0
  335. data/vendor/local/share/man/ja/man1/groonga.1 +2813 -331
  336. data/vendor/local/share/man/man1/groonga.1 +2898 -337
  337. data/vendor/local/share/mecab/dic/naist-jdic/sys.dic +0 -0
  338. data/vendor/local/share/mecab/dic/naist-jdic/unk.dic +0 -0
  339. metadata +988 -921
  340. data/test/groonga-test-utils.rb +0 -139
  341. data/test/run-test.rb +0 -60
  342. data/test/test-accessor.rb +0 -36
  343. data/test/test-array.rb +0 -123
  344. data/test/test-column.rb +0 -350
  345. data/test/test-command-select.rb +0 -147
  346. data/test/test-context.rb +0 -130
  347. data/test/test-database-dumper.rb +0 -259
  348. data/test/test-database.rb +0 -148
  349. data/test/test-double-array-trie.rb +0 -164
  350. data/test/test-encoding.rb +0 -33
  351. data/test/test-exception.rb +0 -96
  352. data/test/test-expression-builder.rb +0 -269
  353. data/test/test-expression.rb +0 -134
  354. data/test/test-fix-size-column.rb +0 -77
  355. data/test/test-gqtp.rb +0 -70
  356. data/test/test-hash.rb +0 -344
  357. data/test/test-index-column.rb +0 -180
  358. data/test/test-index-cursor.rb +0 -93
  359. data/test/test-logger.rb +0 -37
  360. data/test/test-pagination.rb +0 -249
  361. data/test/test-patricia-trie.rb +0 -415
  362. data/test/test-plugin.rb +0 -35
  363. data/test/test-procedure.rb +0 -37
  364. data/test/test-query-log.rb +0 -258
  365. data/test/test-record.rb +0 -569
  366. data/test/test-remote.rb +0 -63
  367. data/test/test-schema-create-table.rb +0 -267
  368. data/test/test-schema-dumper.rb +0 -235
  369. data/test/test-schema-type.rb +0 -208
  370. data/test/test-schema-view.rb +0 -90
  371. data/test/test-schema.rb +0 -886
  372. data/test/test-snippet.rb +0 -130
  373. data/test/test-table-cursor.rb +0 -187
  374. data/test/test-table-dumper.rb +0 -83
  375. data/test/test-table-offset-and-limit.rb +0 -100
  376. data/test/test-table-select-mecab.rb +0 -80
  377. data/test/test-table-select-normalize.rb +0 -57
  378. data/test/test-table-select-weight.rb +0 -123
  379. data/test/test-table-select.rb +0 -191
  380. data/test/test-table.rb +0 -675
  381. data/test/test-type.rb +0 -79
  382. data/test/test-variable-size-column.rb +0 -147
  383. data/test/test-variable.rb +0 -28
  384. data/test/test-vector-column.rb +0 -76
  385. data/test/test-version.rb +0 -61
  386. data/test/test-view.rb +0 -72
  387. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  388. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  389. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  390. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  391. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  392. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  393. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  394. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  395. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  396. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
  397. data/vendor/local/share/groonga/html/admin/js/jquery-1.4.2.min.js +0 -154
  398. data/vendor/local/share/groonga/html/admin/js/jquery-ui-1.8.1.custom.min.js +0 -756
data/AUTHORS ADDED
@@ -0,0 +1,5 @@
1
+ Kouhei Sutou <kou@clear-code.com>
2
+ Tasuku SUENAGA <a@razil.jp>
3
+ daijiro <morita@razil.jp>
4
+ Yuto HAYAMIZU <y.hayamizu@gmail.com>
5
+ SHIDARA Yoji <dara@shidara.net>
data/Gemfile CHANGED
@@ -17,15 +17,4 @@
17
17
 
18
18
  source "http://rubygems.org/"
19
19
 
20
- gem 'pkg-config'
21
- gem 'json'
22
-
23
- group :development, :test do
24
- gem "test-unit", ">= 2.4.6"
25
- gem "test-unit-notify"
26
- gem "rake"
27
- gem "rake-compiler"
28
- gem "jeweler"
29
- gem "yard"
30
- gem "packnga"
31
- end
20
+ gemspec
data/README.textile ADDED
@@ -0,0 +1,73 @@
1
+ h1. README
2
+
3
+ h2. Name
4
+
5
+ rroonga
6
+
7
+ h2. Description
8
+
9
+ Ruby bindings for groonga that provide full text search and
10
+ column store features.
11
+
12
+ rroonga is an extension library to use groonga's DB-API
13
+ layer. rroonga provides Rubyish readable and writable API
14
+ not C like API. You can use groonga's fast and highly
15
+ functional features from Ruby with Rubyish form.
16
+
17
+ See the following URL about groonga.
18
+
19
+ * "The groonga official site":http://groonga.org/
20
+
21
+ h2. Authors
22
+
23
+ * Kouhei Sutou <kou@clear-code.com>
24
+ * Tasuku SUENAGA <a@razil.jp>
25
+ * Daijiro MORI <morita@razil.jp>
26
+ * Yuto HAYAMIZU <y.hayamizu@gmail.com>
27
+ * SHIDARA Yoji <dara@shidara.net>
28
+ * yoshihara haruka <yoshihara@clear-code.com>
29
+
30
+ h2. License
31
+
32
+ LGPL 2.1. See license/LGPL for details.
33
+
34
+ (Kouhei Sutou has a right to change the license including
35
+ contributed patches.)
36
+
37
+ h2. Dependencies
38
+
39
+ * Ruby >= 1.8 (including 1.9.2)
40
+ * groonga >= 1.2.0
41
+
42
+ h2. Install
43
+
44
+ <pre>
45
+ !!!command_line
46
+ % sudo gem install rroonga
47
+ </pre>
48
+
49
+ h2. Documents
50
+
51
+ * "Reference manual in English":http://groonga.rubyforge.org/rroonga/en/
52
+ * "Reference manual in Japanese":http://groonga.rubyforge.org/rroonga/ja/
53
+
54
+ h2. Mailing list
55
+
56
+ * English: "groonga-users-en":http://rubyforge.org/mailman/listinfo/groonga-users-en
57
+ * Japanese: "groonga-dev":http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
58
+
59
+ h2. Thanks
60
+
61
+ * Daijiro MORI: sent patches to support the latest groonga.
62
+ * Tasuku SUENAGA: sent bug reports.
63
+ * niku: sent bug reports.
64
+ * dara:
65
+ ** wrote tests.
66
+ ** fixed bugs.
67
+ * id:mat_aki: sent bug reports.
68
+ * @yune_kotomi: sent a bug report.
69
+ * m_seki: sent bug reports.
70
+ * ono matope: sent bug reports.
71
+ * @kamipo: send a bug report.
72
+ * ongaeshi: sent a patch to build gem on Windows.
73
+ * mallowlabs: send a patch.
data/Rakefile CHANGED
@@ -24,7 +24,7 @@ require 'erb'
24
24
  require 'rubygems'
25
25
  require 'rubygems/package_task'
26
26
  require 'yard'
27
- require 'jeweler'
27
+ require 'bundler/gem_helper'
28
28
  require 'rake/extensiontask'
29
29
  require 'packnga'
30
30
 
@@ -43,62 +43,9 @@ $LOAD_PATH.unshift(groonga_ext_dir)
43
43
  $LOAD_PATH.unshift(groonga_lib_dir)
44
44
  ENV["RUBYLIB"] = "#{groonga_lib_dir}:#{groonga_ext_dir}:#{ENV['RUBYLIB']}"
45
45
 
46
- def guess_version(groonga_ext_dir)
47
- version = {}
48
- File.open(File.join(groonga_ext_dir, "rb-grn.h")) do |rb_grn_h|
49
- rb_grn_h.each_line do |line|
50
- case line
51
- when /\A#define RB_GRN_([A-Z]+)_VERSION (\d+)/
52
- version[$1.downcase] = $2
53
- end
54
- end
55
- end
56
- [version["major"], version["minor"], version["micro"]].join(".")
57
- end
58
-
59
- def cleanup_white_space(entry)
60
- entry.gsub(/(\A\n+|\n+\z)/, '') + "\n"
61
- end
62
-
63
- ENV["VERSION"] ||= guess_version(groonga_ext_dir)
64
- version = ENV["VERSION"].dup
65
- spec = nil
66
- Jeweler::Tasks.new do |_spec|
67
- spec = _spec
68
- spec.name = "rroonga"
69
- spec.version = version
70
- spec.rubyforge_project = "groonga"
71
- spec.homepage = "http://groonga.rubyforge.org/"
72
- authors = File.join(base_dir, "AUTHORS")
73
- spec.authors = File.readlines(authors).collect do |line|
74
- if /\s*<[^<>]*>$/ =~ line
75
- $PREMATCH
76
- else
77
- nil
78
- end
79
- end.compact
80
- spec.email = [
81
- 'groonga-users-en@rubyforge.org',
82
- 'groonga-dev@lists.sourceforge.jp',
83
- ]
84
- entries = File.read("README.textile").split(/^h2\.\s(.*)$/)
85
- description = cleanup_white_space(entries[entries.index("Description") + 1])
86
- spec.summary, spec.description, = description.split(/\n\n+/, 3)
87
- spec.license = "LGPLv2"
88
- spec.files = FileList["{lib,benchmark,misc}/**/*.rb",
89
- "bin/*",
90
- "extconf.rb",
91
- "rroonga-build.rb",
92
- "example/*.rb",
93
- "Rakefile",
94
- "Gemfile",
95
- "ext/**/*.{c,h,rb,def}"]
96
- spec.test_files = FileList["test/**/*.rb"]
97
- end
98
-
99
- Rake::Task["release"].prerequisites.clear
100
- Jeweler::RubygemsDotOrgTasks.new do
101
- end
46
+ helper = Bundler::GemHelper.new(base_dir)
47
+ helper.install
48
+ spec = helper.gemspec
102
49
 
103
50
  Gem::PackageTask.new(spec) do |pkg|
104
51
  pkg.need_tar_gz = true
data/bin/grndump CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  # -*- coding: utf-8 -*-
3
3
  #
4
- # Copyright (C) 2011 Kouhei Sutou <kou@clear-code.com>
4
+ # Copyright (C) 2011-2012 Kouhei Sutou <kou@clear-code.com>
5
5
  #
6
6
  # This library is free software; you can redistribute it and/or
7
7
  # modify it under the terms of the GNU Lesser General Public
@@ -27,6 +27,7 @@ options.tables = []
27
27
  options.exclude_tables = []
28
28
  options.dump_schema = true
29
29
  options.dump_tables = true
30
+ options.order_by = "id"
30
31
  option_parser = OptionParser.new do |parser|
31
32
  parser.banner += " DB_PATH"
32
33
 
@@ -63,6 +64,14 @@ option_parser = OptionParser.new do |parser|
63
64
  options.exclude_tables << table
64
65
  end
65
66
  end
67
+
68
+ types = ["id", "key"]
69
+ parser.on("--order-by=TYPE", types,
70
+ "sort output recoreds by TYPE.",
71
+ "available TYPEs: #{types.join(', ')}",
72
+ "(#{options.type})") do |type|
73
+ options.order_by = type
74
+ end
66
75
  end
67
76
  args = option_parser.parse!(ARGV)
68
77
 
@@ -80,6 +89,7 @@ dumper_options = {
80
89
  :dump_tables => options.dump_tables,
81
90
  :tables => options.tables,
82
91
  :exclude_tables => options.exclude_tables,
92
+ :order_by => options.order_by,
83
93
  }
84
94
  database_dumper = Groonga::DatabaseDumper.new(dumper_options)
85
95
  database_dumper.dump
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  #
3
- # Copyright (C) 2009-2010 Kouhei Sutou <kou@clear-code.com>
3
+ # Copyright (C) 2009-2012 Kouhei Sutou <kou@clear-code.com>
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or
6
6
  # modify it under the terms of the GNU Lesser General Public
@@ -15,21 +15,24 @@
15
15
  # License along with this library; if not, write to the Free Software
16
16
  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
17
 
18
- require 'English'
19
- require 'pathname'
20
- require 'mkmf'
18
+ require "English"
19
+ require "pathname"
20
+ require "mkmf"
21
+ require "fileutils"
22
+ require "shellwords"
23
+ require "open-uri"
21
24
 
22
25
  begin
23
- require 'pkg-config'
26
+ require "pkg-config"
24
27
  rescue LoadError
25
- require 'rubygems'
26
- require 'pkg-config'
28
+ require "rubygems"
29
+ require "pkg-config"
27
30
  end
28
31
 
29
- base_dir = Pathname(__FILE__).dirname.parent.parent
32
+ base_dir = Pathname(__FILE__).dirname.parent.parent.expand_path
30
33
  $LOAD_PATH.unshift(base_dir.to_s)
31
34
 
32
- require 'rroonga-build'
35
+ require "rroonga-build"
33
36
 
34
37
  include RroongaBuild
35
38
 
@@ -39,15 +42,19 @@ major, minor, micro = RequiredGroongaVersion::VERSION
39
42
 
40
43
  checking_for(checking_message("GCC")) do
41
44
  if macro_defined?("__GNUC__", "")
42
- $CFLAGS += ' -Wall'
45
+ $CFLAGS += " -Wall"
43
46
  true
44
47
  else
45
48
  false
46
49
  end
47
50
  end
48
51
 
52
+ def win32?
53
+ /cygwin|mingw|mswin/ =~ RUBY_PLATFORM
54
+ end
55
+
49
56
  checking_for(checking_message("Win32 OS")) do
50
- win32 = /cygwin|mingw|mswin/ =~ RUBY_PLATFORM
57
+ win32 = win32?
51
58
  if win32
52
59
  $defs << "-DRB_GRN_PLATFORM_WIN32"
53
60
  import_library_name = "libruby-#{module_name}.a"
@@ -62,68 +69,132 @@ checking_for(checking_message("Win32 OS")) do
62
69
  end
63
70
 
64
71
  def install_groonga_locally(major, minor, micro)
65
- require 'open-uri'
66
- require 'shellwords'
67
-
68
- tar_gz = "groonga-#{major}.#{minor}.#{micro}.tar.gz"
69
72
  FileUtils.mkdir_p(local_groonga_base_dir)
70
73
 
71
- install_dir = local_groonga_install_dir
72
74
  Dir.chdir(local_groonga_base_dir) do
73
- url = "http://packages.groonga.org/source/groonga/#{tar_gz}"
74
- message("downloading %s...", url)
75
+ if win32?
76
+ extract_groonga_win32_binary(major, minor, micro)
77
+ else
78
+ build_groonga(major, minor, micro)
79
+ end
80
+ end
81
+
82
+ prepend_pkg_config_path_for_local_groonga
83
+ end
84
+
85
+ def download(url)
86
+ message("downloading %s...", url)
87
+ base_name = File.basename(url)
88
+ if File.exist?(base_name)
89
+ message(" skip (use downloaded file)\n")
90
+ else
75
91
  open(url, "rb") do |input|
76
- File.open(tar_gz, "wb") do |output|
92
+ File.open(base_name, "wb") do |output|
77
93
  while (buffer = input.read(1024))
78
94
  output.print(buffer)
79
95
  end
80
96
  end
81
97
  end
82
98
  message(" done\n")
99
+ end
100
+ end
101
+
102
+ def extract_zip(filename, destrination_dir)
103
+ begin
104
+ require "archive/zip"
105
+ rescue LoadError
106
+ require "rubygems"
107
+ require "archive/zip"
108
+ end
109
+
110
+ Archive::Zip.extract(filename, destrination_dir)
111
+ end
112
+
113
+ def extract_groonga_win32_binary(major, minor, micro)
114
+ if ENV["RROONGA_USE_GROONGA_X64"]
115
+ architecture = "x64"
116
+ else
117
+ architecture = "x86"
118
+ end
119
+ zip = "groonga-#{major}.#{minor}.#{micro}-#{architecture}.zip"
120
+ url = "http://packages.groonga.org/windows/groonga/#{zip}"
121
+ install_dir = local_groonga_install_dir
122
+
123
+ download(url)
124
+
125
+ message("extracting...")
126
+ extract_zip(zip, ".")
127
+ message(" done\n")
128
+
129
+ if File.exist?(install_dir)
130
+ message("remove old install... #{install_dir}")
131
+ FileUtils.rm_rf(install_dir)
132
+ message(" done\n")
133
+ end
134
+
135
+ message("install...")
136
+ FileUtils.mv(File.basename(zip, ".zip"), install_dir)
137
+ message(" done\n")
138
+ end
139
+
140
+ def configure_command_line(prefix)
141
+ command_line = ["./configure"]
142
+ debug_build_p = ENV["RROONGA_DEBUG_BUILD"] == "yes"
143
+ debug_flags = ["CFLAGS=-ggdb3 -O0", "CXXFLAGS=-ggdb3 -O0"]
144
+ command_line.concat(debug_flags) if debug_build_p
145
+ command_line << "--prefix=#{prefix}"
146
+ escaped_command_line = command_line.collect do |command|
147
+ Shellwords.escape(command)
148
+ end
149
+ escaped_command_line.join(" ")
150
+ end
151
+
152
+ def build_groonga(major, minor, micro)
153
+ tar_gz = "groonga-#{major}.#{minor}.#{micro}.tar.gz"
154
+ url = "http://packages.groonga.org/source/groonga/#{tar_gz}"
155
+ install_dir = local_groonga_install_dir
156
+
157
+ download(url)
158
+
159
+ message("extracting...")
160
+ if xsystem("tar xfz #{tar_gz}")
161
+ message(" done\n")
162
+ else
163
+ message(" failed\n")
164
+ exit(false)
165
+ end
83
166
 
84
- message("extracting...")
85
- if xsystem("tar xfz #{tar_gz}")
167
+ groonga_source_dir = "groonga-#{major}.#{minor}.#{micro}"
168
+ Dir.chdir(groonga_source_dir) do
169
+ message("configuring...")
170
+ if xsystem(configure_command_line(install_dir))
86
171
  message(" done\n")
87
172
  else
88
173
  message(" failed\n")
89
- exit 1
174
+ exit(false)
90
175
  end
91
176
 
92
- groonga_source_dir = "groonga-#{major}.#{minor}.#{micro}"
93
- Dir.chdir(groonga_source_dir) do
94
- message("configuring...")
95
- prefix = Shellwords.escape(install_dir)
96
- if xsystem("./configure CFLAGS='-g -O0' --prefix=#{prefix}")
97
- message(" done\n")
98
- else
99
- message(" failed\n")
100
- exit 1
101
- end
102
-
103
- message("building (maybe long time)...")
104
- if xsystem("make")
105
- message(" done\n")
106
- else
107
- message(" failed\n")
108
- exit 1
109
- end
177
+ message("building (maybe long time)...")
178
+ if xsystem("make")
179
+ message(" done\n")
180
+ else
181
+ message(" failed\n")
182
+ exit(false)
183
+ end
110
184
 
111
- message("installing...")
112
- if [major, minor, micro] == [0, 1, 6]
113
- make_install_args = " MKDIR_P='mkdir -p --'"
114
- else
115
- make_install_args = ""
116
- end
117
- if xsystem("make install#{make_install_args}")
118
- message(" done\n")
119
- else
120
- message(" failed\n")
121
- exit 1
122
- end
185
+ message("installing...")
186
+ if [major, minor, micro] == [0, 1, 6]
187
+ make_install_args = " MKDIR_P='mkdir -p --'"
188
+ else
189
+ make_install_args = ""
190
+ end
191
+ if xsystem("make install#{make_install_args}")
192
+ message(" done\n")
193
+ else
194
+ message(" failed\n")
195
+ exit(false)
123
196
  end
124
197
  end
125
-
126
- prepend_pkg_config_path_for_local_groonga
127
198
  end
128
199
 
129
200
  unless PKGConfig.have_package(package_name, major, minor, micro)
@@ -66,9 +66,13 @@ rb_grn_context_register_floating_object (RbGrnObject *rb_grn_object)
66
66
  grn_ctx *context;
67
67
  grn_hash *floating_objects;
68
68
 
69
- Data_Get_Struct(rb_grn_object->rb_context, RbGrnContext, rb_grn_context);
69
+ rb_grn_context = rb_grn_object->rb_grn_context;
70
70
  context = rb_grn_context->context;
71
71
  floating_objects = rb_grn_context->floating_objects;
72
+ if (!floating_objects) {
73
+ rb_grn_context_reset_floating_objects(rb_grn_context);
74
+ floating_objects = rb_grn_context->floating_objects;
75
+ }
72
76
  grn_hash_add(context, floating_objects,
73
77
  (const void *)(&rb_grn_object), sizeof(RbGrnObject *),
74
78
  NULL, NULL);
@@ -85,7 +89,10 @@ rb_grn_context_unregister_floating_object (RbGrnObject *rb_grn_object)
85
89
  if (!rb_grn_object->floating)
86
90
  return;
87
91
 
88
- Data_Get_Struct(rb_grn_object->rb_context, RbGrnContext, rb_grn_context);
92
+ rb_grn_context = rb_grn_object->rb_grn_context;
93
+ if (!rb_grn_context)
94
+ return;
95
+
89
96
  context = rb_grn_context->context;
90
97
  floating_objects = rb_grn_context->floating_objects;
91
98
  grn_hash_delete(context, floating_objects,
@@ -94,7 +101,7 @@ rb_grn_context_unregister_floating_object (RbGrnObject *rb_grn_object)
94
101
  rb_grn_object->floating = GRN_FALSE;
95
102
  }
96
103
 
97
- static void
104
+ void
98
105
  rb_grn_context_close_floating_objects (RbGrnContext *rb_grn_context)
99
106
  {
100
107
  grn_ctx *context;
@@ -114,6 +121,19 @@ rb_grn_context_close_floating_objects (RbGrnContext *rb_grn_context)
114
121
  grn_hash_close(context, floating_objects);
115
122
  }
116
123
 
124
+ void
125
+ rb_grn_context_reset_floating_objects (RbGrnContext *rb_grn_context)
126
+ {
127
+ grn_ctx *context;
128
+
129
+ rb_grn_context_close_floating_objects(rb_grn_context);
130
+ context = rb_grn_context->context;
131
+ rb_grn_context->floating_objects = grn_hash_create(context, NULL,
132
+ sizeof(RbGrnObject *),
133
+ 0,
134
+ GRN_OBJ_TABLE_HASH_KEY);
135
+ }
136
+
117
137
  static void
118
138
  rb_grn_context_unlink_database (grn_ctx *context)
119
139
  {
@@ -421,10 +441,8 @@ rb_grn_context_initialize (int argc, VALUE *argv, VALUE self)
421
441
  rb_grn_context_check(context, self);
422
442
 
423
443
  GRN_CTX_USER_DATA(context)->ptr = rb_grn_context;
424
- rb_grn_context->floating_objects = grn_hash_create(context, NULL,
425
- sizeof(RbGrnObject *),
426
- 0,
427
- GRN_OBJ_TABLE_HASH_KEY);
444
+ rb_grn_context->floating_objects = NULL;
445
+ rb_grn_context_reset_floating_objects(rb_grn_context);
428
446
  grn_ctx_set_finalizer(context, rb_grn_context_finalizer);
429
447
 
430
448
  if (!NIL_P(rb_encoding)) {
@@ -119,6 +119,21 @@ rb_grn_database_deconstruct (RbGrnObject *rb_grn_database,
119
119
  range_id, range);
120
120
  }
121
121
 
122
+ void
123
+ rb_grn_database_finalizer (grn_ctx *context,
124
+ RbGrnContext *rb_grn_context,
125
+ grn_obj *column,
126
+ RbGrnObject *rb_grn_database)
127
+ {
128
+ if (rb_grn_context) {
129
+ rb_grn_context_close_floating_objects(rb_grn_context);
130
+ }
131
+
132
+ if (!(context->flags & GRN_CTX_PER_DB)) {
133
+ grn_ctx_use(context, NULL);
134
+ }
135
+ }
136
+
122
137
  /*
123
138
  * Document-method: close
124
139
  *
@@ -140,6 +155,14 @@ rb_grn_database_close (VALUE self)
140
155
  return rb_grn_object_close(self);
141
156
  }
142
157
 
158
+ static void
159
+ reset_floating_objects (VALUE rb_context)
160
+ {
161
+ RbGrnContext *rb_grn_context;
162
+ Data_Get_Struct(rb_context, RbGrnContext, rb_grn_context);
163
+ rb_grn_context_reset_floating_objects(rb_grn_context);
164
+ }
165
+
143
166
  /*
144
167
  * call-seq:
145
168
  * Groonga::Database.create(options=nil) -> Groonga::Database
@@ -195,6 +218,7 @@ rb_grn_database_s_create (int argc, VALUE *argv, VALUE klass)
195
218
  old_database = grn_ctx_db(context);
196
219
  if (old_database)
197
220
  grn_obj_unlink(context, old_database);
221
+ reset_floating_objects(rb_context);
198
222
  database = grn_db_create(context, path, &create_args);
199
223
  rb_grn_context_check(context, rb_ary_new4(argc, argv));
200
224
  owner = (context->flags & GRN_CTX_PER_DB) ? GRN_FALSE : GRN_TRUE;
@@ -249,6 +273,7 @@ rb_grn_database_initialize (int argc, VALUE *argv, VALUE self)
249
273
  old_database = grn_ctx_db(context);
250
274
  if (old_database)
251
275
  grn_obj_unlink(context, old_database);
276
+ reset_floating_objects(rb_context);
252
277
  database = grn_db_open(context, path);
253
278
  rb_grn_object_assign(Qnil, self, rb_context, context, database);
254
279
  rb_grn_context_check(context, self);
@@ -83,26 +83,27 @@ static void
83
83
  rb_grn_object_run_finalizer (grn_ctx *context, grn_obj *grn_object,
84
84
  RbGrnObject *rb_grn_object)
85
85
  {
86
+ RbGrnContext *rb_grn_context = NULL;
87
+
86
88
  if (rb_grn_exited)
87
89
  return;
88
90
 
89
91
  grn_obj_set_finalizer(context, grn_object, NULL);
90
92
 
91
- debug("finalize: %p:%p:%p:%p:%p %s(%#x)\n",
93
+ debug("finalize: %p:%p:%p:%p:%p:%p %s(%#x)\n",
92
94
  context, grn_object, rb_grn_object,
93
95
  rb_grn_object->context, rb_grn_object->object,
96
+ rb_grn_object->rb_grn_context,
94
97
  rb_grn_inspect_type(grn_object->header.type),
95
98
  grn_object->header.type);
96
99
 
97
- rb_grn_object->context = NULL;
98
- rb_grn_object->object = NULL;
100
+ rb_grn_context = rb_grn_object->rb_grn_context;
99
101
  rb_grn_object->have_finalizer = GRN_FALSE;
100
102
 
101
103
  switch (grn_object->header.type) {
102
104
  case GRN_DB:
103
- if (!(context->flags & GRN_CTX_PER_DB)) {
104
- grn_ctx_use(context, NULL);
105
- }
105
+ rb_grn_database_finalizer(context, rb_grn_context,
106
+ grn_object, rb_grn_object);
106
107
  break;
107
108
  case GRN_TYPE:
108
109
  case GRN_PROC:
@@ -153,6 +154,10 @@ rb_grn_object_run_finalizer (grn_ctx *context, grn_obj *grn_object,
153
154
  grn_object->header.type);
154
155
  break;
155
156
  }
157
+
158
+ rb_grn_object->rb_grn_context = NULL;
159
+ rb_grn_object->context = NULL;
160
+ rb_grn_object->object = NULL;
156
161
  }
157
162
 
158
163
  static grn_obj *
@@ -326,8 +331,15 @@ rb_grn_object_bind_common (VALUE klass, VALUE self, VALUE rb_context,
326
331
  grn_ctx *context, grn_obj *object)
327
332
  {
328
333
  grn_user_data *user_data;
334
+ RbGrnContext *rb_grn_context;
335
+
336
+ debug("bind: %p:%p:%p %s(%#x)\n",
337
+ context, object, rb_grn_object,
338
+ rb_grn_inspect_type(object->header.type),
339
+ object->header.type);
329
340
 
330
- rb_grn_object->rb_context = rb_context;
341
+ Data_Get_Struct(rb_context, RbGrnContext, rb_grn_context);
342
+ rb_grn_object->rb_grn_context = rb_grn_context;
331
343
  rb_grn_object->context = context;
332
344
  rb_grn_object->object = object;
333
345
  rb_grn_object->self = self;
@@ -919,12 +919,15 @@ rb_grn_table_truncate (VALUE self)
919
919
 
920
920
  /*
921
921
  * call-seq:
922
- * table.each {|record| } -> nil
922
+ * table.each {|record| } -> nil
923
+ * table.each(options={}) {|record| } -> nil
923
924
  *
924
925
  * テーブルに登録されているレコードを順番にブロックに渡す。
926
+ *
927
+ * _options_ is the same as #open_cursor's one.
925
928
  */
926
929
  static VALUE
927
- rb_grn_table_each (VALUE self)
930
+ rb_grn_table_each (int argc, VALUE *argv, VALUE self)
928
931
  {
929
932
  RbGrnTable *rb_table;
930
933
  RbGrnObject *rb_grn_object;
@@ -934,14 +937,9 @@ rb_grn_table_each (VALUE self)
934
937
  VALUE rb_cursor;
935
938
  grn_id id;
936
939
 
937
- rb_table = SELF(self);
938
- rb_grn_table_deconstruct(rb_table, &table, &context,
939
- NULL, NULL,
940
- NULL, NULL, NULL,
941
- NULL);
942
- cursor = grn_table_cursor_open(context, table, NULL, 0, NULL, 0,
943
- 0, -1, GRN_CURSOR_ASCENDING);
940
+ cursor = rb_grn_table_open_grn_cursor(argc, argv, self, &context);
944
941
  rb_cursor = GRNTABLECURSOR2RVAL(Qnil, context, cursor);
942
+ rb_table = SELF(self);
945
943
  rb_grn_object = RB_GRN_OBJECT(rb_table);
946
944
  while (rb_grn_object->object &&
947
945
  (id = grn_table_cursor_next(context, cursor)) != GRN_ID_NIL) {
@@ -2176,7 +2174,7 @@ rb_grn_init_table (VALUE mGrn)
2176
2174
  rb_define_method(rb_cGrnTable, "empty?", rb_grn_table_empty_p, 0);
2177
2175
  rb_define_method(rb_cGrnTable, "truncate", rb_grn_table_truncate, 0);
2178
2176
 
2179
- rb_define_method(rb_cGrnTable, "each", rb_grn_table_each, 0);
2177
+ rb_define_method(rb_cGrnTable, "each", rb_grn_table_each, -1);
2180
2178
 
2181
2179
  rb_define_method(rb_cGrnTable, "delete", rb_grn_table_delete, 1);
2182
2180