rroonga 1.3.1-x86-mingw32 → 2.0.0-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 (311) hide show
  1. data/Gemfile +1 -1
  2. data/Rakefile +2 -7
  3. data/ext/groonga/rb-grn-column.c +34 -37
  4. data/ext/groonga/rb-grn-context.c +63 -2
  5. data/ext/groonga/rb-grn-expression.c +21 -13
  6. data/ext/groonga/rb-grn-object.c +2 -0
  7. data/ext/groonga/rb-grn-table.c +57 -51
  8. data/ext/groonga/rb-grn.h +10 -4
  9. data/lib/1.8/groonga.so +0 -0
  10. data/lib/1.9/groonga.so +0 -0
  11. data/lib/groonga/schema.rb +75 -46
  12. data/lib/groonga.rb +9 -6
  13. data/rroonga-build.rb +2 -2
  14. data/test/run-test.rb +1 -2
  15. data/test/test-table-select.rb +0 -5
  16. data/test/test-type.rb +2 -2
  17. data/test/test-version.rb +40 -10
  18. data/vendor/local/bin/grntest.exe +0 -0
  19. data/vendor/local/bin/groonga.exe +0 -0
  20. data/vendor/local/bin/libgcc_s_sjlj-1.dll +0 -0
  21. data/vendor/local/bin/libgroonga-0.dll +0 -0
  22. data/vendor/local/bin/libmecab-1.dll +0 -0
  23. data/vendor/local/bin/libmsgpack-3.dll +0 -0
  24. data/vendor/local/bin/libmsgpackc-2.dll +0 -0
  25. data/vendor/local/bin/libstdc++-6.dll +0 -0
  26. data/vendor/local/bin/mecab.exe +0 -0
  27. data/vendor/local/include/groonga/groonga/plugin.h +113 -0
  28. data/vendor/local/include/groonga/groonga/tokenizer.h +146 -0
  29. data/vendor/local/include/groonga/groonga.h +18 -18
  30. data/vendor/local/include/msgpack/object.h +98 -0
  31. data/vendor/local/include/msgpack/object.hpp +412 -0
  32. data/vendor/local/include/msgpack/pack.h +143 -0
  33. data/vendor/local/include/msgpack/pack.hpp +318 -0
  34. data/vendor/local/include/msgpack/pack_define.h +26 -0
  35. data/vendor/local/include/msgpack/pack_template.h +766 -0
  36. data/vendor/local/include/msgpack/sbuffer.h +111 -0
  37. data/vendor/local/include/msgpack/sbuffer.hpp +112 -0
  38. data/vendor/local/include/msgpack/sysdep.h +195 -0
  39. data/vendor/local/include/msgpack/type/bool.hpp +55 -0
  40. data/vendor/local/include/msgpack/type/define.hpp +3279 -0
  41. data/vendor/local/include/msgpack/type/deque.hpp +77 -0
  42. data/vendor/local/include/msgpack/type/fixint.hpp +172 -0
  43. data/vendor/local/include/msgpack/type/float.hpp +82 -0
  44. data/vendor/local/include/msgpack/type/int.hpp +211 -0
  45. data/vendor/local/include/msgpack/type/list.hpp +77 -0
  46. data/vendor/local/include/msgpack/type/map.hpp +205 -0
  47. data/vendor/local/include/msgpack/type/nil.hpp +65 -0
  48. data/vendor/local/include/msgpack/type/pair.hpp +61 -0
  49. data/vendor/local/include/msgpack/type/raw.hpp +94 -0
  50. data/vendor/local/include/msgpack/type/set.hpp +122 -0
  51. data/vendor/local/include/msgpack/type/string.hpp +62 -0
  52. data/vendor/local/include/msgpack/type/tr1/unordered_map.hpp +129 -0
  53. data/vendor/local/include/msgpack/type/tr1/unordered_set.hpp +122 -0
  54. data/vendor/local/include/msgpack/type/tuple.hpp +13691 -0
  55. data/vendor/local/include/msgpack/type/vector.hpp +81 -0
  56. data/vendor/local/include/msgpack/type.hpp +16 -0
  57. data/vendor/local/include/msgpack/unpack.h +260 -0
  58. data/vendor/local/include/msgpack/unpack.hpp +374 -0
  59. data/vendor/local/include/msgpack/unpack_define.h +93 -0
  60. data/vendor/local/include/msgpack/unpack_template.h +409 -0
  61. data/vendor/local/include/msgpack/version.h +40 -0
  62. data/vendor/local/include/msgpack/vrefbuffer.h +142 -0
  63. data/vendor/local/include/msgpack/vrefbuffer.hpp +97 -0
  64. data/vendor/local/include/msgpack/zbuffer.h +207 -0
  65. data/vendor/local/include/msgpack/zbuffer.hpp +100 -0
  66. data/vendor/local/include/msgpack/zone.h +147 -0
  67. data/vendor/local/include/msgpack/zone.hpp +455 -0
  68. data/vendor/local/include/msgpack.h +30 -0
  69. data/vendor/local/include/msgpack.hpp +24 -0
  70. data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
  71. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
  72. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
  73. data/vendor/local/lib/groonga/plugins/suggest/suggest.la +2 -2
  74. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
  75. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
  76. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
  77. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +2 -2
  78. data/vendor/local/lib/libgroonga.a +0 -0
  79. data/vendor/local/lib/libgroonga.dll.a +0 -0
  80. data/vendor/local/lib/libgroonga.la +2 -2
  81. data/vendor/local/lib/libmecab.a +0 -0
  82. data/vendor/local/lib/libmecab.dll.a +0 -0
  83. data/vendor/local/lib/libmsgpack.a +0 -0
  84. data/vendor/local/lib/libmsgpack.dll.a +0 -0
  85. data/vendor/local/lib/libmsgpack.la +41 -0
  86. data/vendor/local/lib/libmsgpackc.a +0 -0
  87. data/vendor/local/lib/libmsgpackc.dll.a +0 -0
  88. data/vendor/local/lib/libmsgpackc.la +41 -0
  89. data/vendor/local/lib/pkgconfig/groonga.pc +4 -4
  90. data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
  91. data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
  92. data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
  93. data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
  94. data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
  95. data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
  96. data/vendor/local/share/doc/groonga/en/html/_sources/commands/suggest.txt +1 -1
  97. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/report.txt +6 -7
  98. data/vendor/local/share/doc/groonga/en/html/_sources/indexing.txt +108 -0
  99. data/vendor/local/share/doc/groonga/en/html/_sources/news/1.2.x.txt +386 -0
  100. data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +51 -385
  101. data/vendor/local/share/doc/groonga/en/html/_sources/reference.txt +1 -0
  102. data/vendor/local/share/doc/groonga/en/html/_sources/spec/search.txt +4 -4
  103. data/vendor/local/share/doc/groonga/en/html/characteristic.html +5 -5
  104. data/vendor/local/share/doc/groonga/en/html/command_version.html +5 -5
  105. data/vendor/local/share/doc/groonga/en/html/commands/cache_limit.html +5 -5
  106. data/vendor/local/share/doc/groonga/en/html/commands/check.html +5 -5
  107. data/vendor/local/share/doc/groonga/en/html/commands/clearlock.html +5 -5
  108. data/vendor/local/share/doc/groonga/en/html/commands/column_create.html +5 -5
  109. data/vendor/local/share/doc/groonga/en/html/commands/column_list.html +5 -5
  110. data/vendor/local/share/doc/groonga/en/html/commands/column_remove.html +5 -5
  111. data/vendor/local/share/doc/groonga/en/html/commands/define_selector.html +5 -5
  112. data/vendor/local/share/doc/groonga/en/html/commands/defrag.html +5 -5
  113. data/vendor/local/share/doc/groonga/en/html/commands/delete.html +5 -5
  114. data/vendor/local/share/doc/groonga/en/html/commands/dump.html +5 -5
  115. data/vendor/local/share/doc/groonga/en/html/commands/load.html +5 -5
  116. data/vendor/local/share/doc/groonga/en/html/commands/log_level.html +5 -5
  117. data/vendor/local/share/doc/groonga/en/html/commands/log_put.html +5 -5
  118. data/vendor/local/share/doc/groonga/en/html/commands/log_reopen.html +5 -5
  119. data/vendor/local/share/doc/groonga/en/html/commands/quit.html +5 -5
  120. data/vendor/local/share/doc/groonga/en/html/commands/select.html +5 -5
  121. data/vendor/local/share/doc/groonga/en/html/commands/shutdown.html +5 -5
  122. data/vendor/local/share/doc/groonga/en/html/commands/status.html +5 -5
  123. data/vendor/local/share/doc/groonga/en/html/commands/suggest.html +7 -7
  124. data/vendor/local/share/doc/groonga/en/html/commands/table_create.html +5 -5
  125. data/vendor/local/share/doc/groonga/en/html/commands/table_list.html +5 -5
  126. data/vendor/local/share/doc/groonga/en/html/commands/table_remove.html +5 -5
  127. data/vendor/local/share/doc/groonga/en/html/commands/view_add.html +5 -5
  128. data/vendor/local/share/doc/groonga/en/html/commands.html +5 -5
  129. data/vendor/local/share/doc/groonga/en/html/community.html +5 -5
  130. data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +5 -5
  131. data/vendor/local/share/doc/groonga/en/html/contribution/development/document.html +5 -5
  132. data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +5 -5
  133. data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +5 -5
  134. data/vendor/local/share/doc/groonga/en/html/contribution/development.html +5 -5
  135. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +5 -5
  136. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +5 -5
  137. data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +5 -5
  138. data/vendor/local/share/doc/groonga/en/html/contribution/report.html +9 -9
  139. data/vendor/local/share/doc/groonga/en/html/contribution.html +5 -5
  140. data/vendor/local/share/doc/groonga/en/html/executables/grnslap.html +5 -5
  141. data/vendor/local/share/doc/groonga/en/html/executables/grntest.html +5 -5
  142. data/vendor/local/share/doc/groonga/en/html/executables/groonga-http.html +5 -5
  143. data/vendor/local/share/doc/groonga/en/html/executables/groonga-suggest-create-dataset.html +5 -5
  144. data/vendor/local/share/doc/groonga/en/html/executables/groonga.html +5 -5
  145. data/vendor/local/share/doc/groonga/en/html/executables.html +5 -5
  146. data/vendor/local/share/doc/groonga/en/html/expr.html +5 -5
  147. data/vendor/local/share/doc/groonga/en/html/functions/edit_distance.html +5 -5
  148. data/vendor/local/share/doc/groonga/en/html/functions/geo_distance.html +5 -5
  149. data/vendor/local/share/doc/groonga/en/html/functions/geo_in_circle.html +5 -5
  150. data/vendor/local/share/doc/groonga/en/html/functions/geo_in_rectangle.html +5 -5
  151. data/vendor/local/share/doc/groonga/en/html/functions/now.html +5 -5
  152. data/vendor/local/share/doc/groonga/en/html/functions/rand.html +10 -10
  153. data/vendor/local/share/doc/groonga/en/html/functions.html +5 -5
  154. data/vendor/local/share/doc/groonga/en/html/genindex.html +5 -5
  155. data/vendor/local/share/doc/groonga/en/html/geolocation_search.html +5 -5
  156. data/vendor/local/share/doc/groonga/en/html/index.html +14 -8
  157. data/vendor/local/share/doc/groonga/en/html/indexing.html +237 -0
  158. data/vendor/local/share/doc/groonga/en/html/install.html +5 -5
  159. data/vendor/local/share/doc/groonga/en/html/limitations.html +5 -5
  160. data/vendor/local/share/doc/groonga/en/html/log.html +20 -20
  161. data/vendor/local/share/doc/groonga/en/html/news/0.x.html +5 -5
  162. data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +5 -5
  163. data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +5 -5
  164. data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +566 -0
  165. data/vendor/local/share/doc/groonga/en/html/news/senna.html +5 -5
  166. data/vendor/local/share/doc/groonga/en/html/news.html +65 -464
  167. data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
  168. data/vendor/local/share/doc/groonga/en/html/output.html +5 -5
  169. data/vendor/local/share/doc/groonga/en/html/pseudo_column.html +5 -5
  170. data/vendor/local/share/doc/groonga/en/html/reference.html +14 -8
  171. data/vendor/local/share/doc/groonga/en/html/search.html +5 -5
  172. data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
  173. data/vendor/local/share/doc/groonga/en/html/spec/search.html +9 -9
  174. data/vendor/local/share/doc/groonga/en/html/spec.html +9 -9
  175. data/vendor/local/share/doc/groonga/en/html/suggest/completion.html +5 -5
  176. data/vendor/local/share/doc/groonga/en/html/suggest/correction.html +5 -5
  177. data/vendor/local/share/doc/groonga/en/html/suggest/introduction.html +5 -5
  178. data/vendor/local/share/doc/groonga/en/html/suggest/suggestion.html +5 -5
  179. data/vendor/local/share/doc/groonga/en/html/suggest/tutorial.html +5 -5
  180. data/vendor/local/share/doc/groonga/en/html/suggest.html +5 -5
  181. data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +5 -5
  182. data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +5 -5
  183. data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +5 -5
  184. data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +5 -5
  185. data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +5 -5
  186. data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +5 -5
  187. data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +5 -5
  188. data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +5 -5
  189. data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +5 -5
  190. data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +5 -5
  191. data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +5 -5
  192. data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +5 -5
  193. data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +5 -5
  194. data/vendor/local/share/doc/groonga/en/html/tutorial.html +5 -5
  195. data/vendor/local/share/doc/groonga/en/html/type.html +5 -5
  196. data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
  197. data/vendor/local/share/doc/groonga/ja/html/_sources/commands/suggest.txt +1 -1
  198. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/report.txt +6 -7
  199. data/vendor/local/share/doc/groonga/ja/html/_sources/indexing.txt +108 -0
  200. data/vendor/local/share/doc/groonga/ja/html/_sources/news/1.2.x.txt +386 -0
  201. data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +51 -385
  202. data/vendor/local/share/doc/groonga/ja/html/_sources/reference.txt +1 -0
  203. data/vendor/local/share/doc/groonga/ja/html/_sources/spec/search.txt +4 -4
  204. data/vendor/local/share/doc/groonga/ja/html/characteristic.html +5 -5
  205. data/vendor/local/share/doc/groonga/ja/html/command_version.html +5 -5
  206. data/vendor/local/share/doc/groonga/ja/html/commands/cache_limit.html +5 -5
  207. data/vendor/local/share/doc/groonga/ja/html/commands/check.html +5 -5
  208. data/vendor/local/share/doc/groonga/ja/html/commands/clearlock.html +5 -5
  209. data/vendor/local/share/doc/groonga/ja/html/commands/column_create.html +5 -5
  210. data/vendor/local/share/doc/groonga/ja/html/commands/column_list.html +5 -5
  211. data/vendor/local/share/doc/groonga/ja/html/commands/column_remove.html +5 -5
  212. data/vendor/local/share/doc/groonga/ja/html/commands/define_selector.html +5 -5
  213. data/vendor/local/share/doc/groonga/ja/html/commands/defrag.html +5 -5
  214. data/vendor/local/share/doc/groonga/ja/html/commands/delete.html +5 -5
  215. data/vendor/local/share/doc/groonga/ja/html/commands/dump.html +5 -5
  216. data/vendor/local/share/doc/groonga/ja/html/commands/load.html +5 -5
  217. data/vendor/local/share/doc/groonga/ja/html/commands/log_level.html +5 -5
  218. data/vendor/local/share/doc/groonga/ja/html/commands/log_put.html +5 -5
  219. data/vendor/local/share/doc/groonga/ja/html/commands/log_reopen.html +5 -5
  220. data/vendor/local/share/doc/groonga/ja/html/commands/quit.html +5 -5
  221. data/vendor/local/share/doc/groonga/ja/html/commands/select.html +5 -5
  222. data/vendor/local/share/doc/groonga/ja/html/commands/shutdown.html +5 -5
  223. data/vendor/local/share/doc/groonga/ja/html/commands/status.html +5 -5
  224. data/vendor/local/share/doc/groonga/ja/html/commands/suggest.html +5 -5
  225. data/vendor/local/share/doc/groonga/ja/html/commands/table_create.html +5 -5
  226. data/vendor/local/share/doc/groonga/ja/html/commands/table_list.html +5 -5
  227. data/vendor/local/share/doc/groonga/ja/html/commands/table_remove.html +5 -5
  228. data/vendor/local/share/doc/groonga/ja/html/commands/view_add.html +5 -5
  229. data/vendor/local/share/doc/groonga/ja/html/commands.html +5 -5
  230. data/vendor/local/share/doc/groonga/ja/html/community.html +5 -5
  231. data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +5 -5
  232. data/vendor/local/share/doc/groonga/ja/html/contribution/development/document.html +5 -5
  233. data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +5 -5
  234. data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +5 -5
  235. data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +5 -5
  236. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +5 -5
  237. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +5 -5
  238. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +5 -5
  239. data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +6 -6
  240. data/vendor/local/share/doc/groonga/ja/html/contribution.html +5 -5
  241. data/vendor/local/share/doc/groonga/ja/html/executables/grnslap.html +5 -5
  242. data/vendor/local/share/doc/groonga/ja/html/executables/grntest.html +5 -5
  243. data/vendor/local/share/doc/groonga/ja/html/executables/groonga-http.html +5 -5
  244. data/vendor/local/share/doc/groonga/ja/html/executables/groonga-suggest-create-dataset.html +5 -5
  245. data/vendor/local/share/doc/groonga/ja/html/executables/groonga.html +5 -5
  246. data/vendor/local/share/doc/groonga/ja/html/executables.html +5 -5
  247. data/vendor/local/share/doc/groonga/ja/html/expr.html +5 -5
  248. data/vendor/local/share/doc/groonga/ja/html/functions/edit_distance.html +5 -5
  249. data/vendor/local/share/doc/groonga/ja/html/functions/geo_distance.html +5 -5
  250. data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_circle.html +5 -5
  251. data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_rectangle.html +5 -5
  252. data/vendor/local/share/doc/groonga/ja/html/functions/now.html +5 -5
  253. data/vendor/local/share/doc/groonga/ja/html/functions/rand.html +10 -10
  254. data/vendor/local/share/doc/groonga/ja/html/functions.html +5 -5
  255. data/vendor/local/share/doc/groonga/ja/html/genindex.html +5 -5
  256. data/vendor/local/share/doc/groonga/ja/html/geolocation_search.html +5 -5
  257. data/vendor/local/share/doc/groonga/ja/html/index.html +14 -8
  258. data/vendor/local/share/doc/groonga/ja/html/indexing.html +215 -0
  259. data/vendor/local/share/doc/groonga/ja/html/install.html +5 -5
  260. data/vendor/local/share/doc/groonga/ja/html/limitations.html +5 -5
  261. data/vendor/local/share/doc/groonga/ja/html/log.html +20 -20
  262. data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +5 -5
  263. data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +5 -5
  264. data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +5 -5
  265. data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +528 -0
  266. data/vendor/local/share/doc/groonga/ja/html/news/senna.html +5 -5
  267. data/vendor/local/share/doc/groonga/ja/html/news.html +62 -425
  268. data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
  269. data/vendor/local/share/doc/groonga/ja/html/output.html +5 -5
  270. data/vendor/local/share/doc/groonga/ja/html/pseudo_column.html +5 -5
  271. data/vendor/local/share/doc/groonga/ja/html/reference.html +14 -8
  272. data/vendor/local/share/doc/groonga/ja/html/search.html +5 -5
  273. data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
  274. data/vendor/local/share/doc/groonga/ja/html/spec/search.html +9 -9
  275. data/vendor/local/share/doc/groonga/ja/html/spec.html +9 -9
  276. data/vendor/local/share/doc/groonga/ja/html/suggest/completion.html +5 -5
  277. data/vendor/local/share/doc/groonga/ja/html/suggest/correction.html +5 -5
  278. data/vendor/local/share/doc/groonga/ja/html/suggest/introduction.html +5 -5
  279. data/vendor/local/share/doc/groonga/ja/html/suggest/suggestion.html +5 -5
  280. data/vendor/local/share/doc/groonga/ja/html/suggest/tutorial.html +5 -5
  281. data/vendor/local/share/doc/groonga/ja/html/suggest.html +5 -5
  282. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +5 -5
  283. data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +5 -5
  284. data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +5 -5
  285. data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +5 -5
  286. data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +5 -5
  287. data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +5 -5
  288. data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +5 -5
  289. data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +5 -5
  290. data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +5 -5
  291. data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +5 -5
  292. data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +5 -5
  293. data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +5 -5
  294. data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +5 -5
  295. data/vendor/local/share/doc/groonga/ja/html/tutorial.html +5 -5
  296. data/vendor/local/share/doc/groonga/ja/html/type.html +5 -5
  297. data/vendor/local/share/doc/groonga/source/commands/suggest.txt +1 -1
  298. data/vendor/local/share/doc/groonga/source/contribution/report.txt +6 -7
  299. data/vendor/local/share/doc/groonga/source/indexing.txt +108 -0
  300. data/vendor/local/share/doc/groonga/source/news/1.2.x.txt +386 -0
  301. data/vendor/local/share/doc/groonga/source/news.txt +51 -385
  302. data/vendor/local/share/doc/groonga/source/reference.txt +1 -0
  303. data/vendor/local/share/doc/groonga/source/spec/search.txt +4 -4
  304. data/vendor/local/share/license/groonga/COPYING +10 -12
  305. data/vendor/local/share/license/msgpack/AUTHORS +1 -0
  306. data/vendor/local/share/license/msgpack/COPYING +14 -0
  307. data/vendor/local/share/license/msgpack/LICENSE +202 -0
  308. data/vendor/local/share/man/ja/man1/groonga.1 +113 -5
  309. data/vendor/local/share/man/man1/groonga.1 +142 -11
  310. metadata +66 -3
  311. data/vendor/local/share/doc/groonga/source/update_execution_example.py +0 -141
