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
@@ -0,0 +1,409 @@
1
+ /*
2
+ * MessagePack unpacking routine template
3
+ *
4
+ * Copyright (C) 2008-2010 FURUHASHI Sadayuki
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+
19
+ #ifndef msgpack_unpack_func
20
+ #error msgpack_unpack_func template is not defined
21
+ #endif
22
+
23
+ #ifndef msgpack_unpack_callback
24
+ #error msgpack_unpack_callback template is not defined
25
+ #endif
26
+
27
+ #ifndef msgpack_unpack_struct
28
+ #error msgpack_unpack_struct template is not defined
29
+ #endif
30
+
31
+ #ifndef msgpack_unpack_struct_decl
32
+ #define msgpack_unpack_struct_decl(name) msgpack_unpack_struct(name)
33
+ #endif
34
+
35
+ #ifndef msgpack_unpack_object
36
+ #error msgpack_unpack_object type is not defined
37
+ #endif
38
+
39
+ #ifndef msgpack_unpack_user
40
+ #error msgpack_unpack_user type is not defined
41
+ #endif
42
+
43
+ #ifndef USE_CASE_RANGE
44
+ #if !defined(_MSC_VER)
45
+ #define USE_CASE_RANGE
46
+ #endif
47
+ #endif
48
+
49
+ msgpack_unpack_struct_decl(_stack) {
50
+ msgpack_unpack_object obj;
51
+ size_t count;
52
+ unsigned int ct;
53
+ msgpack_unpack_object map_key;
54
+ };
55
+
56
+ msgpack_unpack_struct_decl(_context) {
57
+ msgpack_unpack_user user;
58
+ unsigned int cs;
59
+ unsigned int trail;
60
+ unsigned int top;
61
+ /*
62
+ msgpack_unpack_struct(_stack)* stack;
63
+ unsigned int stack_size;
64
+ msgpack_unpack_struct(_stack) embed_stack[MSGPACK_EMBED_STACK_SIZE];
65
+ */
66
+ msgpack_unpack_struct(_stack) stack[MSGPACK_EMBED_STACK_SIZE];
67
+ };
68
+
69
+
70
+ msgpack_unpack_func(void, _init)(msgpack_unpack_struct(_context)* ctx)
71
+ {
72
+ ctx->cs = CS_HEADER;
73
+ ctx->trail = 0;
74
+ ctx->top = 0;
75
+ /*
76
+ ctx->stack = ctx->embed_stack;
77
+ ctx->stack_size = MSGPACK_EMBED_STACK_SIZE;
78
+ */
79
+ ctx->stack[0].obj = msgpack_unpack_callback(_root)(&ctx->user);
80
+ }
81
+
82
+ /*
83
+ msgpack_unpack_func(void, _destroy)(msgpack_unpack_struct(_context)* ctx)
84
+ {
85
+ if(ctx->stack_size != MSGPACK_EMBED_STACK_SIZE) {
86
+ free(ctx->stack);
87
+ }
88
+ }
89
+ */
90
+
91
+ msgpack_unpack_func(msgpack_unpack_object, _data)(msgpack_unpack_struct(_context)* ctx)
92
+ {
93
+ return (ctx)->stack[0].obj;
94
+ }
95
+
96
+
97
+ msgpack_unpack_func(int, _execute)(msgpack_unpack_struct(_context)* ctx, const char* data, size_t len, size_t* off)
98
+ {
99
+ assert(len >= *off);
100
+
101
+ const unsigned char* p = (unsigned char*)data + *off;
102
+ const unsigned char* const pe = (unsigned char*)data + len;
103
+ const void* n = NULL;
104
+
105
+ unsigned int trail = ctx->trail;
106
+ unsigned int cs = ctx->cs;
107
+ unsigned int top = ctx->top;
108
+ msgpack_unpack_struct(_stack)* stack = ctx->stack;
109
+ /*
110
+ unsigned int stack_size = ctx->stack_size;
111
+ */
112
+ msgpack_unpack_user* user = &ctx->user;
113
+
114
+ msgpack_unpack_object obj;
115
+ msgpack_unpack_struct(_stack)* c = NULL;
116
+
117
+ int ret;
118
+
119
+ #define push_simple_value(func) \
120
+ if(msgpack_unpack_callback(func)(user, &obj) < 0) { goto _failed; } \
121
+ goto _push
122
+ #define push_fixed_value(func, arg) \
123
+ if(msgpack_unpack_callback(func)(user, arg, &obj) < 0) { goto _failed; } \
124
+ goto _push
125
+ #define push_variable_value(func, base, pos, len) \
126
+ if(msgpack_unpack_callback(func)(user, \
127
+ (const char*)base, (const char*)pos, len, &obj) < 0) { goto _failed; } \
128
+ goto _push
129
+
130
+ #define again_fixed_trail(_cs, trail_len) \
131
+ trail = trail_len; \
132
+ cs = _cs; \
133
+ goto _fixed_trail_again
134
+ #define again_fixed_trail_if_zero(_cs, trail_len, ifzero) \
135
+ trail = trail_len; \
136
+ if(trail == 0) { goto ifzero; } \
137
+ cs = _cs; \
138
+ goto _fixed_trail_again
139
+
140
+ #define start_container(func, count_, ct_) \
141
+ if(top >= MSGPACK_EMBED_STACK_SIZE) { goto _failed; } /* FIXME */ \
142
+ if(msgpack_unpack_callback(func)(user, count_, &stack[top].obj) < 0) { goto _failed; } \
143
+ if((count_) == 0) { obj = stack[top].obj; goto _push; } \
144
+ stack[top].ct = ct_; \
145
+ stack[top].count = count_; \
146
+ ++top; \
147
+ /*printf("container %d count %d stack %d\n",stack[top].obj,count_,top);*/ \
148
+ /*printf("stack push %d\n", top);*/ \
149
+ /* FIXME \
150
+ if(top >= stack_size) { \
151
+ if(stack_size == MSGPACK_EMBED_STACK_SIZE) { \
152
+ size_t csize = sizeof(msgpack_unpack_struct(_stack)) * MSGPACK_EMBED_STACK_SIZE; \
153
+ size_t nsize = csize * 2; \
154
+ msgpack_unpack_struct(_stack)* tmp = (msgpack_unpack_struct(_stack)*)malloc(nsize); \
155
+ if(tmp == NULL) { goto _failed; } \
156
+ memcpy(tmp, ctx->stack, csize); \
157
+ ctx->stack = stack = tmp; \
158
+ ctx->stack_size = stack_size = MSGPACK_EMBED_STACK_SIZE * 2; \
159
+ } else { \
160
+ size_t nsize = sizeof(msgpack_unpack_struct(_stack)) * ctx->stack_size * 2; \
161
+ msgpack_unpack_struct(_stack)* tmp = (msgpack_unpack_struct(_stack)*)realloc(ctx->stack, nsize); \
162
+ if(tmp == NULL) { goto _failed; } \
163
+ ctx->stack = stack = tmp; \
164
+ ctx->stack_size = stack_size = stack_size * 2; \
165
+ } \
166
+ } \
167
+ */ \
168
+ goto _header_again
169
+
170
+ #define NEXT_CS(p) \
171
+ ((unsigned int)*p & 0x1f)
172
+
173
+ #ifdef USE_CASE_RANGE
174
+ #define SWITCH_RANGE_BEGIN switch(*p) {
175
+ #define SWITCH_RANGE(FROM, TO) case FROM ... TO:
176
+ #define SWITCH_RANGE_DEFAULT default:
177
+ #define SWITCH_RANGE_END }
178
+ #else
179
+ #define SWITCH_RANGE_BEGIN { if(0) {
180
+ #define SWITCH_RANGE(FROM, TO) } else if(FROM <= *p && *p <= TO) {
181
+ #define SWITCH_RANGE_DEFAULT } else {
182
+ #define SWITCH_RANGE_END } }
183
+ #endif
184
+
185
+ if(p == pe) { goto _out; }
186
+ do {
187
+ switch(cs) {
188
+ case CS_HEADER:
189
+ SWITCH_RANGE_BEGIN
190
+ SWITCH_RANGE(0x00, 0x7f) // Positive Fixnum
191
+ push_fixed_value(_uint8, *(uint8_t*)p);
192
+ SWITCH_RANGE(0xe0, 0xff) // Negative Fixnum
193
+ push_fixed_value(_int8, *(int8_t*)p);
194
+ SWITCH_RANGE(0xc0, 0xdf) // Variable
195
+ switch(*p) {
196
+ case 0xc0: // nil
197
+ push_simple_value(_nil);
198
+ //case 0xc1: // string
199
+ // again_terminal_trail(NEXT_CS(p), p+1);
200
+ case 0xc2: // false
201
+ push_simple_value(_false);
202
+ case 0xc3: // true
203
+ push_simple_value(_true);
204
+ //case 0xc4:
205
+ //case 0xc5:
206
+ //case 0xc6:
207
+ //case 0xc7:
208
+ //case 0xc8:
209
+ //case 0xc9:
210
+ case 0xca: // float
211
+ case 0xcb: // double
212
+ case 0xcc: // unsigned int 8
213
+ case 0xcd: // unsigned int 16
214
+ case 0xce: // unsigned int 32
215
+ case 0xcf: // unsigned int 64
216
+ case 0xd0: // signed int 8
217
+ case 0xd1: // signed int 16
218
+ case 0xd2: // signed int 32
219
+ case 0xd3: // signed int 64
220
+ again_fixed_trail(NEXT_CS(p), 1 << (((unsigned int)*p) & 0x03));
221
+ //case 0xd4:
222
+ //case 0xd5:
223
+ //case 0xd6: // big integer 16
224
+ //case 0xd7: // big integer 32
225
+ //case 0xd8: // big float 16
226
+ //case 0xd9: // big float 32
227
+ case 0xda: // raw 16
228
+ case 0xdb: // raw 32
229
+ case 0xdc: // array 16
230
+ case 0xdd: // array 32
231
+ case 0xde: // map 16
232
+ case 0xdf: // map 32
233
+ again_fixed_trail(NEXT_CS(p), 2 << (((unsigned int)*p) & 0x01));
234
+ default:
235
+ goto _failed;
236
+ }
237
+ SWITCH_RANGE(0xa0, 0xbf) // FixRaw
238
+ again_fixed_trail_if_zero(ACS_RAW_VALUE, ((unsigned int)*p & 0x1f), _raw_zero);
239
+ SWITCH_RANGE(0x90, 0x9f) // FixArray
240
+ start_container(_array, ((unsigned int)*p) & 0x0f, CT_ARRAY_ITEM);
241
+ SWITCH_RANGE(0x80, 0x8f) // FixMap
242
+ start_container(_map, ((unsigned int)*p) & 0x0f, CT_MAP_KEY);
243
+
244
+ SWITCH_RANGE_DEFAULT
245
+ goto _failed;
246
+ SWITCH_RANGE_END
247
+ // end CS_HEADER
248
+
249
+
250
+ _fixed_trail_again:
251
+ ++p;
252
+
253
+ default:
254
+ if((size_t)(pe - p) < trail) { goto _out; }
255
+ n = p; p += trail - 1;
256
+ switch(cs) {
257
+ //case CS_
258
+ //case CS_
259
+ case CS_FLOAT: {
260
+ union { uint32_t i; float f; } mem;
261
+ mem.i = _msgpack_load32(uint32_t,n);
262
+ push_fixed_value(_float, mem.f); }
263
+ case CS_DOUBLE: {
264
+ union { uint64_t i; double f; } mem;
265
+ mem.i = _msgpack_load64(uint64_t,n);
266
+ push_fixed_value(_double, mem.f); }
267
+ case CS_UINT_8:
268
+ push_fixed_value(_uint8, *(uint8_t*)n);
269
+ case CS_UINT_16:
270
+ push_fixed_value(_uint16, _msgpack_load16(uint16_t,n));
271
+ case CS_UINT_32:
272
+ push_fixed_value(_uint32, _msgpack_load32(uint32_t,n));
273
+ case CS_UINT_64:
274
+ push_fixed_value(_uint64, _msgpack_load64(uint64_t,n));
275
+
276
+ case CS_INT_8:
277
+ push_fixed_value(_int8, *(int8_t*)n);
278
+ case CS_INT_16:
279
+ push_fixed_value(_int16, _msgpack_load16(int16_t,n));
280
+ case CS_INT_32:
281
+ push_fixed_value(_int32, _msgpack_load32(int32_t,n));
282
+ case CS_INT_64:
283
+ push_fixed_value(_int64, _msgpack_load64(int64_t,n));
284
+
285
+ //case CS_
286
+ //case CS_
287
+ //case CS_BIG_INT_16:
288
+ // again_fixed_trail_if_zero(ACS_BIG_INT_VALUE, _msgpack_load16(uint16_t,n), _big_int_zero);
289
+ //case CS_BIG_INT_32:
290
+ // again_fixed_trail_if_zero(ACS_BIG_INT_VALUE, _msgpack_load32(uint32_t,n), _big_int_zero);
291
+ //case ACS_BIG_INT_VALUE:
292
+ //_big_int_zero:
293
+ // // FIXME
294
+ // push_variable_value(_big_int, data, n, trail);
295
+
296
+ //case CS_BIG_FLOAT_16:
297
+ // again_fixed_trail_if_zero(ACS_BIG_FLOAT_VALUE, _msgpack_load16(uint16_t,n), _big_float_zero);
298
+ //case CS_BIG_FLOAT_32:
299
+ // again_fixed_trail_if_zero(ACS_BIG_FLOAT_VALUE, _msgpack_load32(uint32_t,n), _big_float_zero);
300
+ //case ACS_BIG_FLOAT_VALUE:
301
+ //_big_float_zero:
302
+ // // FIXME
303
+ // push_variable_value(_big_float, data, n, trail);
304
+
305
+ case CS_RAW_16:
306
+ again_fixed_trail_if_zero(ACS_RAW_VALUE, _msgpack_load16(uint16_t,n), _raw_zero);
307
+ case CS_RAW_32:
308
+ again_fixed_trail_if_zero(ACS_RAW_VALUE, _msgpack_load32(uint32_t,n), _raw_zero);
309
+ case ACS_RAW_VALUE:
310
+ _raw_zero:
311
+ push_variable_value(_raw, data, n, trail);
312
+
313
+ case CS_ARRAY_16:
314
+ start_container(_array, _msgpack_load16(uint16_t,n), CT_ARRAY_ITEM);
315
+ case CS_ARRAY_32:
316
+ /* FIXME security guard */
317
+ start_container(_array, _msgpack_load32(uint32_t,n), CT_ARRAY_ITEM);
318
+
319
+ case CS_MAP_16:
320
+ start_container(_map, _msgpack_load16(uint16_t,n), CT_MAP_KEY);
321
+ case CS_MAP_32:
322
+ /* FIXME security guard */
323
+ start_container(_map, _msgpack_load32(uint32_t,n), CT_MAP_KEY);
324
+
325
+ default:
326
+ goto _failed;
327
+ }
328
+ }
329
+
330
+ _push:
331
+ if(top == 0) { goto _finish; }
332
+ c = &stack[top-1];
333
+ switch(c->ct) {
334
+ case CT_ARRAY_ITEM:
335
+ if(msgpack_unpack_callback(_array_item)(user, &c->obj, obj) < 0) { goto _failed; }
336
+ if(--c->count == 0) {
337
+ obj = c->obj;
338
+ --top;
339
+ /*printf("stack pop %d\n", top);*/
340
+ goto _push;
341
+ }
342
+ goto _header_again;
343
+ case CT_MAP_KEY:
344
+ c->map_key = obj;
345
+ c->ct = CT_MAP_VALUE;
346
+ goto _header_again;
347
+ case CT_MAP_VALUE:
348
+ if(msgpack_unpack_callback(_map_item)(user, &c->obj, c->map_key, obj) < 0) { goto _failed; }
349
+ if(--c->count == 0) {
350
+ obj = c->obj;
351
+ --top;
352
+ /*printf("stack pop %d\n", top);*/
353
+ goto _push;
354
+ }
355
+ c->ct = CT_MAP_KEY;
356
+ goto _header_again;
357
+
358
+ default:
359
+ goto _failed;
360
+ }
361
+
362
+ _header_again:
363
+ cs = CS_HEADER;
364
+ ++p;
365
+ } while(p != pe);
366
+ goto _out;
367
+
368
+
369
+ _finish:
370
+ stack[0].obj = obj;
371
+ ++p;
372
+ ret = 1;
373
+ /*printf("-- finish --\n"); */
374
+ goto _end;
375
+
376
+ _failed:
377
+ /*printf("** FAILED **\n"); */
378
+ ret = -1;
379
+ goto _end;
380
+
381
+ _out:
382
+ ret = 0;
383
+ goto _end;
384
+
385
+ _end:
386
+ ctx->cs = cs;
387
+ ctx->trail = trail;
388
+ ctx->top = top;
389
+ *off = p - (const unsigned char*)data;
390
+
391
+ return ret;
392
+ }
393
+
394
+
395
+ #undef msgpack_unpack_func
396
+ #undef msgpack_unpack_callback
397
+ #undef msgpack_unpack_struct
398
+ #undef msgpack_unpack_object
399
+ #undef msgpack_unpack_user
400
+
401
+ #undef push_simple_value
402
+ #undef push_fixed_value
403
+ #undef push_variable_value
404
+ #undef again_fixed_trail
405
+ #undef again_fixed_trail_if_zero
406
+ #undef start_container
407
+
408
+ #undef NEXT_CS
409
+
@@ -0,0 +1,40 @@
1
+ /*
2
+ * MessagePack for C version information
3
+ *
4
+ * Copyright (C) 2008-2009 FURUHASHI Sadayuki
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+ #ifndef MSGPACK_VERSION_H__
19
+ #define MSGPACK_VERSION_H__
20
+
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+
25
+
26
+ const char* msgpack_version(void);
27
+ int msgpack_version_major(void);
28
+ int msgpack_version_minor(void);
29
+
30
+ #define MSGPACK_VERSION "0.5.7"
31
+ #define MSGPACK_VERSION_MAJOR 0
32
+ #define MSGPACK_VERSION_MINOR 5
33
+
34
+
35
+ #ifdef __cplusplus
36
+ }
37
+ #endif
38
+
39
+ #endif /* msgpack/version.h */
40
+
@@ -0,0 +1,142 @@
1
+ /*
2
+ * MessagePack for C zero-copy buffer implementation
3
+ *
4
+ * Copyright (C) 2008-2009 FURUHASHI Sadayuki
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+ #ifndef MSGPACK_VREFBUFFER_H__
19
+ #define MSGPACK_VREFBUFFER_H__
20
+
21
+ #include "zone.h"
22
+ #include <stdlib.h>
23
+
24
+ #ifndef _WIN32
25
+ #include <sys/uio.h>
26
+ #else
27
+ struct iovec {
28
+ void *iov_base;
29
+ size_t iov_len;
30
+ };
31
+ #endif
32
+
33
+ #ifdef __cplusplus
34
+ extern "C" {
35
+ #endif
36
+
37
+
38
+ /**
39
+ * @defgroup msgpack_vrefbuffer Vectored Referencing buffer
40
+ * @ingroup msgpack_buffer
41
+ * @{
42
+ */
43
+
44
+ struct msgpack_vrefbuffer_chunk;
45
+ typedef struct msgpack_vrefbuffer_chunk msgpack_vrefbuffer_chunk;
46
+
47
+ typedef struct msgpack_vrefbuffer_inner_buffer {
48
+ size_t free;
49
+ char* ptr;
50
+ msgpack_vrefbuffer_chunk* head;
51
+ } msgpack_vrefbuffer_inner_buffer;
52
+
53
+ typedef struct msgpack_vrefbuffer {
54
+ struct iovec* tail;
55
+ struct iovec* end;
56
+ struct iovec* array;
57
+
58
+ size_t chunk_size;
59
+ size_t ref_size;
60
+
61
+ msgpack_vrefbuffer_inner_buffer inner_buffer;
62
+ } msgpack_vrefbuffer;
63
+
64
+
65
+ #ifndef MSGPACK_VREFBUFFER_REF_SIZE
66
+ #define MSGPACK_VREFBUFFER_REF_SIZE 32
67
+ #endif
68
+
69
+ #ifndef MSGPACK_VREFBUFFER_CHUNK_SIZE
70
+ #define MSGPACK_VREFBUFFER_CHUNK_SIZE 8192
71
+ #endif
72
+
73
+ bool msgpack_vrefbuffer_init(msgpack_vrefbuffer* vbuf,
74
+ size_t ref_size, size_t chunk_size);
75
+ void msgpack_vrefbuffer_destroy(msgpack_vrefbuffer* vbuf);
76
+
77
+ static inline msgpack_vrefbuffer* msgpack_vrefbuffer_new(size_t ref_size, size_t chunk_size);
78
+ static inline void msgpack_vrefbuffer_free(msgpack_vrefbuffer* vbuf);
79
+
80
+ static inline int msgpack_vrefbuffer_write(void* data, const char* buf, unsigned int len);
81
+
82
+ static inline const struct iovec* msgpack_vrefbuffer_vec(const msgpack_vrefbuffer* vref);
83
+ static inline size_t msgpack_vrefbuffer_veclen(const msgpack_vrefbuffer* vref);
84
+
85
+ int msgpack_vrefbuffer_append_copy(msgpack_vrefbuffer* vbuf,
86
+ const char* buf, unsigned int len);
87
+
88
+ int msgpack_vrefbuffer_append_ref(msgpack_vrefbuffer* vbuf,
89
+ const char* buf, unsigned int len);
90
+
91
+ int msgpack_vrefbuffer_migrate(msgpack_vrefbuffer* vbuf, msgpack_vrefbuffer* to);
92
+
93
+ void msgpack_vrefbuffer_clear(msgpack_vrefbuffer* vref);
94
+
95
+ /** @} */
96
+
97
+
98
+ msgpack_vrefbuffer* msgpack_vrefbuffer_new(size_t ref_size, size_t chunk_size)
99
+ {
100
+ msgpack_vrefbuffer* vbuf = (msgpack_vrefbuffer*)malloc(sizeof(msgpack_vrefbuffer));
101
+ if(!msgpack_vrefbuffer_init(vbuf, ref_size, chunk_size)) {
102
+ free(vbuf);
103
+ return NULL;
104
+ }
105
+ return vbuf;
106
+ }
107
+
108
+ void msgpack_vrefbuffer_free(msgpack_vrefbuffer* vbuf)
109
+ {
110
+ if(vbuf == NULL) { return; }
111
+ msgpack_vrefbuffer_destroy(vbuf);
112
+ free(vbuf);
113
+ }
114
+
115
+ int msgpack_vrefbuffer_write(void* data, const char* buf, unsigned int len)
116
+ {
117
+ msgpack_vrefbuffer* vbuf = (msgpack_vrefbuffer*)data;
118
+
119
+ if(len < vbuf->ref_size) {
120
+ return msgpack_vrefbuffer_append_copy(vbuf, buf, len);
121
+ } else {
122
+ return msgpack_vrefbuffer_append_ref(vbuf, buf, len);
123
+ }
124
+ }
125
+
126
+ const struct iovec* msgpack_vrefbuffer_vec(const msgpack_vrefbuffer* vref)
127
+ {
128
+ return vref->array;
129
+ }
130
+
131
+ size_t msgpack_vrefbuffer_veclen(const msgpack_vrefbuffer* vref)
132
+ {
133
+ return vref->tail - vref->array;
134
+ }
135
+
136
+
137
+ #ifdef __cplusplus
138
+ }
139
+ #endif
140
+
141
+ #endif /* msgpack/vrefbuffer.h */
142
+
@@ -0,0 +1,97 @@
1
+ //
2
+ // MessagePack for C++ zero-copy buffer implementation
3
+ //
4
+ // Copyright (C) 2008-2009 FURUHASHI Sadayuki
5
+ //
6
+ // Licensed under the Apache License, Version 2.0 (the "License");
7
+ // you may not use this file except in compliance with the License.
8
+ // You may obtain a copy of the License at
9
+ //
10
+ // http://www.apache.org/licenses/LICENSE-2.0
11
+ //
12
+ // Unless required by applicable law or agreed to in writing, software
13
+ // distributed under the License is distributed on an "AS IS" BASIS,
14
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ // See the License for the specific language governing permissions and
16
+ // limitations under the License.
17
+ //
18
+ #ifndef MSGPACK_VREFBUFFER_HPP__
19
+ #define MSGPACK_VREFBUFFER_HPP__
20
+
21
+ #include "vrefbuffer.h"
22
+ #include <stdexcept>
23
+
24
+ namespace msgpack {
25
+
26
+
27
+ class vrefbuffer : public msgpack_vrefbuffer {
28
+ public:
29
+ vrefbuffer(size_t ref_size = MSGPACK_VREFBUFFER_REF_SIZE,
30
+ size_t chunk_size = MSGPACK_VREFBUFFER_CHUNK_SIZE)
31
+ {
32
+ msgpack_vrefbuffer_init(this, ref_size, chunk_size);
33
+ }
34
+
35
+ ~vrefbuffer()
36
+ {
37
+ msgpack_vrefbuffer_destroy(this);
38
+ }
39
+
40
+ public:
41
+ void write(const char* buf, unsigned int len)
42
+ {
43
+ if(len < base::ref_size) {
44
+ append_copy(buf, len);
45
+ } else {
46
+ append_ref(buf, len);
47
+ }
48
+ }
49
+
50
+ void append_ref(const char* buf, size_t len)
51
+ {
52
+ if(msgpack_vrefbuffer_append_ref(this, buf, len) < 0) {
53
+ throw std::bad_alloc();
54
+ }
55
+ }
56
+
57
+ void append_copy(const char* buf, size_t len)
58
+ {
59
+ if(msgpack_vrefbuffer_append_copy(this, buf, len) < 0) {
60
+ throw std::bad_alloc();
61
+ }
62
+ }
63
+
64
+ const struct iovec* vector() const
65
+ {
66
+ return msgpack_vrefbuffer_vec(this);
67
+ }
68
+
69
+ size_t vector_size() const
70
+ {
71
+ return msgpack_vrefbuffer_veclen(this);
72
+ }
73
+
74
+ void migrate(vrefbuffer* to)
75
+ {
76
+ if(msgpack_vrefbuffer_migrate(this, to) < 0) {
77
+ throw std::bad_alloc();
78
+ }
79
+ }
80
+
81
+ void clear()
82
+ {
83
+ msgpack_vrefbuffer_clear(this);
84
+ }
85
+
86
+ private:
87
+ typedef msgpack_vrefbuffer base;
88
+
89
+ private:
90
+ vrefbuffer(const vrefbuffer&);
91
+ };
92
+
93
+
94
+ } // namespace msgpack
95
+
96
+ #endif /* msgpack/vrefbuffer.hpp */
97
+