rroonga 1.3.1-x86-mingw32 → 2.0.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
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 */