@@ -151,11 +151,13 @@ module Groonga
151
151
  # スキーマを定義する。ブロックにはGroonga::Schemaオブ
152
152
  # ジェクトがわたるので、そのオブジェクトを利用してスキー
153
153
  # マを定義する。以下の省略形。
154
+ #
154
155
  # <pre>
155
- # schema = Groonga::Scheme.new(options)
156
- # ==...==
157
- # schema.define
156
+ # schema = Groonga::Scheme.new(options)
157
+ # # ...
158
+ # schema.define
158
159
  # </pre>
160
+ #
159
161
  # @param [::Hash] options The name and value
160
162
  # pairs. Omitted names are initialized as the default value.
161
163
  # @option options [Groonga::Context] :content (Groonga::Context.default) The context
@@ -170,7 +172,7 @@ module Groonga
170
172
  # @example 名前が _name_ のテーブルを作成する。以下の省略形。
171
173
  # Groonga::Schema.define do |schema|
172
174
  # schema.create_table(name, options) do |table|
173
- # ...
175
+ # # ...
174
176
  # end
175
177
  # end
176
178
  # ブロックにはGroonga::Schema::TableDefinitionオブジェ
@@ -328,12 +330,13 @@ module Groonga
328
330
  end
329
331
 
330
332
  # 名前が _name_ のテーブルを変更する。以下の省略形。
