rroonga 2.0.2-x86-mingw32 → 2.0.3-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 (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