333
+ #
331
334
  # <pre>
332
- # Groonga::Schema.define do |schema|
333
- # schema.change_table(name, options) do |table|
334
- # ==...==
335
- # end
335
+ # Groonga::Schema.define do |schema|
336
+ # schema.change_table(name, options) do |table|
337
+ # # ...
336
338
  # end
339
+ # end
337
340
  # </pre>
338
341
  #
339
342
  # ブロックにはGroonga::Schema::TableDefinitionオブジェ
@@ -353,12 +356,12 @@ module Groonga
353
356
 
354
357
  # (See Groonga::Schema#rename_table)
355
358
  #
356
- # This is a syntax sugar the following code:
359
+ # This is a syntax sugar of the following code:
357
360
  #
358
361
  # <pre>
359
- # Groonga::Schema.define do |schema|
360
- # schema.rename_table(current_name, new_name, options)
361
- # end
362
+ # Groonga::Schema.define do |schema|
363
+ # schema.rename_table(current_name, new_name, options)
364
+ # end
362
365
  # </pre>
363
366
  def rename_table(current_name, new_name, options={})
364
367
  define do |schema|
@@ -367,12 +370,13 @@ module Groonga
367
370
  end
368
371
 
369
372
  # 名前が_name_のビューを作成する。以下の省略形。
373
+ #
370
374
  # <pre>
371
- # Groonga::Schema.define do |schema|
372
- # schema.create_view(name, options) do |view|
373
- # ==...==
374
- # end
375
+ # Groonga::Schema.define do |schema|
376
+ # schema.create_view(name, options) do |view|
377
+ # # ...
375
378
  # end
379
+ # end
376
380
  # </pre>
377
381
  # ブロックにはGroonga::Schema::ViewDefinitionオブジェ
378
382
  # クトがわたるので、そのオブジェクトを利用してビュー
@@ -415,12 +419,13 @@ module Groonga
415
419
  end
416
420
 
417
421
  # 名前が_name_のビューを変更する。以下の省略形。
422
+ #
418
423
  # <pre>
419
- # Groonga::Schema.define do |schema|
420
- # schema.change_view(name, options) do |view|
421
- # ==...==
422
- # end
424
+ # Groonga::Schema.define do |schema|
425
+ # schema.change_view(name, options) do |view|
426
+ # # ...
423
427
  # end
428
+ # end
424
429
  # </pre>
425
430
  #
426
431
  # ブロックにはGroonga::Schema::ViewDefinitionオブジェ
@@ -440,9 +445,11 @@ module Groonga
440
445
 
441
446
  # 以下と同様:
442
447
  #
443
- # Groonga::Schema.change_table(table_name) do |table|
444
- # table.remove_column(column_name)
445
- # end
448
+ # <pre>
449
+ # Groonga::Schema.change_table(table_name) do |table|
450
+ # table.remove_column(column_name)
451
+ # end
452
+ # </pre>
446
453
  def remove_column(table_name, column_name)
447
454
  change_table(table_name) do |table|
448
455
  table.remove_column(column_name)
@@ -451,10 +458,12 @@ module Groonga
451
458
 
452
459
  # This is a syntax sugar of the following:
453
460
  #
454
- # Groonga::Schema.define do |schema|
455
- # schema.rename_column(table_name,
456
- # current_column_name, new_column_name)
457
- # end
461
+ # <pre>
462
+ # Groonga::Schema.define do |schema|
463
+ # schema.rename_column(table_name,
464
+ # current_column_name, new_column_name)
465
+ # end
466
+ # </pre>
458
467
  def rename_column(table_name, current_column_name, new_column_name)
459
468
  define do |schema|
460
469
  schema.rename_column(table_name, current_column_name, new_column_name)
@@ -466,25 +475,39 @@ module Groonga
466
475
  # Rubyスクリプト形式で返された値は
467
476
  # Groonga::Schema.restoreすることによりスキーマ内に組み
468
477
  # 込むことができる。
478
+ #
479
+ # dump.rb:
480
+ #
469
481
  # <pre>
470
- # ==dump.rb:
471
- # File.open("/tmp/groonga-schema.rb", "w") do |schema|
472
- # dumped_text = Groonga::Schema.dump
473
- # end
474
- # restore.rb:
475
- # dumped_text = Groonga::Schema.dump
476
- # Groonga::Database.create(:path => "/tmp/new-db.grn")
477
- # Groonga::Schema.restore(dumped_text)==
482
+ # File.open("/tmp/groonga-schema.rb", "w") do |schema|
483
+ # dumped_text = Groonga::Schema.dump
484
+ # end
478
485
  # </pre>
486
+ #
487
+ # restore.rb:
488
+ #
489
+ # <pre>
490
+ # dumped_text = Groonga::Schema.dump
491
+ # Groonga::Database.create(:path => "/tmp/new-db.grn")
492
+ # Groonga::Schema.restore(dumped_text)
493
+ # </pre>
494
+ #
479
495
  # grn式形式で返された値はgroongaコマンドで読み込むこと
480
496
  # ができる。
497
+ #
498
+ # dump.rb:
499
+ #
481
500
  # <pre>
482
- # ==dump.rb:
483
- # File.open("/tmp/groonga-schema.grn", "w") do |schema|
484
- # dumped_text = Groonga::Schema.dump(:syntax => :command)
485
- # end
486
- # % groonga db/path < /tmp/groonga-schema.grn==
501
+ # File.open("/tmp/groonga-schema.grn", "w") do |schema|
502
+ # dumped_text = Groonga::Schema.dump(:syntax => :command)
503
+ # end
487
504
  # </pre>
505
+ #
506
+ # <pre>
507
+ # !!!text
508
+ # % groonga db/path < /tmp/groonga-schema.grn
509
+ # </pre>
510
+ #
488
511
  # @param options [::Hash] The name and value
489
512
  # pairs. Omitted names are initialized as the default value.
490
513
  # @option options :context (Groonga::Context.default) The context
@@ -914,9 +937,12 @@ module Groonga
914
937
  end
915
938
 
916
939
  # 以下と同様:
917
- # schema.change_table(table_name) do |table|
918
- # table.remove_column(column_name)
919
- # end
940
+ #
941
+ # <pre>
942
+ # schema.change_table(table_name) do |table|
943
+ # table.remove_column(column_name)
944
+ # end
945
+ # </pre>
920
946
  def remove_column(table_name, column_name)
921
947
  change_table(table_name) do |table|
922
948
  table.remove_column(column_name)
@@ -924,9 +950,12 @@ module Groonga
924
950
  end
925
951
 
926
952
  # It is a syntax sugar of the following:
927
- # schema.change_table(table_name) do |table|
928
- # table.rename_column(current_column_name, new_column_name)
929
- # end
953
+ #
954
+ # <pre>
955
+ # schema.change_table(table_name) do |table|
956
+ # table.rename_column(current_column_name, new_column_name)
957
+ # end
958
+ # </pre>
930
959
  def rename_column(table_name, current_column_name, new_column_name)
931
960
  change_table(table_name) do |table|
932
961
  table.rename_column(current_column_name, new_column_name)
data/lib/groonga.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2009-2011 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
@@ -58,12 +58,15 @@ module Groonga
58
58
  BUILD_VERSION.join(".")
59
59
  end
60
60
 
61
- ##
62
- # VERSIONを"."で結合して<tt>"メジャーバージョン.マイナー
63
- # バージョン.マイクロバージョン"</tt>という形式の文字列に
64
- # したもの。
61
+ # Format version.
62
+ #
63
+ # @return [String] If Groonga::VERSION has tag,
64
+ # @MAJOR.MINOR.MICRO-TAG@. Otherwise, @MAJOR.MINOR.MICRO@.
65
65
  def version
66
- VERSION.join(".")
66
+ major, minor, micro, tag = VERSION
67
+ version_string = [major, minor, micro].join(".")
68
+ version_string << "-#{tag}" if tag
69
+ version_string
67
70
  end
68
71
 
69
72
  ##
data/rroonga-build.rb CHANGED
@@ -17,8 +17,8 @@
17
17
 
18
18
  module RroongaBuild
19
19
  module RequiredGroongaVersion
20
- MAJOR = 1
21
- MINOR = 3
20
+ MAJOR = 2
21
+ MINOR = 0
22
22
  MICRO = 0
23
23
  VERSION = [MAJOR, MINOR, MICRO]
24
24
  end
data/test/run-test.rb CHANGED
@@ -36,8 +36,7 @@ if make
36
36
  system("cd #{base_dir.dump} && #{make} > /dev/null") or exit(false)
37
37
  end
38
38
 
39
- require "rubygems"
40
- gem "test-unit-notify"
39
+ require "test-unit"
41
40
  require "test/unit/notify"
42
41
 
43
42
  Test::Unit::Priority.enable
@@ -58,11 +58,6 @@ class TableSelectTest < Test::Unit::TestCase
58
58
  @result = nil
59
59
  end
60
60
 
61
- teardown
62
- def teardown_expression_close
63
- @result.expression.close if @result # TODO: We want to remove it.
64
- end
65
-
66
61
  def test_sub_expression
67
62
  @result = @comments.select do |record|
68
63
  record.match("Hello", "content") &
data/test/test-type.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009 Kouhei Sutou <kou@clear-code.com>
1
+ # Copyright (C) 2009-2012 Kouhei Sutou <kou@clear-code.com>
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -28,7 +28,7 @@ class TypeTest < Test::Unit::TestCase
28
28
  Groonga::Type.new("user id", :type => :integer)
29
29
  end
30
30
  message =
31
- "name can't start with '_' and contains only 0-9, A-Z, a-z, #, - or _"
31
+ "name can't start with '_' and contains only 0-9, A-Z, a-z, #, @, - or _"
32
32
  assert_match(/#{Regexp.escape(message)}/,
33
33
  exception.message)
34
34
  end
data/test/test-version.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009 Kouhei Sutou <kou@clear-code.com>
1
+ # Copyright (C) 2009-2012 Kouhei Sutou <kou@clear-code.com>
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -14,18 +14,48 @@
14
14
  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
15
 
16
16
  class VersionTest < Test::Unit::TestCase
17
- def test_build_version
18
- assert_match(/\A\d+\.\d+\.\d+\z/, Groonga.build_version)
19
- assert_match(Groonga.build_version, Groonga::BUILD_VERSION.join("."))
17
+ def test_build_version_format
18
+ assert_equal("X.X.X", normalize(Groonga.build_version))
20
19
  end
21
20
 
22
- def test_version
23
- assert_match(/\A\d+\.\d+\.\d+(?:\.\d+-[a-zA-Z\d]+)?\z/, Groonga.version)
24
- assert_match(Groonga.version, Groonga::VERSION.join("."))
21
+ def test_build_version_value
22
+ assert_equal(Groonga.build_version, Groonga::BUILD_VERSION.join("."))
25
23
  end
26
24
 
27
- def test_bindings_version
28
- assert_match(/\A\d+\.\d+\.\d+\z/, Groonga.bindings_version)
29
- assert_match(Groonga.bindings_version, Groonga::BINDINGS_VERSION.join("."))
25
+ def test_version_format
26
+ if /-/ =~ Groonga.version
27
+ assert_equal("X.X.X-XXX", normalize(Groonga.version))
28
+ else
29
+ assert_equal("X.X.X", normalize(Groonga.version))
30
+ end
31
+ end
32
+
33
+ def test_version_value
34
+ major, minor, micro, tag = Groonga::VERSION
35
+ versions = [major, minor, micro]
36
+ assert_equal(Groonga.version, [versions.join("."), tag].compact.join("-"))
37
+ end
38
+
39
+ def test_bindings_version_format
40
+ assert_equal("X.X.X", normalize(Groonga.bindings_version))
41
+ end
42
+
43
+ def test_bindings_version_value
44
+ assert_equal(Groonga.bindings_version, Groonga::BINDINGS_VERSION.join("."))
45
+ end
46
+
47
+ private
48
+ def normalize(version)
49
+ versions_component, tag_component = version.split(/-/, 2)
50
+ versions = versions_component.split(/\./)
51
+ normalized_versions = versions.collect do |component|
52
+ component.gsub(/\d+/, "X")
53
+ end
54
+ if tag_component
55
+ normalized_tag = "XXX"
56
+ else
57
+ normalized_tag = nil
58
+ end
59
+ [normalized_versions.join("."), normalized_tag].compact.join("-")
30
60
  end
31
61
  end
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -18,6 +18,8 @@
18
18
  #ifndef GRN_PLUGIN_H
19
19
  #define GRN_PLUGIN_H
20
20
 
21
+ #include <stddef.h>
22
+
21
23
  #include <groonga.h>
22
24
 
23
25
  #ifdef __cplusplus
@@ -38,6 +40,117 @@ GRN_PLUGIN_EXPORT grn_rc GRN_PLUGIN_INIT(grn_ctx *ctx);
38
40
  GRN_PLUGIN_EXPORT grn_rc GRN_PLUGIN_REGISTER(grn_ctx *ctx);
39
41
  GRN_PLUGIN_EXPORT grn_rc GRN_PLUGIN_FIN(grn_ctx *ctx);
40
42
 
43
+ /*
44
+ Don't call these functions directly. Use GRN_PLUGIN_MALLOC(),
45
+ GRN_PLUGIN_REALLOC() and GRN_PLUGIN_FREE() instead.
46
+ */
47
+ void *grn_plugin_malloc(grn_ctx *ctx, size_t size, const char *file,
48
+ int line, const char *func);
49
+ void *grn_plugin_realloc(grn_ctx *ctx, void *ptr, size_t size,
50
+ const char *file, int line, const char *func);
51
+ void grn_plugin_free(grn_ctx *ctx, void *ptr, const char *file,
52
+ int line, const char *func);
53
+
54
+ /*
55
+ GRN_PLUGIN_MALLOC() allocates `size' bytes and returns a pointer to the
56
+ allocated memory space. Note that the memory space is associated with `ctx'.
57
+ */
58
+ #define GRN_PLUGIN_MALLOC(ctx, size) \
59
+ grn_plugin_malloc((ctx), (size), __FILE__, __LINE__, __FUNCTION__)
60
+ /*
61
+ GRN_PLUGIN_REALLOC() resizes the memory space pointed to by `ptr' or
62
+ allocates a new memory space of `size' bytes. GRN_PLUGIN_REALLOC() returns
63
+ a pointer to the memory space. The contents is unchanged or copied from the
64
+ old memory space to the new memory space.
65
+ */
66
+ #define GRN_PLUGIN_REALLOC(ctx, ptr, size) \
67
+ grn_plugin_realloc((ctx), (ptr), (size), __FILE__, __LINE__, __FUNCTION__)
68
+ /*
69
+ GRN_PLUGIN_FREE() frees a memory space allocated by GRN_PLUGIN_MALLOC() or
70
+ GRN_PLUGIN_REALLOC(). This means that `ptr' must be a pointer returned by
71
+ GRN_PLUGIN_MALLOC() or GRN_PLUGIN_REALLOC().
72
+ */
73
+ #define GRN_PLUGIN_FREE(ctx, ptr) \
74
+ grn_plugin_free((ctx), (ptr), __FILE__, __LINE__, __FUNCTION__)
75
+
76
+ /*
77
+ GRN_PLUGIN_LOG() reports a log of `level'. Its error message is generated
78
+ from the varying number of arguments, in which the first one is the format
79
+ string and the rest are its arguments. See grn_log_level in "groonga.h" for
80
+ more details of `level'.
81
+ */
82
+ #define GRN_PLUGIN_LOG(ctx, level, ...) \
83
+ GRN_LOG((ctx), (level), __VA_ARGS__)
84
+
85
+ /*
86
+ Don't call grn_plugin_set_error() directly. This function is used in
87
+ GRN_PLUGIN_SET_ERROR().
88
+ */
89
+ void grn_plugin_set_error(grn_ctx *ctx, grn_log_level level,
90
+ grn_rc error_code,
91
+ const char *file, int line, const char *func,
92
+ const char *format, ...);
93
+
94
+ /*
95
+ Don't call these functions directly. grn_plugin_backtrace() and
96
+ grn_plugin_logtrace() are used in GRN_PLUGIN_SET_ERROR().
97
+ */
98
+ void grn_plugin_backtrace(grn_ctx *ctx);
99
+ void grn_plugin_logtrace(grn_ctx *ctx, grn_log_level level);
100
+
101
+ /*
102
+ Don't use GRN_PLUGIN_SET_ERROR() directly. This macro is used in
103
+ GRN_PLUGIN_ERROR().
104
+ */
105
+ #define GRN_PLUGIN_SET_ERROR(ctx, level, error_code, ...) do { \
106
+ grn_plugin_set_error(ctx, level, error_code, \
107
+ __FILE__, __LINE__, __FUNCTION__, __VA_ARGS__); \
108
+ GRN_LOG(ctx, level, __VA_ARGS__); \
109
+ grn_plugin_backtrace(ctx); \
110
+ grn_plugin_logtrace(ctx, level); \
111
+ } while (0)
112
+
113
+ /*
114
+ GRN_PLUGIN_ERROR() reports an error of `error_code'. Its error message is
115
+ generated from the varying number of arguments, in which the first one is the
116
+ format string and the rest are its arguments. See grn_rc in "groonga.h" for
117
+ more details of `error_code'.
118
+ */
119
+ #define GRN_PLUGIN_ERROR(ctx, error_code, ...) \
120
+ GRN_PLUGIN_SET_ERROR(ctx, GRN_LOG_ERROR, error_code, __VA_ARGS__)
121
+
122
+ /*
123
+ grn_plugin_mutex is available to make a critical section. See the
124
+ following functions.
125
+ */
126
+ typedef struct _grn_plugin_mutex grn_plugin_mutex;
127
+
128
+ /*
129
+ grn_plugin_mutex_create() returns a pointer to a new object of
130
+ grn_plugin_mutex. Memory for the new object is obtained with
131
+ GRN_PLUGIN_MALLOC(). grn_plugin_mutex_create() returns NULL if sufficient
132
+ memory is not available.
133
+ */
134
+ grn_plugin_mutex *grn_plugin_mutex_create(grn_ctx *ctx);
135
+
136
+ /*
137
+ grn_plugin_mutex_destroy() finalizes an object of grn_plugin_mutex and then
138
+ frees memory allocated for that object.
139
+ */
140
+ void grn_plugin_mutex_destroy(grn_ctx *ctx, grn_plugin_mutex *mutex);
141
+
142
+ /*
143
+ grn_plugin_mutex_lock() locks a mutex object. If the object is already
144
+ locked, the calling thread waits until the object will be unlocked.
145
+ */
146
+ void grn_plugin_mutex_lock(grn_ctx *ctx, grn_plugin_mutex *mutex);
147
+
148
+ /*
149
+ grn_plugin_mutex_unlock() unlocks a mutex object. grn_plugin_mutex_unlock()
150
+ should not be called for an unlocked object.
151
+ */
152
+ void grn_plugin_mutex_unlock(grn_ctx *ctx, grn_plugin_mutex *mutex);
153
+
41
154
  #ifdef __cplusplus
42
155
  }
43
156
  #endif
@@ -0,0 +1,146 @@
1
+ /* -*- c-basic-offset: 2 -*- */
2
+ /*
3
+ Copyright(C) 2012 Brazil
4
+
5
+ This library is free software; you can redistribute it and/or
6
+ modify it under the terms of the GNU Lesser General Public
7
+ License version 2.1 as published by the Free Software Foundation.
8
+
9
+ This library is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ Lesser General Public License for more details.
13
+
14
+ You should have received a copy of the GNU Lesser General Public
15
+ License along with this library; if not, write to the Free Software
16
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
+ */
18
+ #ifndef GRN_PLUGIN_TOKENIZER_H
19
+ #define GRN_PLUGIN_TOKENIZER_H
20
+
21
+ #include <stddef.h>
22
+
23
+ #include <groonga/plugin.h>
24
+
25
+ #ifdef __cplusplus
26
+ extern "C" {
27
+ #endif /* __cplusplus */
28
+
29
+ /*
30
+ grn_tokenizer_charlen() returns the length (#bytes) of the first character
31
+ in the string specified by `str_ptr' and `str_length'. If the starting bytes
32
+ are invalid as a character, grn_tokenizer_charlen() returns 0. See
33
+ grn_encoding in "groonga.h" for more details of `encoding'
34
+ */
35
+ int grn_tokenizer_charlen(grn_ctx *ctx, const char *str_ptr,
36
+ unsigned int str_length, grn_encoding encoding);
37
+
38
+ /*
39
+ grn_tokenizer_isspace() returns the length (#bytes) of the first character
40
+ in the string specified by `str_ptr' and `str_length' if it is a space
41
+ character. Otherwise, grn_tokenizer_isspace() returns 0.
42
+ */
43
+ int grn_tokenizer_isspace(grn_ctx *ctx, const char *str_ptr,
44
+ unsigned int str_length, grn_encoding encoding);
45
+
46
+ /*
47
+ grn_tokenizer_query is a structure for storing a query. See the following
48
+ functions.
49
+ */
50
+ typedef struct _grn_tokenizer_query grn_tokenizer_query;
51
+
52
+ struct _grn_tokenizer_query {
53
+ grn_obj *normalized_query;
54
+ char *query_buf;
55
+ const char *ptr;
56
+ unsigned int length;
57
+ grn_encoding encoding;
58
+ };
59
+
60
+ /*
61
+ grn_tokenizer_query_create() parses `args' and returns a new object of
62
+ grn_tokenizer_query. The new object stores information of the query.
63
+ grn_tokenizer_query_create() normalizes the query if the target table
64
+ requires normalization. grn_tokenizer_query_create() returns NULL if
65
+ something goes wrong. Note that grn_tokenizer_query_create() must be called
66
+ just once in the function that initializes a tokenizer.
67
+ */
68
+ grn_tokenizer_query *grn_tokenizer_query_create(grn_ctx *ctx,
69
+ int num_args, grn_obj **args);
70
+
71
+ /*
72
+ grn_tokenizer_mutex_destroy() finalizes an object of grn_tokenizer_mutex
73
+ and then frees memory allocated for that object.
74
+ */
75
+ void grn_tokenizer_query_destroy(grn_ctx *ctx, grn_tokenizer_query *query);
76
+
77
+ /*
78
+ grn_tokenizer_token is needed to return tokens. A grn_tokenizer_token object
79
+ stores a token to be returned and it must be maintained until a request for
80
+ next token or finalization comes.
81
+ */
82
+ typedef struct _grn_tokenizer_token grn_tokenizer_token;
83
+
84
+ struct _grn_tokenizer_token {
85
+ grn_obj str;
86
+ grn_obj status;
87
+ };
88
+
89
+ /*
90
+ grn_tokenizer_token_init() initializes `token'. Note that an initialized
91
+ object must be finalized by grn_tokenizer_token_fin().
92
+ */
93
+ void grn_tokenizer_token_init(grn_ctx *ctx, grn_tokenizer_token *token);
94
+
95
+ /*
96
+ grn_tokenizer_token_fin() finalizes `token' that has been initialized by
97
+ grn_tokenizer_token_init().
98
+ */
99
+ void grn_tokenizer_token_fin(grn_ctx *ctx, grn_tokenizer_token *token);
100
+
101
+ /*
102
+ grn_tokenizer_status provides a list of tokenizer status codes.
103
+ GRN_TOKENIZER_CONTINUE means that the next token is not the last one and
104
+ GRN_TOKENIZER_LAST means that the next token is the last one. If a document
105
+ or query contains no tokens, please push an empty string with
106
+ GRN_TOKENIZER_LAST as a token.
107
+ */
108
+ typedef enum {
109
+ GRN_TOKENIZER_CONTINUE = 0,
110
+ GRN_TOKENIZER_LAST = 1
111
+ } grn_tokenizer_status;
112
+
113
+ /*
114
+ grn_tokenizer_token_push() pushes the next token in `*token'. Note that
115
+ grn_tokenizer_token_push() does not make a copy of the given string. This
116
+ means that you have to maintain a memory space allocated to the string.
117
+ Also note that the grn_tokenizer_token object must be maintained until the
118
+ request for the next token or finalization comes. See grn_tokenizer_status in
119
+ this header for more details of `status'.
120
+ */
121
+ void grn_tokenizer_token_push(grn_ctx *ctx, grn_tokenizer_token *token,
122
+ const char *str_ptr, unsigned int str_length,
123
+ grn_tokenizer_status status);
124
+
125
+ /*
126
+ grn_tokenizer_register() registers a plugin to the database which is
127
+ associated with `ctx'. `plugin_name_ptr' and `plugin_name_length' specify the
128
+ plugin name. Alphabetic letters ('A'-'Z' and 'a'-'z'), digits ('0'-'9') and
129
+ an underscore ('_') are capable characters. `init', `next' and `fin' specify
130
+ the plugin functions. `init' is called for initializing a tokenizer for a
131
+ document or query. `next' is called for extracting tokens one by one. `fin'
132
+ is called for finalizing a tokenizer. grn_tokenizer_register() returns
133
+ GRN_SUCCESS on success, an error code on failure. See "groonga.h" for more
134
+ details of grn_proc_func and grn_user_data, that is used as an argument of
135
+ grn_proc_func.
136
+ */
137
+ grn_rc grn_tokenizer_register(grn_ctx *ctx, const char *plugin_name_ptr,
138
+ unsigned int plugin_name_length,
139
+ grn_proc_func *init, grn_proc_func *next,
140
+ grn_proc_func *fin);
141
+
142
+ #ifdef __cplusplus
143
+ } /* extern "C" */
144
+ #endif /* __cplusplus */
145
+
146
+ #endif /* GRN_PLUGIN_TOKENIZER_H */