rroonga 7.1.1-x64-mingw32 → 9.0.2-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (980) hide show
  1. checksums.yaml +5 -5
  2. data/Rakefile +3 -3
  3. data/doc/text/news.md +22 -0
  4. data/ext/groonga/extconf.rb +29 -26
  5. data/ext/groonga/rb-grn.h +3 -3
  6. data/lib/2.2/groonga.so +0 -0
  7. data/lib/2.3/groonga.so +0 -0
  8. data/lib/2.4/groonga.so +0 -0
  9. data/lib/2.5/groonga.so +0 -0
  10. data/lib/groonga/expression-builder.rb +1 -1
  11. data/lib/groonga/schema.rb +13 -0
  12. data/rroonga-build.rb +4 -11
  13. data/test/test-expression-builder.rb +8 -0
  14. data/vendor/local/bin/cv2pdb.exe +0 -0
  15. data/vendor/local/bin/generate-pdb.bat +38 -36
  16. data/vendor/local/bin/grndb.exe +0 -0
  17. data/vendor/local/bin/groonga-benchmark.exe +0 -0
  18. data/vendor/local/bin/groonga-suggest-create-dataset.exe +0 -0
  19. data/vendor/local/bin/groonga.exe +0 -0
  20. data/vendor/local/bin/libgroonga-0.dll +0 -0
  21. data/vendor/local/bin/libmecab-2.dll +0 -0
  22. data/vendor/local/bin/libmsgpackc.dll +0 -0
  23. data/vendor/local/bin/libonigmo-6.dll +0 -0
  24. data/vendor/local/bin/libpcre-1.dll +0 -0
  25. data/vendor/local/bin/libpcrecpp-0.dll +0 -0
  26. data/vendor/local/bin/libpcreposix-0.dll +0 -0
  27. data/vendor/local/bin/lz4.exe +0 -0
  28. data/vendor/local/bin/lz4c.exe +0 -0
  29. data/vendor/local/bin/{lz4cat → lz4cat.exe} +0 -0
  30. data/vendor/local/bin/mecab.exe +0 -0
  31. data/vendor/local/bin/pcre-config +1 -1
  32. data/vendor/local/bin/pcregrep.exe +0 -0
  33. data/vendor/local/bin/pcretest.exe +0 -0
  34. data/vendor/local/bin/unlz4.exe +0 -0
  35. data/vendor/local/bin/zlib1.dll +0 -0
  36. data/vendor/local/include/groonga/groonga.h +16 -1
  37. data/vendor/local/include/groonga/groonga/accessor.h +5 -1
  38. data/vendor/local/include/groonga/groonga/column.h +4 -0
  39. data/vendor/local/include/groonga/groonga/db.h +3 -1
  40. data/vendor/local/include/groonga/groonga/expr.h +5 -0
  41. data/vendor/local/include/groonga/groonga/groonga.h +124 -171
  42. data/vendor/local/include/groonga/groonga/highlighter.h +57 -0
  43. data/vendor/local/include/groonga/groonga/ii.h +2 -0
  44. data/vendor/local/include/groonga/groonga/index_column.h +31 -0
  45. data/vendor/local/include/groonga/groonga/memory.h +29 -0
  46. data/vendor/local/include/groonga/groonga/msgpack.h +50 -0
  47. data/vendor/local/include/groonga/groonga/obj.h +22 -1
  48. data/vendor/local/include/groonga/groonga/option.h +61 -0
  49. data/vendor/local/include/groonga/groonga/output.h +57 -2
  50. data/vendor/local/include/groonga/groonga/output_columns.h +38 -0
  51. data/vendor/local/include/groonga/groonga/plugin.h +5 -0
  52. data/vendor/local/include/groonga/groonga/raw_string.h +60 -0
  53. data/vendor/local/include/groonga/groonga/string.h +113 -0
  54. data/vendor/local/include/groonga/groonga/table.h +89 -1
  55. data/vendor/local/include/groonga/groonga/thread.h +15 -0
  56. data/vendor/local/include/groonga/groonga/time.h +1 -0
  57. data/vendor/local/include/groonga/groonga/token.h +60 -10
  58. data/vendor/local/include/groonga/groonga/token_cursor.h +59 -0
  59. data/vendor/local/include/groonga/groonga/token_filter.h +24 -0
  60. data/vendor/local/include/groonga/groonga/token_metadata.h +49 -0
  61. data/vendor/local/include/groonga/groonga/tokenizer.h +99 -25
  62. data/vendor/local/include/groonga/groonga/tokenizer_query_deprecated.h +50 -0
  63. data/vendor/local/include/groonga/groonga/vector.h +80 -0
  64. data/vendor/local/include/groonga/groonga/version.h +32 -0
  65. data/vendor/local/include/groonga/groonga/window_function.h +18 -8
  66. data/vendor/local/include/groonga/groonga/window_function_executor.h +68 -0
  67. data/vendor/local/include/lz4.h +504 -212
  68. data/vendor/local/include/lz4frame.h +433 -153
  69. data/vendor/local/include/lz4frame_static.h +47 -0
  70. data/vendor/local/include/lz4hc.h +281 -108
  71. data/vendor/local/include/msgpack.hpp +4 -0
  72. data/vendor/local/include/msgpack/adaptor/adaptor_base.hpp +1 -0
  73. data/vendor/local/include/msgpack/adaptor/adaptor_base_decl.hpp +1 -0
  74. data/vendor/local/include/msgpack/adaptor/array_ref_decl.hpp +1 -0
  75. data/vendor/local/include/msgpack/adaptor/boost/msgpack_variant_decl.hpp +1 -0
  76. data/vendor/local/include/msgpack/adaptor/boost/string_view.hpp +15 -0
  77. data/vendor/local/include/msgpack/adaptor/check_container_size_decl.hpp +1 -0
  78. data/vendor/local/include/msgpack/adaptor/cpp17/optional.hpp +16 -0
  79. data/vendor/local/include/msgpack/adaptor/cpp17/string_view.hpp +16 -0
  80. data/vendor/local/include/msgpack/adaptor/define_decl.hpp +2 -0
  81. data/vendor/local/include/msgpack/adaptor/ext_decl.hpp +1 -0
  82. data/vendor/local/include/msgpack/adaptor/fixint_decl.hpp +1 -0
  83. data/vendor/local/include/msgpack/adaptor/int_decl.hpp +1 -0
  84. data/vendor/local/include/msgpack/adaptor/map_decl.hpp +1 -0
  85. data/vendor/local/include/msgpack/adaptor/msgpack_tuple_decl.hpp +1 -0
  86. data/vendor/local/include/msgpack/adaptor/nil_decl.hpp +1 -0
  87. data/vendor/local/include/msgpack/adaptor/raw_decl.hpp +1 -0
  88. data/vendor/local/include/msgpack/adaptor/size_equal_only_decl.hpp +1 -0
  89. data/vendor/local/include/msgpack/adaptor/tr1/unordered_map.hpp +2 -2
  90. data/vendor/local/include/msgpack/adaptor/tr1/unordered_set.hpp +2 -2
  91. data/vendor/local/include/msgpack/adaptor/v4raw_decl.hpp +1 -0
  92. data/vendor/local/include/msgpack/cpp_config_decl.hpp +1 -0
  93. data/vendor/local/include/msgpack/create_object_visitor.hpp +17 -0
  94. data/vendor/local/include/msgpack/create_object_visitor_decl.hpp +16 -0
  95. data/vendor/local/include/msgpack/fbuffer.h +1 -1
  96. data/vendor/local/include/msgpack/fbuffer_decl.hpp +1 -0
  97. data/vendor/local/include/msgpack/gcc_atomic.hpp +0 -2
  98. data/vendor/local/include/msgpack/iterator_decl.hpp +2 -1
  99. data/vendor/local/include/msgpack/meta_decl.hpp +1 -0
  100. data/vendor/local/include/msgpack/null_visitor.hpp +17 -0
  101. data/vendor/local/include/msgpack/null_visitor_decl.hpp +16 -0
  102. data/vendor/local/include/msgpack/object.h +5 -0
  103. data/vendor/local/include/msgpack/object_decl.hpp +1 -0
  104. data/vendor/local/include/msgpack/object_fwd.hpp +1 -0
  105. data/vendor/local/include/msgpack/object_fwd_decl.hpp +1 -0
  106. data/vendor/local/include/msgpack/pack.h +1 -0
  107. data/vendor/local/include/msgpack/pack_decl.hpp +1 -0
  108. data/vendor/local/include/msgpack/parse.hpp +18 -0
  109. data/vendor/local/include/msgpack/parse_decl.hpp +16 -0
  110. data/vendor/local/include/msgpack/parse_return.hpp +17 -0
  111. data/vendor/local/include/msgpack/sbuffer_decl.hpp +1 -0
  112. data/vendor/local/include/msgpack/sysdep.h +34 -26
  113. data/vendor/local/include/msgpack/type.hpp +9 -0
  114. data/vendor/local/include/msgpack/unpack.h +12 -1
  115. data/vendor/local/include/msgpack/unpack.hpp +1 -0
  116. data/vendor/local/include/msgpack/unpack_decl.hpp +1 -0
  117. data/vendor/local/include/msgpack/unpack_exception.hpp +15 -0
  118. data/vendor/local/include/msgpack/unpack_template.h +22 -30
  119. data/vendor/local/include/msgpack/v1/adaptor/array_ref.hpp +6 -6
  120. data/vendor/local/include/msgpack/v1/adaptor/boost/fusion.hpp +49 -6
  121. data/vendor/local/include/msgpack/v1/adaptor/boost/msgpack_variant.hpp +6 -4
  122. data/vendor/local/include/msgpack/v1/adaptor/boost/string_view.hpp +87 -0
  123. data/vendor/local/include/msgpack/v1/adaptor/carray.hpp +11 -11
  124. data/vendor/local/include/msgpack/v1/adaptor/char_ptr.hpp +1 -1
  125. data/vendor/local/include/msgpack/v1/adaptor/cpp11/array.hpp +1 -1
  126. data/vendor/local/include/msgpack/v1/adaptor/cpp11/array_char.hpp +8 -1
  127. data/vendor/local/include/msgpack/v1/adaptor/cpp11/array_unsigned_char.hpp +8 -1
  128. data/vendor/local/include/msgpack/v1/adaptor/cpp11/forward_list.hpp +1 -1
  129. data/vendor/local/include/msgpack/v1/adaptor/cpp11/tuple.hpp +2 -2
  130. data/vendor/local/include/msgpack/v1/adaptor/cpp11/unordered_map.hpp +4 -4
  131. data/vendor/local/include/msgpack/v1/adaptor/cpp11/unordered_set.hpp +2 -2
  132. data/vendor/local/include/msgpack/v1/adaptor/cpp17/optional.hpp +90 -0
  133. data/vendor/local/include/msgpack/v1/adaptor/cpp17/string_view.hpp +86 -0
  134. data/vendor/local/include/msgpack/v1/adaptor/deque.hpp +1 -1
  135. data/vendor/local/include/msgpack/v1/adaptor/detail/cpp03_define_array.hpp +1088 -32
  136. data/vendor/local/include/msgpack/v1/adaptor/detail/cpp03_define_map.hpp +32 -16
  137. data/vendor/local/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp +32 -32
  138. data/vendor/local/include/msgpack/v1/adaptor/detail/cpp11_convert_helper.hpp +45 -0
  139. data/vendor/local/include/msgpack/v1/adaptor/detail/cpp11_define_array.hpp +4 -3
  140. data/vendor/local/include/msgpack/v1/adaptor/detail/cpp11_define_map.hpp +4 -2
  141. data/vendor/local/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp +2 -2
  142. data/vendor/local/include/msgpack/v1/adaptor/ext.hpp +1 -1
  143. data/vendor/local/include/msgpack/v1/adaptor/fixint.hpp +40 -24
  144. data/vendor/local/include/msgpack/v1/adaptor/float.hpp +4 -4
  145. data/vendor/local/include/msgpack/v1/adaptor/int.hpp +55 -33
  146. data/vendor/local/include/msgpack/v1/adaptor/list.hpp +1 -1
  147. data/vendor/local/include/msgpack/v1/adaptor/map.hpp +10 -10
  148. data/vendor/local/include/msgpack/v1/adaptor/pair.hpp +2 -2
  149. data/vendor/local/include/msgpack/v1/adaptor/set.hpp +2 -2
  150. data/vendor/local/include/msgpack/v1/adaptor/string.hpp +1 -1
  151. data/vendor/local/include/msgpack/v1/adaptor/tr1/unordered_map.hpp +2 -2
  152. data/vendor/local/include/msgpack/v1/adaptor/tr1/unordered_set.hpp +2 -2
  153. data/vendor/local/include/msgpack/v1/adaptor/vector.hpp +5 -5
  154. data/vendor/local/include/msgpack/v1/adaptor/vector_bool.hpp +1 -1
  155. data/vendor/local/include/msgpack/v1/adaptor/vector_char.hpp +9 -9
  156. data/vendor/local/include/msgpack/v1/adaptor/vector_unsigned_char.hpp +9 -9
  157. data/vendor/local/include/msgpack/v1/cpp_config.hpp +6 -0
  158. data/vendor/local/include/msgpack/v1/cpp_config_decl.hpp +6 -0
  159. data/vendor/local/include/msgpack/v1/detail/cpp03_zone.hpp +41 -34
  160. data/vendor/local/include/msgpack/v1/detail/cpp03_zone_decl.hpp +8 -0
  161. data/vendor/local/include/msgpack/v1/detail/cpp11_zone.hpp +25 -19
  162. data/vendor/local/include/msgpack/v1/detail/cpp11_zone_decl.hpp +8 -0
  163. data/vendor/local/include/msgpack/v1/meta.hpp +6 -0
  164. data/vendor/local/include/msgpack/v1/meta_decl.hpp +5 -0
  165. data/vendor/local/include/msgpack/v1/object.hpp +768 -393
  166. data/vendor/local/include/msgpack/v1/object_decl.hpp +11 -1
  167. data/vendor/local/include/msgpack/v1/object_fwd.hpp +4 -1
  168. data/vendor/local/include/msgpack/v1/object_fwd_decl.hpp +3 -1
  169. data/vendor/local/include/msgpack/v1/parse_return.hpp +36 -0
  170. data/vendor/local/include/msgpack/v1/unpack.hpp +39 -120
  171. data/vendor/local/include/msgpack/v1/unpack_decl.hpp +2 -9
  172. data/vendor/local/include/msgpack/v1/unpack_exception.hpp +122 -0
  173. data/vendor/local/include/msgpack/v1/vrefbuffer.hpp +2 -2
  174. data/vendor/local/include/msgpack/v2/create_object_visitor.hpp +250 -0
  175. data/vendor/local/include/msgpack/v2/create_object_visitor_decl.hpp +33 -0
  176. data/vendor/local/include/msgpack/v2/meta_decl.hpp +4 -0
  177. data/vendor/local/include/msgpack/v2/null_visitor.hpp +96 -0
  178. data/vendor/local/include/msgpack/v2/null_visitor_decl.hpp +29 -0
  179. data/vendor/local/include/msgpack/v2/object_decl.hpp +4 -0
  180. data/vendor/local/include/msgpack/v2/object_fwd.hpp +1 -1
  181. data/vendor/local/include/msgpack/v2/object_fwd_decl.hpp +2 -0
  182. data/vendor/local/include/msgpack/v2/pack_decl.hpp +1 -0
  183. data/vendor/local/include/msgpack/v2/parse.hpp +1072 -0
  184. data/vendor/local/include/msgpack/v2/parse_decl.hpp +79 -0
  185. data/vendor/local/include/msgpack/v2/parse_return.hpp +37 -0
  186. data/vendor/local/include/msgpack/v2/unpack.hpp +21 -1298
  187. data/vendor/local/include/msgpack/v2/unpack_decl.hpp +9 -45
  188. data/vendor/local/include/msgpack/v2/x3_parse.hpp +875 -0
  189. data/vendor/local/include/msgpack/v2/x3_parse_decl.hpp +36 -0
  190. data/vendor/local/include/msgpack/v2/x3_unpack.hpp +120 -0
  191. data/vendor/local/include/msgpack/v2/x3_unpack_decl.hpp +71 -0
  192. data/vendor/local/include/msgpack/v3/adaptor/adaptor_base.hpp +58 -0
  193. data/vendor/local/include/msgpack/v3/adaptor/adaptor_base_decl.hpp +52 -0
  194. data/vendor/local/include/msgpack/v3/adaptor/array_ref_decl.hpp +36 -0
  195. data/vendor/local/include/msgpack/v3/adaptor/boost/msgpack_variant_decl.hpp +42 -0
  196. data/vendor/local/include/msgpack/v3/adaptor/check_container_size_decl.hpp +39 -0
  197. data/vendor/local/include/msgpack/v3/adaptor/define_decl.hpp +23 -0
  198. data/vendor/local/include/msgpack/v3/adaptor/detail/cpp03_define_array_decl.hpp +31 -0
  199. data/vendor/local/include/msgpack/v3/adaptor/detail/cpp03_define_map_decl.hpp +31 -0
  200. data/vendor/local/include/msgpack/v3/adaptor/detail/cpp03_msgpack_tuple_decl.hpp +43 -0
  201. data/vendor/local/include/msgpack/v3/adaptor/detail/cpp11_define_array_decl.hpp +32 -0
  202. data/vendor/local/include/msgpack/v3/adaptor/detail/cpp11_define_map_decl.hpp +31 -0
  203. data/vendor/local/include/msgpack/v3/adaptor/detail/cpp11_msgpack_tuple_decl.hpp +59 -0
  204. data/vendor/local/include/msgpack/v3/adaptor/ext_decl.hpp +34 -0
  205. data/vendor/local/include/msgpack/v3/adaptor/fixint_decl.hpp +43 -0
  206. data/vendor/local/include/msgpack/v3/adaptor/int_decl.hpp +54 -0
  207. data/vendor/local/include/msgpack/v3/adaptor/map_decl.hpp +33 -0
  208. data/vendor/local/include/msgpack/v3/adaptor/msgpack_tuple_decl.hpp +21 -0
  209. data/vendor/local/include/msgpack/v3/adaptor/nil_decl.hpp +42 -0
  210. data/vendor/local/include/msgpack/v3/adaptor/raw_decl.hpp +33 -0
  211. data/vendor/local/include/msgpack/v3/adaptor/size_equal_only_decl.hpp +35 -0
  212. data/vendor/local/include/msgpack/v3/adaptor/v4raw_decl.hpp +34 -0
  213. data/vendor/local/include/msgpack/v3/cpp_config_decl.hpp +84 -0
  214. data/vendor/local/include/msgpack/v3/create_object_visitor_decl.hpp +33 -0
  215. data/vendor/local/include/msgpack/v3/detail/cpp03_zone_decl.hpp +31 -0
  216. data/vendor/local/include/msgpack/v3/detail/cpp11_zone_decl.hpp +31 -0
  217. data/vendor/local/include/msgpack/v3/fbuffer_decl.hpp +32 -0
  218. data/vendor/local/include/msgpack/v3/iterator_decl.hpp +33 -0
  219. data/vendor/local/include/msgpack/v3/meta_decl.hpp +50 -0
  220. data/vendor/local/include/msgpack/v3/null_visitor_decl.hpp +29 -0
  221. data/vendor/local/include/msgpack/v3/object_decl.hpp +53 -0
  222. data/vendor/local/include/msgpack/v3/object_fwd.hpp +70 -0
  223. data/vendor/local/include/msgpack/v3/object_fwd_decl.hpp +75 -0
  224. data/vendor/local/include/msgpack/v3/pack_decl.hpp +55 -0
  225. data/vendor/local/include/msgpack/v3/parse.hpp +677 -0
  226. data/vendor/local/include/msgpack/v3/parse_decl.hpp +49 -0
  227. data/vendor/local/include/msgpack/v3/parse_return.hpp +35 -0
  228. data/vendor/local/include/msgpack/v3/sbuffer_decl.hpp +33 -0
  229. data/vendor/local/include/msgpack/v3/unpack.hpp +192 -0
  230. data/vendor/local/include/msgpack/v3/unpack_decl.hpp +304 -0
  231. data/vendor/local/include/msgpack/v3/vrefbuffer_decl.hpp +29 -0
  232. data/vendor/local/include/msgpack/v3/x3_parse_decl.hpp +34 -0
  233. data/vendor/local/include/msgpack/v3/x3_unpack.hpp +97 -0
  234. data/vendor/local/include/msgpack/v3/x3_unpack_decl.hpp +65 -0
  235. data/vendor/local/include/msgpack/v3/zbuffer_decl.hpp +29 -0
  236. data/vendor/local/include/msgpack/v3/zone_decl.hpp +21 -0
  237. data/vendor/local/include/msgpack/version_master.h +2 -2
  238. data/vendor/local/include/msgpack/versioning.hpp +5 -3
  239. data/vendor/local/include/msgpack/vrefbuffer.h +1 -2
  240. data/vendor/local/include/msgpack/vrefbuffer_decl.hpp +1 -0
  241. data/vendor/local/include/msgpack/x3_parse.hpp +15 -0
  242. data/vendor/local/include/msgpack/x3_parse_decl.hpp +16 -0
  243. data/vendor/local/include/msgpack/x3_unpack.hpp +16 -0
  244. data/vendor/local/include/msgpack/x3_unpack_decl.hpp +16 -0
  245. data/vendor/local/include/msgpack/zbuffer_decl.hpp +1 -0
  246. data/vendor/local/include/msgpack/zone_decl.hpp +1 -0
  247. data/vendor/local/include/pcre.h +6 -6
  248. data/vendor/local/lib/cmake/msgpack/msgpack-config-version.cmake +46 -0
  249. data/vendor/local/lib/cmake/msgpack/msgpack-config.cmake +47 -0
  250. data/vendor/local/lib/cmake/msgpack/msgpack-targets-noconfig.cmake +29 -0
  251. data/vendor/local/lib/cmake/msgpack/msgpack-targets.cmake +101 -0
  252. data/vendor/local/lib/groonga/plugins/functions/index_column.a +0 -0
  253. data/vendor/local/lib/groonga/plugins/functions/index_column.dll +0 -0
  254. data/vendor/local/lib/groonga/plugins/functions/index_column.dll.a +0 -0
  255. data/vendor/local/lib/groonga/plugins/functions/index_column.la +1 -1
  256. data/vendor/local/lib/groonga/plugins/functions/math.a +0 -0
  257. data/vendor/local/lib/groonga/plugins/functions/math.dll +0 -0
  258. data/vendor/local/lib/groonga/plugins/functions/math.dll.a +0 -0
  259. data/vendor/local/lib/groonga/plugins/functions/math.la +1 -1
  260. data/vendor/local/lib/groonga/plugins/functions/number.a +0 -0
  261. data/vendor/local/lib/groonga/plugins/functions/number.dll +0 -0
  262. data/vendor/local/lib/groonga/plugins/functions/number.dll.a +0 -0
  263. data/vendor/local/lib/groonga/plugins/functions/number.la +1 -1
  264. data/vendor/local/lib/groonga/plugins/functions/string.a +0 -0
  265. data/vendor/local/lib/groonga/plugins/functions/string.dll +0 -0
  266. data/vendor/local/lib/groonga/plugins/functions/string.dll.a +0 -0
  267. data/vendor/local/lib/groonga/plugins/functions/string.la +1 -1
  268. data/vendor/local/lib/groonga/plugins/functions/time.a +0 -0
  269. data/vendor/local/lib/groonga/plugins/functions/time.dll +0 -0
  270. data/vendor/local/lib/groonga/plugins/functions/time.dll.a +0 -0
  271. data/vendor/local/lib/groonga/plugins/functions/time.la +1 -1
  272. data/vendor/local/lib/groonga/plugins/functions/vector.a +0 -0
  273. data/vendor/local/lib/groonga/plugins/functions/vector.dll +0 -0
  274. data/vendor/local/lib/groonga/plugins/functions/vector.dll.a +0 -0
  275. data/vendor/local/lib/groonga/plugins/functions/vector.la +1 -1
  276. data/vendor/local/lib/groonga/plugins/normalizers/mysql.a +0 -0
  277. data/vendor/local/lib/groonga/plugins/normalizers/mysql.dll +0 -0
  278. data/vendor/local/lib/groonga/plugins/normalizers/mysql.dll.a +0 -0
  279. data/vendor/local/lib/groonga/plugins/normalizers/mysql.la +2 -2
  280. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.a +0 -0
  281. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll +0 -0
  282. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll.a +0 -0
  283. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.la +1 -1
  284. data/vendor/local/lib/groonga/plugins/sharding/dynamic_columns.rb +150 -19
  285. data/vendor/local/lib/groonga/plugins/sharding/logical_count.rb +123 -65
  286. data/vendor/local/lib/groonga/plugins/sharding/logical_range_filter.rb +528 -113
  287. data/vendor/local/lib/groonga/plugins/sharding/logical_select.rb +142 -40
  288. data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
  289. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
  290. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
  291. data/vendor/local/lib/groonga/plugins/suggest/suggest.la +1 -1
  292. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.a +0 -0
  293. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll +0 -0
  294. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll.a +0 -0
  295. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.la +1 -1
  296. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
  297. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
  298. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
  299. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +1 -1
  300. data/vendor/local/lib/groonga/scripts/ruby/backtrace_entry.rb +1 -1
  301. data/vendor/local/lib/groonga/scripts/ruby/command_line/grndb.rb +64 -35
  302. data/vendor/local/lib/groonga/scripts/ruby/expression.rb +3 -1
  303. data/vendor/local/lib/groonga/scripts/ruby/expression_rewriters.rb +15 -21
  304. data/vendor/local/lib/groonga/scripts/ruby/expression_rewriters/optimizer.rb +274 -0
  305. data/vendor/local/lib/groonga/scripts/ruby/expression_tree.rb +8 -2
  306. data/vendor/local/lib/groonga/scripts/ruby/expression_tree/assign.rb +22 -0
  307. data/vendor/local/lib/groonga/scripts/ruby/expression_tree/assign_binary_operation.rb +24 -0
  308. data/vendor/local/lib/groonga/scripts/ruby/expression_tree/binary_operation.rb +206 -8
  309. data/vendor/local/lib/groonga/scripts/ruby/expression_tree/constant.rb +16 -1
  310. data/vendor/local/lib/groonga/scripts/ruby/expression_tree/function_call.rb +30 -1
  311. data/vendor/local/lib/groonga/scripts/ruby/expression_tree/logical_operation.rb +6 -0
  312. data/vendor/local/lib/groonga/scripts/ruby/expression_tree/member.rb +18 -0
  313. data/vendor/local/lib/groonga/scripts/ruby/expression_tree/null.rb +17 -0
  314. data/vendor/local/lib/groonga/scripts/ruby/expression_tree/reference.rb +18 -0
  315. data/vendor/local/lib/groonga/scripts/ruby/expression_tree/table.rb +14 -0
  316. data/vendor/local/lib/groonga/scripts/ruby/expression_tree/unary_operation.rb +26 -0
  317. data/vendor/local/lib/groonga/scripts/ruby/expression_tree/variable.rb +4 -0
  318. data/vendor/local/lib/groonga/scripts/ruby/expression_tree_builder.rb +78 -8
  319. data/vendor/local/lib/groonga/scripts/ruby/index_column.rb +10 -0
  320. data/vendor/local/lib/groonga/scripts/ruby/initialize/post.rb +2 -0
  321. data/vendor/local/lib/groonga/scripts/ruby/locale_output.rb +28 -0
  322. data/vendor/local/lib/groonga/scripts/ruby/logger.rb +36 -4
  323. data/vendor/local/lib/groonga/scripts/ruby/record.rb +1 -1
  324. data/vendor/local/lib/groonga/scripts/ruby/scan_info_builder.rb +0 -3
  325. data/vendor/local/lib/groonga/scripts/ruby/scan_info_data.rb +46 -5
  326. data/vendor/local/lib/groonga/scripts/ruby/scan_info_data_size_estimator.rb +5 -136
  327. data/vendor/local/lib/groonga/scripts/ruby/table.rb +2 -2
  328. data/vendor/local/lib/libgroonga.a +0 -0
  329. data/vendor/local/lib/libgroonga.dll.a +0 -0
  330. data/vendor/local/lib/libgroonga.la +1 -1
  331. data/vendor/local/lib/liblz4.a +0 -0
  332. data/vendor/local/lib/liblz4.dll +0 -0
  333. data/vendor/local/lib/liblz4.dll.1 +0 -0
  334. data/vendor/local/lib/{liblz4.dll.1.5.0 → liblz4.dll.1.8.2} +0 -0
  335. data/vendor/local/lib/libmecab.dll.a +0 -0
  336. data/vendor/local/lib/libmsgpackc.a +0 -0
  337. data/vendor/local/lib/libmsgpackc.dll.a +0 -0
  338. data/vendor/local/lib/libonigmo.a +0 -0
  339. data/vendor/local/lib/libonigmo.dll.a +0 -0
  340. data/vendor/local/lib/libpcre.a +0 -0
  341. data/vendor/local/lib/libpcre.dll.a +0 -0
  342. data/vendor/local/lib/libpcre.la +2 -2
  343. data/vendor/local/lib/libpcrecpp.dll.a +0 -0
  344. data/vendor/local/lib/libpcrecpp.la +1 -1
  345. data/vendor/local/lib/libpcreposix.a +0 -0
  346. data/vendor/local/lib/libpcreposix.dll.a +0 -0
  347. data/vendor/local/lib/libpcreposix.la +2 -2
  348. data/vendor/local/lib/libz.dll.a +0 -0
  349. data/vendor/local/lib/pkgconfig/groonga-normalizer-mysql.pc +1 -1
  350. data/vendor/local/lib/pkgconfig/groonga.pc +2 -2
  351. data/vendor/local/lib/pkgconfig/liblz4.pc +3 -3
  352. data/vendor/local/lib/pkgconfig/libpcre.pc +1 -1
  353. data/vendor/local/lib/pkgconfig/libpcrecpp.pc +1 -1
  354. data/vendor/local/lib/pkgconfig/libpcreposix.pc +1 -1
  355. data/vendor/local/lib/pkgconfig/msgpack.pc +1 -1
  356. data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
  357. data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
  358. data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
  359. data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
  360. data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
  361. data/vendor/local/share/doc/groonga-normalizer-mysql/README.md +14 -22
  362. data/vendor/local/share/doc/groonga-normalizer-mysql/news.md +22 -2
  363. data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
  364. data/vendor/local/share/doc/groonga/en/html/_static/basic.css +113 -4
  365. data/vendor/local/share/doc/groonga/en/html/_static/doctools.js +46 -19
  366. data/vendor/local/share/doc/groonga/en/html/_static/documentation_options.js +10 -0
  367. data/vendor/local/share/doc/groonga/en/html/_static/{jquery-3.1.0.js → jquery-3.2.1.js} +474 -295
  368. data/vendor/local/share/doc/groonga/en/html/_static/jquery.js +4 -4
  369. data/vendor/local/share/doc/groonga/en/html/_static/language_data.js +297 -0
  370. data/vendor/local/share/doc/groonga/en/html/_static/pygments.css +4 -0
  371. data/vendor/local/share/doc/groonga/en/html/_static/searchtools.js +69 -322
  372. data/vendor/local/share/doc/groonga/en/html/characteristic.html +16 -24
  373. data/vendor/local/share/doc/groonga/en/html/client.html +15 -23
  374. data/vendor/local/share/doc/groonga/en/html/community.html +30 -38
  375. data/vendor/local/share/doc/groonga/en/html/contribution.html +23 -31
  376. data/vendor/local/share/doc/groonga/en/html/contribution/development.html +15 -23
  377. data/vendor/local/share/doc/groonga/en/html/contribution/development/build.html +15 -23
  378. data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_autotools.html +58 -66
  379. data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_cmake.html +51 -56
  380. data/vendor/local/share/doc/groonga/en/html/contribution/development/build/windows_cmake.html +52 -56
  381. data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +27 -35
  382. data/vendor/local/share/doc/groonga/en/html/contribution/development/cooperation.html +19 -27
  383. data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +26 -34
  384. data/vendor/local/share/doc/groonga/en/html/contribution/development/release.html +167 -167
  385. data/vendor/local/share/doc/groonga/en/html/contribution/development/repository.html +16 -24
  386. data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +28 -36
  387. data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +15 -23
  388. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +15 -23
  389. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +59 -67
  390. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/introduction.html +31 -39
  391. data/vendor/local/share/doc/groonga/en/html/contribution/report.html +18 -26
  392. data/vendor/local/share/doc/groonga/en/html/development.html +15 -23
  393. data/vendor/local/share/doc/groonga/en/html/development/travis-ci.html +38 -43
  394. data/vendor/local/share/doc/groonga/en/html/genindex.html +50 -28
  395. data/vendor/local/share/doc/groonga/en/html/index.html +248 -234
  396. data/vendor/local/share/doc/groonga/en/html/install.html +43 -47
  397. data/vendor/local/share/doc/groonga/en/html/install/centos.html +43 -51
  398. data/vendor/local/share/doc/groonga/en/html/install/debian.html +52 -131
  399. data/vendor/local/share/doc/groonga/en/html/install/docker.html +155 -0
  400. data/vendor/local/share/doc/groonga/en/html/install/fedora.html +41 -49
  401. data/vendor/local/share/doc/groonga/en/html/install/mac_os_x.html +29 -37
  402. data/vendor/local/share/doc/groonga/en/html/install/others.html +142 -150
  403. data/vendor/local/share/doc/groonga/en/html/install/solaris.html +30 -38
  404. data/vendor/local/share/doc/groonga/en/html/install/ubuntu.html +43 -51
  405. data/vendor/local/share/doc/groonga/en/html/install/windows.html +33 -41
  406. data/vendor/local/share/doc/groonga/en/html/limitations.html +36 -42
  407. data/vendor/local/share/doc/groonga/en/html/news.html +1586 -598
  408. data/vendor/local/share/doc/groonga/en/html/news/0.x.html +83 -83
  409. data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +147 -155
  410. data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +26 -34
  411. data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +225 -233
  412. data/vendor/local/share/doc/groonga/en/html/news/1.3.x.html +48 -56
  413. data/vendor/local/share/doc/groonga/en/html/news/2.x.html +378 -386
  414. data/vendor/local/share/doc/groonga/en/html/news/3.x.html +320 -328
  415. data/vendor/local/share/doc/groonga/en/html/news/4.x.html +442 -448
  416. data/vendor/local/share/doc/groonga/en/html/news/5.x.html +742 -860
  417. data/vendor/local/share/doc/groonga/en/html/news/6.x.html +544 -621
  418. data/vendor/local/share/doc/groonga/en/html/news/senna.html +32 -40
  419. data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
  420. data/vendor/local/share/doc/groonga/en/html/reference.html +208 -198
  421. data/vendor/local/share/doc/groonga/en/html/reference/alias.html +85 -93
  422. data/vendor/local/share/doc/groonga/en/html/reference/api.html +50 -57
  423. data/vendor/local/share/doc/groonga/en/html/reference/api/global_configurations.html +62 -77
  424. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_cache.html +117 -149
  425. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_column.html +140 -176
  426. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_command_version.html +43 -55
  427. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_content_type.html +48 -56
  428. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ctx.html +194 -254
  429. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_db.html +106 -138
  430. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_encoding.html +62 -82
  431. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_expr.html +117 -137
  432. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_geo.html +74 -98
  433. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_hook.html +79 -103
  434. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ii.html +40 -48
  435. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_index_cursor.html +57 -73
  436. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_info.html +75 -99
  437. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_inspect.html +495 -0
  438. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_match_escalation.html +52 -68
  439. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_obj.html +291 -357
  440. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_proc.html +69 -89
  441. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_search.html +47 -59
  442. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table.html +226 -306
  443. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table_cursor.html +120 -160
  444. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_thread.html +80 -103
  445. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_type.html +46 -58
  446. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_user_data.html +40 -52
  447. data/vendor/local/share/doc/groonga/en/html/reference/api/overview.html +52 -66
  448. data/vendor/local/share/doc/groonga/en/html/reference/api/plugin.html +98 -122
  449. data/vendor/local/share/doc/groonga/en/html/reference/cast.html +40 -26
  450. data/vendor/local/share/doc/groonga/en/html/reference/column.html +16 -24
  451. data/vendor/local/share/doc/groonga/en/html/reference/columns/index.html +16 -24
  452. data/vendor/local/share/doc/groonga/en/html/reference/columns/pseudo.html +30 -34
  453. data/vendor/local/share/doc/groonga/en/html/reference/columns/scalar.html +16 -24
  454. data/vendor/local/share/doc/groonga/en/html/reference/columns/vector.html +92 -100
  455. data/vendor/local/share/doc/groonga/en/html/reference/command.html +76 -84
  456. data/vendor/local/share/doc/groonga/en/html/reference/command/command_version.html +26 -34
  457. data/vendor/local/share/doc/groonga/en/html/reference/command/output_format.html +64 -72
  458. data/vendor/local/share/doc/groonga/en/html/reference/command/pretty_print.html +21 -29
  459. data/vendor/local/share/doc/groonga/en/html/reference/command/request_id.html +25 -33
  460. data/vendor/local/share/doc/groonga/en/html/reference/command/request_timeout.html +32 -40
  461. data/vendor/local/share/doc/groonga/en/html/reference/command/return_code.html +105 -113
  462. data/vendor/local/share/doc/groonga/en/html/reference/commands/cache_limit.html +44 -50
  463. data/vendor/local/share/doc/groonga/en/html/reference/commands/check.html +85 -73
  464. data/vendor/local/share/doc/groonga/en/html/reference/commands/clearlock.html +31 -37
  465. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_copy.html +131 -139
  466. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_create.html +370 -326
  467. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_list.html +115 -117
  468. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_remove.html +38 -44
  469. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_rename.html +47 -53
  470. data/vendor/local/share/doc/groonga/en/html/reference/commands/config_delete.html +40 -48
  471. data/vendor/local/share/doc/groonga/en/html/reference/commands/config_get.html +42 -50
  472. data/vendor/local/share/doc/groonga/en/html/reference/commands/config_set.html +41 -49
  473. data/vendor/local/share/doc/groonga/en/html/reference/commands/database_unmap.html +37 -45
  474. data/vendor/local/share/doc/groonga/en/html/reference/commands/define_selector.html +71 -63
  475. data/vendor/local/share/doc/groonga/en/html/reference/commands/defrag.html +31 -37
  476. data/vendor/local/share/doc/groonga/en/html/reference/commands/delete.html +49 -51
  477. data/vendor/local/share/doc/groonga/en/html/reference/commands/dump.html +64 -71
  478. data/vendor/local/share/doc/groonga/en/html/reference/commands/io_flush.html +335 -138
  479. data/vendor/local/share/doc/groonga/en/html/reference/commands/load.html +233 -87
  480. data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_acquire.html +45 -53
  481. data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_clear.html +42 -48
  482. data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_release.html +43 -51
  483. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_level.html +58 -64
  484. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_put.html +33 -38
  485. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_reopen.html +31 -38
  486. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_count.html +295 -218
  487. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_parameters.html +56 -64
  488. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_range_filter.html +532 -214
  489. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_select.html +797 -388
  490. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_shard_list.html +35 -43
  491. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_table_remove.html +188 -196
  492. data/vendor/local/share/doc/groonga/en/html/reference/commands/normalize.html +83 -90
  493. data/vendor/local/share/doc/groonga/en/html/reference/commands/normalizer_list.html +41 -48
  494. data/vendor/local/share/doc/groonga/en/html/reference/commands/object_exist.html +41 -49
  495. data/vendor/local/share/doc/groonga/en/html/reference/commands/object_inspect.html +401 -403
  496. data/vendor/local/share/doc/groonga/en/html/reference/commands/object_list.html +253 -261
  497. data/vendor/local/share/doc/groonga/en/html/reference/commands/object_remove.html +60 -68
  498. data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_register.html +36 -44
  499. data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_unregister.html +35 -43
  500. data/vendor/local/share/doc/groonga/en/html/reference/commands/query_expand.html +21 -29
  501. data/vendor/local/share/doc/groonga/en/html/reference/commands/quit.html +22 -30
  502. data/vendor/local/share/doc/groonga/en/html/reference/commands/range_filter.html +21 -29
  503. data/vendor/local/share/doc/groonga/en/html/reference/commands/register.html +39 -47
  504. data/vendor/local/share/doc/groonga/en/html/reference/commands/reindex.html +47 -53
  505. data/vendor/local/share/doc/groonga/en/html/reference/commands/request_cancel.html +72 -74
  506. data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_eval.html +38 -45
  507. data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_load.html +38 -45
  508. data/vendor/local/share/doc/groonga/en/html/reference/commands/schema.html +330 -338
  509. data/vendor/local/share/doc/groonga/en/html/reference/commands/select.html +1545 -1194
  510. data/vendor/local/share/doc/groonga/en/html/reference/commands/shutdown.html +57 -65
  511. data/vendor/local/share/doc/groonga/en/html/reference/commands/status.html +83 -91
  512. data/vendor/local/share/doc/groonga/en/html/reference/commands/suggest.html +119 -133
  513. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_copy.html +30 -38
  514. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_create.html +165 -174
  515. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_list.html +50 -50
  516. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_remove.html +104 -112
  517. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_rename.html +42 -50
  518. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_tokenize.html +49 -57
  519. data/vendor/local/share/doc/groonga/en/html/reference/commands/thread_limit.html +46 -54
  520. data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenize.html +110 -117
  521. data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenizer_list.html +41 -48
  522. data/vendor/local/share/doc/groonga/en/html/reference/commands/truncate.html +40 -46
  523. data/vendor/local/share/doc/groonga/en/html/reference/configuration.html +37 -45
  524. data/vendor/local/share/doc/groonga/en/html/reference/executables.html +19 -27
  525. data/vendor/local/share/doc/groonga/en/html/reference/executables/grndb.html +134 -114
  526. data/vendor/local/share/doc/groonga/en/html/reference/executables/grnslap.html +25 -31
  527. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-benchmark.html +66 -66
  528. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-httpd.html +174 -182
  529. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-server-http.html +25 -33
  530. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-create-dataset.html +27 -35
  531. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-httpd.html +191 -199
  532. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-learner.html +32 -40
  533. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga.html +189 -163
  534. data/vendor/local/share/doc/groonga/en/html/reference/function.html +59 -64
  535. data/vendor/local/share/doc/groonga/en/html/reference/functions/between.html +71 -79
  536. data/vendor/local/share/doc/groonga/en/html/reference/functions/cast_loose.html +210 -0
  537. data/vendor/local/share/doc/groonga/en/html/reference/functions/edit_distance.html +49 -55
  538. data/vendor/local/share/doc/groonga/en/html/reference/functions/fuzzy_search.html +38 -46
  539. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_distance.html +133 -142
  540. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_circle.html +67 -73
  541. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_rectangle.html +56 -62
  542. data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_full.html +80 -88
  543. data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_html.html +70 -78
  544. data/vendor/local/share/doc/groonga/en/html/reference/functions/html_untag.html +56 -64
  545. data/vendor/local/share/doc/groonga/en/html/reference/functions/in_records.html +87 -94
  546. data/vendor/local/share/doc/groonga/en/html/reference/functions/in_values.html +54 -62
  547. data/vendor/local/share/doc/groonga/en/html/reference/functions/math_abs.html +55 -63
  548. data/vendor/local/share/doc/groonga/en/html/reference/functions/now.html +40 -48
  549. data/vendor/local/share/doc/groonga/en/html/reference/functions/number_classify.html +36 -44
  550. data/vendor/local/share/doc/groonga/en/html/reference/functions/prefix_rk_search.html +74 -82
  551. data/vendor/local/share/doc/groonga/en/html/reference/functions/query.html +152 -160
  552. data/vendor/local/share/doc/groonga/en/html/reference/functions/rand.html +45 -52
  553. data/vendor/local/share/doc/groonga/en/html/reference/functions/snippet_html.html +76 -84
  554. data/vendor/local/share/doc/groonga/en/html/reference/functions/string_length.html +37 -45
  555. data/vendor/local/share/doc/groonga/en/html/reference/functions/string_substring.html +39 -47
  556. data/vendor/local/share/doc/groonga/en/html/reference/functions/sub_filter.html +76 -84
  557. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_day.html +37 -45
  558. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_day_of_week.html +278 -0
  559. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_hour.html +37 -45
  560. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_minute.html +36 -44
  561. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_month.html +36 -44
  562. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_second.html +36 -44
  563. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_week.html +36 -44
  564. data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_year.html +37 -45
  565. data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_find.html +368 -0
  566. data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_new.html +40 -48
  567. data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_size.html +54 -62
  568. data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_slice.html +40 -47
  569. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr.html +44 -52
  570. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/query_syntax.html +307 -316
  571. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/script_syntax.html +486 -492
  572. data/vendor/local/share/doc/groonga/en/html/reference/indexing.html +44 -52
  573. data/vendor/local/share/doc/groonga/en/html/reference/log.html +128 -147
  574. data/vendor/local/share/doc/groonga/en/html/reference/normalizers.html +43 -92
  575. data/vendor/local/share/doc/groonga/en/html/reference/normalizers/normalizer_auto.html +179 -0
  576. data/vendor/local/share/doc/groonga/en/html/reference/normalizers/normalizer_nfkc100.html +897 -0
  577. data/vendor/local/share/doc/groonga/en/html/reference/normalizers/normalizer_nfkc51.html +162 -0
  578. data/vendor/local/share/doc/groonga/en/html/reference/operations.html +26 -34
  579. data/vendor/local/share/doc/groonga/en/html/reference/operations/geolocation_search.html +48 -56
  580. data/vendor/local/share/doc/groonga/en/html/reference/operations/prefix_rk_search.html +47 -55
  581. data/vendor/local/share/doc/groonga/en/html/reference/output.html +47 -55
  582. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders.html +20 -28
  583. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders/tsv.html +93 -101
  584. data/vendor/local/share/doc/groonga/en/html/reference/regular_expression.html +228 -225
  585. data/vendor/local/share/doc/groonga/en/html/reference/scorer.html +59 -67
  586. data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_at_most.html +50 -58
  587. data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_idf.html +57 -65
  588. data/vendor/local/share/doc/groonga/en/html/reference/sharding.html +76 -86
  589. data/vendor/local/share/doc/groonga/en/html/reference/suggest.html +43 -51
  590. data/vendor/local/share/doc/groonga/en/html/reference/suggest/completion.html +159 -167
  591. data/vendor/local/share/doc/groonga/en/html/reference/suggest/correction.html +93 -101
  592. data/vendor/local/share/doc/groonga/en/html/reference/suggest/introduction.html +85 -93
  593. data/vendor/local/share/doc/groonga/en/html/reference/suggest/suggestion.html +88 -96
  594. data/vendor/local/share/doc/groonga/en/html/reference/tables.html +142 -150
  595. data/vendor/local/share/doc/groonga/en/html/reference/token_filter/summary.html +147 -0
  596. data/vendor/local/share/doc/groonga/en/html/reference/token_filters.html +31 -223
  597. data/vendor/local/share/doc/groonga/en/html/reference/token_filters/token_filter_nfkc100.html +626 -0
  598. data/vendor/local/share/doc/groonga/en/html/reference/token_filters/token_filter_stem.html +291 -0
  599. data/vendor/local/share/doc/groonga/en/html/reference/token_filters/token_filter_stop_word.html +287 -0
  600. data/vendor/local/share/doc/groonga/en/html/reference/tokenizer/summary.html +259 -0
  601. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers.html +42 -1455
  602. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram.html +368 -0
  603. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_ignore_blank.html +221 -0
  604. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol.html +240 -0
  605. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol_alpha.html +270 -0
  606. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol_alpha_digit.html +292 -0
  607. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_split_symbol.html +179 -0
  608. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_split_symbol_alpha.html +200 -0
  609. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_bigram_split_symbol_alpha_digit.html +212 -0
  610. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_delimit.html +357 -0
  611. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_delimit_null.html +162 -0
  612. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_mecab.html +783 -0
  613. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_regexp.html +289 -0
  614. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_trigram.html +194 -0
  615. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers/token_unigram.html +194 -0
  616. data/vendor/local/share/doc/groonga/en/html/reference/tuning.html +71 -79
  617. data/vendor/local/share/doc/groonga/en/html/reference/types.html +64 -72
  618. data/vendor/local/share/doc/groonga/en/html/reference/window_function.html +29 -37
  619. data/vendor/local/share/doc/groonga/en/html/reference/window_functions/record_number.html +38 -46
  620. data/vendor/local/share/doc/groonga/en/html/reference/window_functions/window_count.html +38 -46
  621. data/vendor/local/share/doc/groonga/en/html/reference/window_functions/window_record_number.html +38 -46
  622. data/vendor/local/share/doc/groonga/en/html/reference/window_functions/window_sum.html +38 -46
  623. data/vendor/local/share/doc/groonga/en/html/search.html +13 -24
  624. data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
  625. data/vendor/local/share/doc/groonga/en/html/server.html +15 -23
  626. data/vendor/local/share/doc/groonga/en/html/server/gqtp.html +27 -35
  627. data/vendor/local/share/doc/groonga/en/html/server/http.html +18 -26
  628. data/vendor/local/share/doc/groonga/en/html/server/http/comparison.html +94 -102
  629. data/vendor/local/share/doc/groonga/en/html/server/http/groonga-httpd.html +15 -23
  630. data/vendor/local/share/doc/groonga/en/html/server/http/groonga.html +15 -23
  631. data/vendor/local/share/doc/groonga/en/html/server/memcached.html +18 -26
  632. data/vendor/local/share/doc/groonga/en/html/server/package.html +101 -109
  633. data/vendor/local/share/doc/groonga/en/html/spec.html +19 -27
  634. data/vendor/local/share/doc/groonga/en/html/spec/gqtp.html +207 -215
  635. data/vendor/local/share/doc/groonga/en/html/spec/search.html +39 -39
  636. data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +15 -23
  637. data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +46 -50
  638. data/vendor/local/share/doc/groonga/en/html/troubleshooting/how_to_analyze_error_message.html +27 -35
  639. data/vendor/local/share/doc/groonga/en/html/troubleshooting/mmap_cannot_allocate_memory.html +26 -31
  640. data/vendor/local/share/doc/groonga/en/html/tutorial.html +17 -25
  641. data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +46 -54
  642. data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +63 -71
  643. data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +30 -38
  644. data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +88 -97
  645. data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +19 -27
  646. data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +61 -69
  647. data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +108 -116
  648. data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +24 -32
  649. data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +19 -27
  650. data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +32 -40
  651. data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +52 -60
  652. data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
  653. data/vendor/local/share/doc/groonga/ja/html/_static/basic.css +113 -4
  654. data/vendor/local/share/doc/groonga/ja/html/_static/doctools.js +46 -19
  655. data/vendor/local/share/doc/groonga/ja/html/_static/documentation_options.js +10 -0
  656. data/vendor/local/share/doc/groonga/ja/html/_static/{jquery-3.1.0.js → jquery-3.2.1.js} +474 -295
  657. data/vendor/local/share/doc/groonga/ja/html/_static/jquery.js +4 -4
  658. data/vendor/local/share/doc/groonga/ja/html/_static/language_data.js +124 -0
  659. data/vendor/local/share/doc/groonga/ja/html/_static/pygments.css +4 -0
  660. data/vendor/local/share/doc/groonga/ja/html/_static/searchtools.js +70 -150
  661. data/vendor/local/share/doc/groonga/ja/html/characteristic.html +15 -23
  662. data/vendor/local/share/doc/groonga/ja/html/client.html +15 -23
  663. data/vendor/local/share/doc/groonga/ja/html/community.html +29 -37
  664. data/vendor/local/share/doc/groonga/ja/html/contribution.html +23 -31
  665. data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +15 -23
  666. data/vendor/local/share/doc/groonga/ja/html/contribution/development/build.html +15 -23
  667. data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_autotools.html +50 -58
  668. data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_cmake.html +43 -48
  669. data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/windows_cmake.html +47 -51
  670. data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +26 -34
  671. data/vendor/local/share/doc/groonga/ja/html/contribution/development/cooperation.html +18 -26
  672. data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +23 -31
  673. data/vendor/local/share/doc/groonga/ja/html/contribution/development/release.html +162 -162
  674. data/vendor/local/share/doc/groonga/ja/html/contribution/development/repository.html +16 -24
  675. data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +26 -34
  676. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +15 -23
  677. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +15 -23
  678. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +50 -58
  679. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/introduction.html +28 -36
  680. data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +17 -25
  681. data/vendor/local/share/doc/groonga/ja/html/development.html +15 -23
  682. data/vendor/local/share/doc/groonga/ja/html/development/travis-ci.html +32 -37
  683. data/vendor/local/share/doc/groonga/ja/html/genindex.html +50 -28
  684. data/vendor/local/share/doc/groonga/ja/html/index.html +247 -233
  685. data/vendor/local/share/doc/groonga/ja/html/install.html +41 -45
  686. data/vendor/local/share/doc/groonga/ja/html/install/centos.html +44 -52
  687. data/vendor/local/share/doc/groonga/ja/html/install/debian.html +52 -121
  688. data/vendor/local/share/doc/groonga/ja/html/install/docker.html +155 -0
  689. data/vendor/local/share/doc/groonga/ja/html/install/fedora.html +40 -48
  690. data/vendor/local/share/doc/groonga/ja/html/install/mac_os_x.html +28 -36
  691. data/vendor/local/share/doc/groonga/ja/html/install/others.html +116 -124
  692. data/vendor/local/share/doc/groonga/ja/html/install/solaris.html +28 -36
  693. data/vendor/local/share/doc/groonga/ja/html/install/ubuntu.html +43 -51
  694. data/vendor/local/share/doc/groonga/ja/html/install/windows.html +29 -37
  695. data/vendor/local/share/doc/groonga/ja/html/limitations.html +30 -36
  696. data/vendor/local/share/doc/groonga/ja/html/news.html +1234 -384
  697. data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +82 -82
  698. data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +146 -154
  699. data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +25 -33
  700. data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +191 -199
  701. data/vendor/local/share/doc/groonga/ja/html/news/1.3.x.html +41 -49
  702. data/vendor/local/share/doc/groonga/ja/html/news/2.x.html +283 -291
  703. data/vendor/local/share/doc/groonga/ja/html/news/3.x.html +229 -237
  704. data/vendor/local/share/doc/groonga/ja/html/news/4.x.html +274 -280
  705. data/vendor/local/share/doc/groonga/ja/html/news/5.x.html +475 -593
  706. data/vendor/local/share/doc/groonga/ja/html/news/6.x.html +313 -390
  707. data/vendor/local/share/doc/groonga/ja/html/news/senna.html +31 -39
  708. data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
  709. data/vendor/local/share/doc/groonga/ja/html/reference.html +208 -198
  710. data/vendor/local/share/doc/groonga/ja/html/reference/alias.html +70 -78
  711. data/vendor/local/share/doc/groonga/ja/html/reference/api.html +50 -57
  712. data/vendor/local/share/doc/groonga/ja/html/reference/api/global_configurations.html +57 -72
  713. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_cache.html +107 -139
  714. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_column.html +137 -173
  715. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_command_version.html +40 -52
  716. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_content_type.html +46 -54
  717. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ctx.html +184 -244
  718. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_db.html +99 -131
  719. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_encoding.html +57 -77
  720. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_expr.html +100 -120
  721. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_geo.html +71 -95
  722. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_hook.html +75 -99
  723. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ii.html +37 -45
  724. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_index_cursor.html +54 -70
  725. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_info.html +71 -95
  726. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_inspect.html +487 -0
  727. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_match_escalation.html +49 -65
  728. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_obj.html +286 -352
  729. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_proc.html +64 -84
  730. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_search.html +44 -56
  731. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table.html +219 -299
  732. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table_cursor.html +116 -156
  733. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_thread.html +70 -93
  734. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_type.html +42 -54
  735. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_user_data.html +36 -48
  736. data/vendor/local/share/doc/groonga/ja/html/reference/api/overview.html +48 -62
  737. data/vendor/local/share/doc/groonga/ja/html/reference/api/plugin.html +94 -118
  738. data/vendor/local/share/doc/groonga/ja/html/reference/cast.html +39 -25
  739. data/vendor/local/share/doc/groonga/ja/html/reference/column.html +15 -23
  740. data/vendor/local/share/doc/groonga/ja/html/reference/columns/index.html +15 -23
  741. data/vendor/local/share/doc/groonga/ja/html/reference/columns/pseudo.html +28 -32
  742. data/vendor/local/share/doc/groonga/ja/html/reference/columns/scalar.html +15 -23
  743. data/vendor/local/share/doc/groonga/ja/html/reference/columns/vector.html +76 -84
  744. data/vendor/local/share/doc/groonga/ja/html/reference/command.html +76 -84
  745. data/vendor/local/share/doc/groonga/ja/html/reference/command/command_version.html +25 -33
  746. data/vendor/local/share/doc/groonga/ja/html/reference/command/output_format.html +51 -59
  747. data/vendor/local/share/doc/groonga/ja/html/reference/command/pretty_print.html +20 -28
  748. data/vendor/local/share/doc/groonga/ja/html/reference/command/request_id.html +21 -29
  749. data/vendor/local/share/doc/groonga/ja/html/reference/command/request_timeout.html +27 -35
  750. data/vendor/local/share/doc/groonga/ja/html/reference/command/return_code.html +101 -109
  751. data/vendor/local/share/doc/groonga/ja/html/reference/commands/cache_limit.html +39 -45
  752. data/vendor/local/share/doc/groonga/ja/html/reference/commands/check.html +84 -72
  753. data/vendor/local/share/doc/groonga/ja/html/reference/commands/clearlock.html +30 -36
  754. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_copy.html +104 -112
  755. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_create.html +271 -237
  756. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_list.html +100 -102
  757. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_remove.html +37 -43
  758. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_rename.html +41 -47
  759. data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_delete.html +38 -46
  760. data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_get.html +39 -47
  761. data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_set.html +39 -47
  762. data/vendor/local/share/doc/groonga/ja/html/reference/commands/database_unmap.html +34 -42
  763. data/vendor/local/share/doc/groonga/ja/html/reference/commands/define_selector.html +70 -62
  764. data/vendor/local/share/doc/groonga/ja/html/reference/commands/defrag.html +30 -36
  765. data/vendor/local/share/doc/groonga/ja/html/reference/commands/delete.html +42 -44
  766. data/vendor/local/share/doc/groonga/ja/html/reference/commands/dump.html +59 -68
  767. data/vendor/local/share/doc/groonga/ja/html/reference/commands/io_flush.html +300 -126
  768. data/vendor/local/share/doc/groonga/ja/html/reference/commands/load.html +212 -80
  769. data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_acquire.html +42 -50
  770. data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_clear.html +40 -46
  771. data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_release.html +41 -49
  772. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_level.html +57 -63
  773. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_put.html +32 -37
  774. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_reopen.html +30 -37
  775. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_count.html +246 -178
  776. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_parameters.html +51 -59
  777. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_range_filter.html +479 -175
  778. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_select.html +718 -326
  779. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_shard_list.html +34 -42
  780. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_table_remove.html +145 -153
  781. data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalize.html +78 -85
  782. data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalizer_list.html +40 -47
  783. data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_exist.html +36 -44
  784. data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_inspect.html +360 -362
  785. data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_list.html +221 -229
  786. data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_remove.html +47 -55
  787. data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_register.html +32 -40
  788. data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_unregister.html +33 -41
  789. data/vendor/local/share/doc/groonga/ja/html/reference/commands/query_expand.html +20 -28
  790. data/vendor/local/share/doc/groonga/ja/html/reference/commands/quit.html +21 -29
  791. data/vendor/local/share/doc/groonga/ja/html/reference/commands/range_filter.html +20 -28
  792. data/vendor/local/share/doc/groonga/ja/html/reference/commands/register.html +35 -43
  793. data/vendor/local/share/doc/groonga/ja/html/reference/commands/reindex.html +42 -48
  794. data/vendor/local/share/doc/groonga/ja/html/reference/commands/request_cancel.html +57 -57
  795. data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_eval.html +36 -43
  796. data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_load.html +36 -43
  797. data/vendor/local/share/doc/groonga/ja/html/reference/commands/schema.html +317 -325
  798. data/vendor/local/share/doc/groonga/ja/html/reference/commands/select.html +1246 -917
  799. data/vendor/local/share/doc/groonga/ja/html/reference/commands/shutdown.html +50 -58
  800. data/vendor/local/share/doc/groonga/ja/html/reference/commands/status.html +77 -85
  801. data/vendor/local/share/doc/groonga/ja/html/reference/commands/suggest.html +109 -123
  802. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_copy.html +29 -37
  803. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_create.html +131 -140
  804. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_list.html +49 -49
  805. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_remove.html +87 -95
  806. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_rename.html +36 -44
  807. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_tokenize.html +44 -52
  808. data/vendor/local/share/doc/groonga/ja/html/reference/commands/thread_limit.html +38 -46
  809. data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenize.html +93 -100
  810. data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenizer_list.html +40 -47
  811. data/vendor/local/share/doc/groonga/ja/html/reference/commands/truncate.html +39 -45
  812. data/vendor/local/share/doc/groonga/ja/html/reference/configuration.html +36 -44
  813. data/vendor/local/share/doc/groonga/ja/html/reference/executables.html +19 -27
  814. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grndb.html +125 -107
  815. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grnslap.html +23 -29
  816. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-benchmark.html +62 -62
  817. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-httpd.html +132 -140
  818. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-server-http.html +23 -31
  819. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-create-dataset.html +25 -33
  820. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-httpd.html +166 -174
  821. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-learner.html +31 -39
  822. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga.html +189 -165
  823. data/vendor/local/share/doc/groonga/ja/html/reference/function.html +59 -64
  824. data/vendor/local/share/doc/groonga/ja/html/reference/functions/between.html +69 -77
  825. data/vendor/local/share/doc/groonga/ja/html/reference/functions/cast_loose.html +208 -0
  826. data/vendor/local/share/doc/groonga/ja/html/reference/functions/edit_distance.html +48 -54
  827. data/vendor/local/share/doc/groonga/ja/html/reference/functions/fuzzy_search.html +37 -45
  828. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_distance.html +115 -124
  829. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_circle.html +66 -72
  830. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_rectangle.html +55 -61
  831. data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_full.html +69 -77
  832. data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_html.html +60 -68
  833. data/vendor/local/share/doc/groonga/ja/html/reference/functions/html_untag.html +54 -62
  834. data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_records.html +85 -93
  835. data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_values.html +54 -62
  836. data/vendor/local/share/doc/groonga/ja/html/reference/functions/math_abs.html +54 -62
  837. data/vendor/local/share/doc/groonga/ja/html/reference/functions/now.html +39 -47
  838. data/vendor/local/share/doc/groonga/ja/html/reference/functions/number_classify.html +35 -43
  839. data/vendor/local/share/doc/groonga/ja/html/reference/functions/prefix_rk_search.html +67 -75
  840. data/vendor/local/share/doc/groonga/ja/html/reference/functions/query.html +130 -138
  841. data/vendor/local/share/doc/groonga/ja/html/reference/functions/rand.html +44 -51
  842. data/vendor/local/share/doc/groonga/ja/html/reference/functions/snippet_html.html +61 -69
  843. data/vendor/local/share/doc/groonga/ja/html/reference/functions/string_length.html +36 -44
  844. data/vendor/local/share/doc/groonga/ja/html/reference/functions/string_substring.html +38 -46
  845. data/vendor/local/share/doc/groonga/ja/html/reference/functions/sub_filter.html +63 -71
  846. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_day.html +36 -44
  847. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_day_of_week.html +276 -0
  848. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_hour.html +36 -44
  849. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_minute.html +35 -43
  850. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_month.html +35 -43
  851. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_second.html +35 -43
  852. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_week.html +35 -43
  853. data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_year.html +36 -44
  854. data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_find.html +353 -0
  855. data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_new.html +39 -47
  856. data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_size.html +52 -61
  857. data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_slice.html +38 -46
  858. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr.html +38 -46
  859. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/query_syntax.html +200 -208
  860. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/script_syntax.html +375 -382
  861. data/vendor/local/share/doc/groonga/ja/html/reference/indexing.html +39 -47
  862. data/vendor/local/share/doc/groonga/ja/html/reference/log.html +125 -144
  863. data/vendor/local/share/doc/groonga/ja/html/reference/normalizers.html +36 -70
  864. data/vendor/local/share/doc/groonga/ja/html/reference/normalizers/normalizer_auto.html +168 -0
  865. data/vendor/local/share/doc/groonga/ja/html/reference/normalizers/normalizer_nfkc100.html +887 -0
  866. data/vendor/local/share/doc/groonga/ja/html/reference/normalizers/normalizer_nfkc51.html +160 -0
  867. data/vendor/local/share/doc/groonga/ja/html/reference/operations.html +26 -34
  868. data/vendor/local/share/doc/groonga/ja/html/reference/operations/geolocation_search.html +38 -46
  869. data/vendor/local/share/doc/groonga/ja/html/reference/operations/prefix_rk_search.html +41 -49
  870. data/vendor/local/share/doc/groonga/ja/html/reference/output.html +42 -50
  871. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders.html +20 -28
  872. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders/tsv.html +68 -76
  873. data/vendor/local/share/doc/groonga/ja/html/reference/regular_expression.html +178 -184
  874. data/vendor/local/share/doc/groonga/ja/html/reference/scorer.html +38 -46
  875. data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_at_most.html +38 -46
  876. data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_idf.html +39 -47
  877. data/vendor/local/share/doc/groonga/ja/html/reference/sharding.html +63 -73
  878. data/vendor/local/share/doc/groonga/ja/html/reference/suggest.html +43 -51
  879. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/completion.html +130 -138
  880. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/correction.html +72 -80
  881. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/introduction.html +68 -76
  882. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/suggestion.html +76 -86
  883. data/vendor/local/share/doc/groonga/ja/html/reference/tables.html +129 -137
  884. data/vendor/local/share/doc/groonga/ja/html/reference/token_filter/summary.html +145 -0
  885. data/vendor/local/share/doc/groonga/ja/html/reference/token_filters.html +31 -215
  886. data/vendor/local/share/doc/groonga/ja/html/reference/token_filters/token_filter_nfkc100.html +617 -0
  887. data/vendor/local/share/doc/groonga/ja/html/reference/token_filters/token_filter_stem.html +289 -0
  888. data/vendor/local/share/doc/groonga/ja/html/reference/token_filters/token_filter_stop_word.html +284 -0
  889. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizer/summary.html +233 -0
  890. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers.html +42 -1349
  891. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram.html +344 -0
  892. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_ignore_blank.html +219 -0
  893. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol.html +237 -0
  894. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol_alpha.html +267 -0
  895. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_ignore_blank_split_symbol_alpha_digit.html +287 -0
  896. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_split_symbol.html +179 -0
  897. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_split_symbol_alpha.html +199 -0
  898. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_bigram_split_symbol_alpha_digit.html +209 -0
  899. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_delimit.html +344 -0
  900. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_delimit_null.html +160 -0
  901. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_mecab.html +764 -0
  902. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_regexp.html +284 -0
  903. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_trigram.html +191 -0
  904. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers/token_unigram.html +191 -0
  905. data/vendor/local/share/doc/groonga/ja/html/reference/tuning.html +65 -73
  906. data/vendor/local/share/doc/groonga/ja/html/reference/types.html +48 -56
  907. data/vendor/local/share/doc/groonga/ja/html/reference/window_function.html +29 -37
  908. data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/record_number.html +37 -45
  909. data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/window_count.html +37 -45
  910. data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/window_record_number.html +37 -45
  911. data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/window_sum.html +37 -45
  912. data/vendor/local/share/doc/groonga/ja/html/search.html +13 -24
  913. data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
  914. data/vendor/local/share/doc/groonga/ja/html/server.html +15 -23
  915. data/vendor/local/share/doc/groonga/ja/html/server/gqtp.html +22 -30
  916. data/vendor/local/share/doc/groonga/ja/html/server/http.html +17 -25
  917. data/vendor/local/share/doc/groonga/ja/html/server/http/comparison.html +82 -90
  918. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga-httpd.html +15 -23
  919. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga.html +15 -23
  920. data/vendor/local/share/doc/groonga/ja/html/server/memcached.html +16 -24
  921. data/vendor/local/share/doc/groonga/ja/html/server/package.html +99 -107
  922. data/vendor/local/share/doc/groonga/ja/html/spec.html +19 -27
  923. data/vendor/local/share/doc/groonga/ja/html/spec/gqtp.html +201 -209
  924. data/vendor/local/share/doc/groonga/ja/html/spec/search.html +36 -36
  925. data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +15 -23
  926. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +44 -48
  927. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/how_to_analyze_error_message.html +21 -29
  928. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/mmap_cannot_allocate_memory.html +24 -29
  929. data/vendor/local/share/doc/groonga/ja/html/tutorial.html +16 -24
  930. data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +32 -40
  931. data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +62 -70
  932. data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +22 -30
  933. data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +77 -86
  934. data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +15 -23
  935. data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +56 -64
  936. data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +84 -92
  937. data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +20 -28
  938. data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +18 -26
  939. data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +21 -29
  940. data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +43 -51
  941. data/vendor/local/share/doc/pcre/AUTHORS +3 -3
  942. data/vendor/local/share/doc/pcre/ChangeLog +53 -0
  943. data/vendor/local/share/doc/pcre/LICENCE +3 -3
  944. data/vendor/local/share/doc/pcre/NEWS +6 -0
  945. data/vendor/local/share/doc/pcre/html/NON-AUTOTOOLS-BUILD.txt +8 -7
  946. data/vendor/local/share/groonga/mruby/LEGAL +35 -35
  947. data/vendor/local/share/license/cv2pdb/{README → README.MD} +28 -10
  948. data/vendor/local/share/license/groonga-normalizer-mysql/README.md +14 -22
  949. data/vendor/local/share/license/lz4/LICENSE +2 -2
  950. data/vendor/local/share/license/mruby/AUTHORS +3 -0
  951. data/vendor/local/share/license/mruby/MITL +1 -1
  952. data/vendor/local/share/license/mruby/README.md +1 -1
  953. data/vendor/local/share/license/msgpack/README.md +5 -34
  954. data/vendor/local/share/license/pcre/LICENCE +3 -3
  955. data/vendor/local/share/man/man1/lz4.1 +221 -86
  956. data/vendor/local/share/man/man1/lz4c.1 +222 -32
  957. data/vendor/local/share/man/man1/lz4cat.1 +221 -30
  958. data/vendor/local/share/man/man1/unlz4.1 +223 -0
  959. metadata +231 -87
  960. data/lib/2.1/groonga.so +0 -0
  961. data/vendor/local/lib/groonga/plugins/expression_rewriters/optimizer.rb +0 -147
  962. data/vendor/local/lib/groonga/scripts/ruby/expression_tree/options.rb +0 -14
  963. data/vendor/local/share/doc/groonga/en/html/_static/ajax-loader.gif +0 -0
  964. data/vendor/local/share/doc/groonga/en/html/_static/comment-bright.png +0 -0
  965. data/vendor/local/share/doc/groonga/en/html/_static/comment-close.png +0 -0
  966. data/vendor/local/share/doc/groonga/en/html/_static/comment.png +0 -0
  967. data/vendor/local/share/doc/groonga/en/html/_static/down-pressed.png +0 -0
  968. data/vendor/local/share/doc/groonga/en/html/_static/down.png +0 -0
  969. data/vendor/local/share/doc/groonga/en/html/_static/up-pressed.png +0 -0
  970. data/vendor/local/share/doc/groonga/en/html/_static/up.png +0 -0
  971. data/vendor/local/share/doc/groonga/en/html/_static/websupport.js +0 -808
  972. data/vendor/local/share/doc/groonga/ja/html/_static/ajax-loader.gif +0 -0
  973. data/vendor/local/share/doc/groonga/ja/html/_static/comment-bright.png +0 -0
  974. data/vendor/local/share/doc/groonga/ja/html/_static/comment-close.png +0 -0
  975. data/vendor/local/share/doc/groonga/ja/html/_static/comment.png +0 -0
  976. data/vendor/local/share/doc/groonga/ja/html/_static/down-pressed.png +0 -0
  977. data/vendor/local/share/doc/groonga/ja/html/_static/down.png +0 -0
  978. data/vendor/local/share/doc/groonga/ja/html/_static/up-pressed.png +0 -0
  979. data/vendor/local/share/doc/groonga/ja/html/_static/up.png +0 -0
  980. data/vendor/local/share/doc/groonga/ja/html/_static/websupport.js +0 -808
@@ -0,0 +1,79 @@
1
+ //
2
+ // MessagePack for C++ deserializing routine
3
+ //
4
+ // Copyright (C) 2018 KONDO Takatoshi
5
+ //
6
+ // Distributed under the Boost Software License, Version 1.0.
7
+ // (See accompanying file LICENSE_1_0.txt or copy at
8
+ // http://www.boost.org/LICENSE_1_0.txt)
9
+ //
10
+ #ifndef MSGPACK_V2_PARSE_DECL_HPP
11
+ #define MSGPACK_V2_PARSE_DECL_HPP
12
+
13
+ #include "msgpack/parse_return.hpp"
14
+
15
+ namespace msgpack {
16
+
17
+ /// @cond
18
+ MSGPACK_API_VERSION_NAMESPACE(v2) {
19
+ /// @endcond
20
+
21
+ namespace detail {
22
+
23
+ template <typename VisitorHolder>
24
+ class context;
25
+
26
+ } // detail
27
+
28
+
29
+ /// Parsing class for a stream deserialization.
30
+
31
+ template <typename VisitorHolder, typename ReferencedBufferHook>
32
+ class parser;
33
+
34
+
35
+ /// Unpack msgpack formatted data via a visitor
36
+ /**
37
+ * @param data The pointer to the buffer.
38
+ * @param len The length of the buffer.
39
+ * @param off The offset position of the buffer. It is read and overwritten.
40
+ * @param v The visitor that satisfies visitor concept. https://github.com/msgpack/msgpack-c/wiki/v2_0_cpp_visitor#visitor-concept
41
+ *
42
+ * @return if unpacking process finishs without error then return true, otherwise return false.
43
+ *
44
+ */
45
+ template <typename Visitor>
46
+ bool parse(const char* data, size_t len, size_t& off, Visitor& v);
47
+
48
+
49
+ /// Unpack msgpack formatted data via a visitor
50
+ /**
51
+ * @param data The pointer to the buffer.
52
+ * @param len The length of the buffer.
53
+ * @param v The visitor that satisfies visitor concept. https://github.com/msgpack/msgpack-c/wiki/v2_0_cpp_visitor#visitor-concept
54
+ *
55
+ * @return if unpacking process finishs without error then return true, otherwise return false.
56
+ *
57
+ */
58
+ template <typename Visitor>
59
+ bool parse(const char* data, size_t len, Visitor& v);
60
+
61
+ namespace detail {
62
+
63
+ template <typename Visitor>
64
+ struct parse_helper;
65
+
66
+ template <typename Visitor>
67
+ inline parse_return
68
+ parse_imp(const char* data, size_t len, size_t& off, Visitor& v);
69
+
70
+ } // detail
71
+
72
+ /// @cond
73
+ } // MSGPACK_API_VERSION_NAMESPACE(v2)
74
+ /// @endcond
75
+
76
+ } // namespace msgpack
77
+
78
+
79
+ #endif // MSGPACK_V2_PARSE_DECL_HPP
@@ -0,0 +1,37 @@
1
+ //
2
+ // MessagePack for C++ deserializing routine
3
+ //
4
+ // Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi
5
+ //
6
+ // Distributed under the Boost Software License, Version 1.0.
7
+ // (See accompanying file LICENSE_1_0.txt or copy at
8
+ // http://www.boost.org/LICENSE_1_0.txt)
9
+ //
10
+ #ifndef MSGPACK_V2_PARSE_RETURN_HPP
11
+ #define MSGPACK_V2_PARSE_RETURN_HPP
12
+
13
+ #include "msgpack/v1/parse_return.hpp"
14
+
15
+ namespace msgpack {
16
+
17
+ /// @cond
18
+ MSGPACK_API_VERSION_NAMESPACE(v2) {
19
+ /// @endcond
20
+
21
+
22
+ // for internal use
23
+ typedef enum {
24
+ PARSE_SUCCESS = v1::PARSE_SUCCESS,
25
+ PARSE_EXTRA_BYTES = v1::PARSE_EXTRA_BYTES,
26
+ PARSE_CONTINUE = v1::PARSE_CONTINUE,
27
+ PARSE_PARSE_ERROR = v1::PARSE_PARSE_ERROR,
28
+ PARSE_STOP_VISITOR = -2
29
+ } parse_return;
30
+
31
+ /// @cond
32
+ } // MSGPACK_API_VERSION_NAMESPACE(v2)
33
+ /// @endcond
34
+
35
+ } // namespace msgpack
36
+
37
+ #endif // MSGPACK_V2_PARSE_RETURN_HPP
@@ -10,7 +10,11 @@
10
10
  #ifndef MSGPACK_V2_UNPACK_HPP
11
11
  #define MSGPACK_V2_UNPACK_HPP
12
12
 
13
+ #if MSGPACK_DEFAULT_API_VERSION >= 2
14
+
13
15
  #include "msgpack/unpack_decl.hpp"
16
+ #include "msgpack/parse.hpp"
17
+ #include "msgpack/create_object_visitor.hpp"
14
18
 
15
19
  namespace msgpack {
16
20
 
@@ -18,1238 +22,6 @@ namespace msgpack {
18
22
  MSGPACK_API_VERSION_NAMESPACE(v2) {
19
23
  /// @endcond
20
24
 
21
- struct null_visitor {
22
- bool visit_nil() {
23
- return true;
24
- }
25
- bool visit_boolean(bool /*v*/) {
26
- return true;
27
- }
28
- bool visit_positive_integer(uint64_t /*v*/) {
29
- return true;
30
- }
31
- bool visit_negative_integer(int64_t /*v*/) {
32
- return true;
33
- }
34
- bool visit_float(double /*v*/) {
35
- return true;
36
- }
37
- bool visit_str(const char* /*v*/, uint32_t /*size*/) {
38
- return true;
39
- }
40
- bool visit_bin(const char* /*v*/, uint32_t /*size*/) {
41
- return true;
42
- }
43
- bool visit_ext(const char* /*v*/, uint32_t /*size*/) {
44
- return true;
45
- }
46
- bool start_array(uint32_t /*num_elements*/) {
47
- return true;
48
- }
49
- bool start_array_item() {
50
- return true;
51
- }
52
- bool end_array_item() {
53
- return true;
54
- }
55
- bool end_array() {
56
- return true;
57
- }
58
- bool start_map(uint32_t /*num_kv_pairs*/) {
59
- return true;
60
- }
61
- bool start_map_key() {
62
- return true;
63
- }
64
- bool end_map_key() {
65
- return true;
66
- }
67
- bool start_map_value() {
68
- return true;
69
- }
70
- bool end_map_value() {
71
- return true;
72
- }
73
- bool end_map() {
74
- return true;
75
- }
76
- void parse_error(size_t /*parsed_offset*/, size_t /*error_offset*/) {
77
- }
78
- void insufficient_bytes(size_t /*parsed_offset*/, size_t /*error_offset*/) {
79
- }
80
- };
81
-
82
- namespace detail {
83
-
84
- class create_object_visitor {
85
- public:
86
- create_object_visitor(unpack_reference_func f, void* user_data, unpack_limit const& limit)
87
- :m_func(f), m_user_data(user_data), m_limit(limit) {
88
- m_stack.reserve(MSGPACK_EMBED_STACK_SIZE);
89
- m_stack.push_back(&m_obj);
90
- }
91
-
92
- #if !defined(MSGPACK_USE_CPP03)
93
- create_object_visitor(create_object_visitor&& other)
94
- :m_func(other.m_func),
95
- m_user_data(other.m_user_data),
96
- m_limit(std::move(other.m_limit)),
97
- m_stack(std::move(other.m_stack)),
98
- m_zone(other.m_zone),
99
- m_referenced(other.m_referenced) {
100
- other.m_zone = MSGPACK_NULLPTR;
101
- m_stack[0] = &m_obj;
102
- }
103
- create_object_visitor& operator=(create_object_visitor&& other) {
104
- this->~create_object_visitor();
105
- new (this) create_object_visitor(std::move(other));
106
- return *this;
107
- }
108
- #endif // !defined(MSGPACK_USE_CPP03)
109
-
110
- void init() {
111
- m_stack.resize(1);
112
- m_obj = msgpack::object();
113
- m_stack[0] = &m_obj;
114
- }
115
- msgpack::object const& data() const
116
- {
117
- return m_obj;
118
- }
119
- msgpack::zone const& zone() const { return *m_zone; }
120
- msgpack::zone& zone() { return *m_zone; }
121
- void set_zone(msgpack::zone& zone) { m_zone = &zone; }
122
- bool referenced() const { return m_referenced; }
123
- void set_referenced(bool referenced) { m_referenced = referenced; }
124
- // visit functions
125
- bool visit_nil() {
126
- msgpack::object* obj = m_stack.back();
127
- obj->type = msgpack::type::NIL;
128
- return true;
129
- }
130
- bool visit_boolean(bool v) {
131
- msgpack::object* obj = m_stack.back();
132
- obj->type = msgpack::type::BOOLEAN;
133
- obj->via.boolean = v;
134
- return true;
135
- }
136
- bool visit_positive_integer(uint64_t v) {
137
- msgpack::object* obj = m_stack.back();
138
- obj->type = msgpack::type::POSITIVE_INTEGER;
139
- obj->via.u64 = v;
140
- return true;
141
- }
142
- bool visit_negative_integer(int64_t v) {
143
- msgpack::object* obj = m_stack.back();
144
- if(v >= 0) {
145
- obj->type = msgpack::type::POSITIVE_INTEGER;
146
- obj->via.u64 = v;
147
- }
148
- else {
149
- obj->type = msgpack::type::NEGATIVE_INTEGER;
150
- obj->via.i64 = v;
151
- }
152
- return true;
153
- }
154
- bool visit_float(double v) {
155
- msgpack::object* obj = m_stack.back();
156
- obj->type = msgpack::type::FLOAT;
157
- obj->via.f64 = v;
158
- return true;
159
- }
160
- bool visit_str(const char* v, uint32_t size) {
161
- if (size > m_limit.str()) throw msgpack::str_size_overflow("str size overflow");
162
- msgpack::object* obj = m_stack.back();
163
- obj->type = msgpack::type::STR;
164
- if (m_func && m_func(obj->type, size, m_user_data)) {
165
- obj->via.str.ptr = v;
166
- set_referenced(true);
167
- }
168
- else {
169
- char* tmp = static_cast<char*>(zone().allocate_align(size));
170
- std::memcpy(tmp, v, size);
171
- obj->via.str.ptr = tmp;
172
- }
173
- obj->via.str.size = size;
174
- return true;
175
- }
176
- bool visit_bin(const char* v, uint32_t size) {
177
- if (size > m_limit.bin()) throw msgpack::bin_size_overflow("bin size overflow");
178
- msgpack::object* obj = m_stack.back();
179
- obj->type = msgpack::type::BIN;
180
- if (m_func && m_func(obj->type, size, m_user_data)) {
181
- obj->via.bin.ptr = v;
182
- set_referenced(true);
183
- }
184
- else {
185
- char* tmp = static_cast<char*>(zone().allocate_align(size));
186
- std::memcpy(tmp, v, size);
187
- obj->via.bin.ptr = tmp;
188
- }
189
- obj->via.bin.size = size;
190
- return true;
191
- }
192
- bool visit_ext(const char* v, uint32_t size) {
193
- if (size > m_limit.ext()) throw msgpack::ext_size_overflow("ext size overflow");
194
- msgpack::object* obj = m_stack.back();
195
- obj->type = msgpack::type::EXT;
196
- if (m_func && m_func(obj->type, size, m_user_data)) {
197
- obj->via.ext.ptr = v;
198
- set_referenced(true);
199
- }
200
- else {
201
- char* tmp = static_cast<char*>(zone().allocate_align(size));
202
- std::memcpy(tmp, v, size);
203
- obj->via.ext.ptr = tmp;
204
- }
205
- obj->via.ext.size = static_cast<uint32_t>(size - 1);
206
- return true;
207
- }
208
- bool start_array(uint32_t num_elements) {
209
- if (num_elements > m_limit.array()) throw msgpack::array_size_overflow("array size overflow");
210
- if (m_stack.size() > m_limit.depth()) throw msgpack::depth_size_overflow("depth size overflow");
211
- msgpack::object* obj = m_stack.back();
212
- obj->type = msgpack::type::ARRAY;
213
- obj->via.array.size = num_elements;
214
- if (num_elements == 0) {
215
- obj->via.array.ptr = MSGPACK_NULLPTR;
216
- }
217
- else {
218
- obj->via.array.ptr =
219
- static_cast<msgpack::object*>(m_zone->allocate_align(num_elements*sizeof(msgpack::object)));
220
- }
221
- m_stack.push_back(obj->via.array.ptr);
222
- return true;
223
- }
224
- bool start_array_item() {
225
- return true;
226
- }
227
- bool end_array_item() {
228
- ++m_stack.back();
229
- return true;
230
- }
231
- bool end_array() {
232
- m_stack.pop_back();
233
- return true;
234
- }
235
- bool start_map(uint32_t num_kv_pairs) {
236
- if (num_kv_pairs > m_limit.map()) throw msgpack::map_size_overflow("map size overflow");
237
- if (m_stack.size() > m_limit.depth()) throw msgpack::depth_size_overflow("depth size overflow");
238
- msgpack::object* obj = m_stack.back();
239
- obj->type = msgpack::type::MAP;
240
- obj->via.map.size = num_kv_pairs;
241
- if (num_kv_pairs == 0) {
242
- obj->via.map.ptr = MSGPACK_NULLPTR;
243
- }
244
- else {
245
- obj->via.map.ptr =
246
- static_cast<msgpack::object_kv*>(m_zone->allocate_align(num_kv_pairs*sizeof(msgpack::object_kv)));
247
- }
248
- m_stack.push_back(reinterpret_cast<msgpack::object*>(obj->via.map.ptr));
249
- return true;
250
- }
251
- bool start_map_key() {
252
- return true;
253
- }
254
- bool end_map_key() {
255
- ++m_stack.back();
256
- return true;
257
- }
258
- bool start_map_value() {
259
- return true;
260
- }
261
- bool end_map_value() {
262
- ++m_stack.back();
263
- return true;
264
- }
265
- bool end_map() {
266
- m_stack.pop_back();
267
- return true;
268
- }
269
- void parse_error(size_t /*parsed_offset*/, size_t /*error_offset*/) {
270
- throw msgpack::parse_error("parse error");
271
- }
272
- void insufficient_bytes(size_t /*parsed_offset*/, size_t /*error_offset*/) {
273
- throw msgpack::insufficient_bytes("insufficient bytes");
274
- }
275
- private:
276
- public:
277
- unpack_reference_func m_func;
278
- void* m_user_data;
279
- unpack_limit m_limit;
280
- msgpack::object m_obj;
281
- std::vector<msgpack::object*> m_stack;
282
- msgpack::zone* m_zone;
283
- bool m_referenced;
284
- };
285
-
286
- template <typename VisitorHolder>
287
- class context {
288
- public:
289
- context()
290
- :m_trail(0), m_cs(MSGPACK_CS_HEADER)
291
- {
292
- }
293
-
294
- void init()
295
- {
296
- m_cs = MSGPACK_CS_HEADER;
297
- m_trail = 0;
298
- m_stack.clear();
299
- holder().visitor().init();
300
- }
301
-
302
- unpack_return execute(const char* data, std::size_t len, std::size_t& off);
303
-
304
- private:
305
- template <typename T>
306
- static uint32_t next_cs(T p)
307
- {
308
- return static_cast<uint32_t>(*p) & 0x1f;
309
- }
310
-
311
- VisitorHolder& holder() {
312
- return static_cast<VisitorHolder&>(*this);
313
- }
314
-
315
- template <typename T, typename StartVisitor, typename EndVisitor>
316
- unpack_return start_aggregate(
317
- StartVisitor const& sv,
318
- EndVisitor const& ev,
319
- const char* load_pos,
320
- std::size_t& off) {
321
- typename value<T>::type size;
322
- load<T>(size, load_pos);
323
- ++m_current;
324
- if (size == 0) {
325
- if (!sv(size)) {
326
- off = m_current - m_start;
327
- return UNPACK_STOP_VISITOR;
328
- }
329
- if (!ev()) {
330
- off = m_current - m_start;
331
- return UNPACK_STOP_VISITOR;
332
- }
333
- unpack_return ret = m_stack.consume(holder());
334
- if (ret != UNPACK_CONTINUE) {
335
- off = m_current - m_start;
336
- return ret;
337
- }
338
- }
339
- else {
340
- m_stack.push(sv.type(), static_cast<uint32_t>(size));
341
- if (!sv(size)) {
342
- off = m_current - m_start;
343
- return UNPACK_STOP_VISITOR;
344
- }
345
- }
346
- m_cs = MSGPACK_CS_HEADER;
347
- return UNPACK_CONTINUE;
348
- }
349
-
350
- unpack_return after_visit_proc(bool visit_result, std::size_t& off) {
351
- ++m_current;
352
- if (!visit_result) {
353
- off = m_current - m_start;
354
- return UNPACK_STOP_VISITOR;
355
- }
356
- unpack_return ret = m_stack.consume(holder());
357
- if (ret == UNPACK_CONTINUE) {
358
- m_cs = MSGPACK_CS_HEADER;
359
- }
360
- else {
361
- off = m_current - m_start;
362
- }
363
- return ret;
364
- }
365
-
366
- struct array_sv {
367
- array_sv(VisitorHolder& visitor_holder):m_visitor_holder(visitor_holder) {}
368
- bool operator()(uint32_t size) const {
369
- return m_visitor_holder.visitor().start_array(size);
370
- }
371
- msgpack_container_type type() const { return MSGPACK_CT_ARRAY_ITEM; }
372
- private:
373
- VisitorHolder& m_visitor_holder;
374
- };
375
- struct array_ev {
376
- array_ev(VisitorHolder& visitor_holder):m_visitor_holder(visitor_holder) {}
377
- bool operator()() const {
378
- return m_visitor_holder.visitor().end_array();
379
- }
380
- private:
381
- VisitorHolder& m_visitor_holder;
382
- };
383
- struct map_sv {
384
- map_sv(VisitorHolder& visitor_holder):m_visitor_holder(visitor_holder) {}
385
- bool operator()(uint32_t size) const {
386
- return m_visitor_holder.visitor().start_map(size);
387
- }
388
- msgpack_container_type type() const { return MSGPACK_CT_MAP_KEY; }
389
- private:
390
- VisitorHolder& m_visitor_holder;
391
- };
392
- struct map_ev {
393
- map_ev(VisitorHolder& visitor_holder):m_visitor_holder(visitor_holder) {}
394
- bool operator()() const {
395
- return m_visitor_holder.visitor().end_map();
396
- }
397
- private:
398
- VisitorHolder& m_visitor_holder;
399
- };
400
-
401
- struct unpack_stack {
402
- struct stack_elem {
403
- stack_elem(msgpack_container_type type, uint32_t rest):m_type(type), m_rest(rest) {}
404
- msgpack_container_type m_type;
405
- uint32_t m_rest;
406
- };
407
- unpack_stack() {
408
- m_stack.reserve(MSGPACK_EMBED_STACK_SIZE);
409
- }
410
- void push(msgpack_container_type type, uint32_t rest) {
411
- m_stack.push_back(stack_elem(type, rest));
412
- }
413
- unpack_return consume(VisitorHolder& visitor_holder) {
414
- while (!m_stack.empty()) {
415
- stack_elem& e = m_stack.back();
416
- switch (e.m_type) {
417
- case MSGPACK_CT_ARRAY_ITEM:
418
- if (!visitor_holder.visitor().end_array_item()) return UNPACK_STOP_VISITOR;
419
- if (--e.m_rest == 0) {
420
- m_stack.pop_back();
421
- if (!visitor_holder.visitor().end_array()) return UNPACK_STOP_VISITOR;
422
- }
423
- else {
424
- if (!visitor_holder.visitor().start_array_item()) return UNPACK_STOP_VISITOR;
425
- return UNPACK_CONTINUE;
426
- }
427
- break;
428
- case MSGPACK_CT_MAP_KEY:
429
- if (!visitor_holder.visitor().end_map_key()) return UNPACK_STOP_VISITOR;
430
- if (!visitor_holder.visitor().start_map_value()) return UNPACK_STOP_VISITOR;
431
- e.m_type = MSGPACK_CT_MAP_VALUE;
432
- return UNPACK_CONTINUE;
433
- case MSGPACK_CT_MAP_VALUE:
434
- if (!visitor_holder.visitor().end_map_value()) return UNPACK_STOP_VISITOR;
435
- if (--e.m_rest == 0) {
436
- m_stack.pop_back();
437
- if (!visitor_holder.visitor().end_map()) return UNPACK_STOP_VISITOR;
438
- }
439
- else {
440
- e.m_type = MSGPACK_CT_MAP_KEY;
441
- if (!visitor_holder.visitor().start_map_key()) return UNPACK_STOP_VISITOR;
442
- return UNPACK_CONTINUE;
443
- }
444
- break;
445
- }
446
- }
447
- return UNPACK_SUCCESS;
448
- }
449
- bool empty() const { return m_stack.empty(); }
450
- void clear() { m_stack.clear(); }
451
- private:
452
- std::vector<stack_elem> m_stack;
453
- };
454
-
455
- char const* m_start;
456
- char const* m_current;
457
-
458
- std::size_t m_trail;
459
- uint32_t m_cs;
460
- uint32_t m_num_elements;
461
- unpack_stack m_stack;
462
- };
463
-
464
- template <std::size_t N>
465
- inline void check_ext_size(std::size_t /*size*/) {
466
- }
467
-
468
- template <>
469
- inline void check_ext_size<4>(std::size_t size) {
470
- if (size == 0xffffffff) throw msgpack::ext_size_overflow("ext size overflow");
471
- }
472
-
473
- template <typename VisitorHolder>
474
- inline unpack_return context<VisitorHolder>::execute(const char* data, std::size_t len, std::size_t& off)
475
- {
476
- assert(len >= off);
477
-
478
- m_start = data;
479
- m_current = data + off;
480
- const char* const pe = data + len;
481
- const char* n = MSGPACK_NULLPTR;
482
-
483
- msgpack::object obj;
484
-
485
- if(m_current == pe) {
486
- off = m_current - m_start;
487
- return UNPACK_CONTINUE;
488
- }
489
- bool fixed_trail_again = false;
490
- do {
491
- if (m_cs == MSGPACK_CS_HEADER) {
492
- fixed_trail_again = false;
493
- int selector = *reinterpret_cast<const unsigned char*>(m_current);
494
- if (0x00 <= selector && selector <= 0x7f) { // Positive Fixnum
495
- uint8_t tmp = *reinterpret_cast<const uint8_t*>(m_current);
496
- bool visret = holder().visitor().visit_positive_integer(tmp);
497
- unpack_return upr = after_visit_proc(visret, off);
498
- if (upr != UNPACK_CONTINUE) return upr;
499
- } else if(0xe0 <= selector && selector <= 0xff) { // Negative Fixnum
500
- int8_t tmp = *reinterpret_cast<const int8_t*>(m_current);
501
- bool visret = holder().visitor().visit_negative_integer(tmp);
502
- unpack_return upr = after_visit_proc(visret, off);
503
- if (upr != UNPACK_CONTINUE) return upr;
504
- } else if (0xc4 <= selector && selector <= 0xdf) {
505
- const uint32_t trail[] = {
506
- 1, // bin 8 0xc4
507
- 2, // bin 16 0xc5
508
- 4, // bin 32 0xc6
509
- 1, // ext 8 0xc7
510
- 2, // ext 16 0xc8
511
- 4, // ext 32 0xc9
512
- 4, // float 32 0xca
513
- 8, // float 64 0xcb
514
- 1, // uint 8 0xcc
515
- 2, // uint 16 0xcd
516
- 4, // uint 32 0xce
517
- 8, // uint 64 0xcf
518
- 1, // int 8 0xd0
519
- 2, // int 16 0xd1
520
- 4, // int 32 0xd2
521
- 8, // int 64 0xd3
522
- 2, // fixext 1 0xd4
523
- 3, // fixext 2 0xd5
524
- 5, // fixext 4 0xd6
525
- 9, // fixext 8 0xd7
526
- 17,// fixext 16 0xd8
527
- 1, // str 8 0xd9
528
- 2, // str 16 0xda
529
- 4, // str 32 0xdb
530
- 2, // array 16 0xdc
531
- 4, // array 32 0xdd
532
- 2, // map 16 0xde
533
- 4, // map 32 0xdf
534
- };
535
- m_trail = trail[selector - 0xc4];
536
- m_cs = next_cs(m_current);
537
- fixed_trail_again = true;
538
- } else if(0xa0 <= selector && selector <= 0xbf) { // FixStr
539
- m_trail = static_cast<uint32_t>(*m_current) & 0x1f;
540
- if(m_trail == 0) {
541
- bool visret = holder().visitor().visit_str(n, static_cast<uint32_t>(m_trail));
542
- unpack_return upr = after_visit_proc(visret, off);
543
- if (upr != UNPACK_CONTINUE) return upr;
544
- }
545
- else {
546
- m_cs = MSGPACK_ACS_STR_VALUE;
547
- fixed_trail_again = true;
548
- }
549
- } else if(0x90 <= selector && selector <= 0x9f) { // FixArray
550
- unpack_return ret = start_aggregate<fix_tag>(array_sv(holder()), array_ev(holder()), m_current, off);
551
- if (ret != UNPACK_CONTINUE) return ret;
552
- if (!holder().visitor().start_array_item()) return UNPACK_STOP_VISITOR;
553
- } else if(0x80 <= selector && selector <= 0x8f) { // FixMap
554
- unpack_return ret = start_aggregate<fix_tag>(map_sv(holder()), map_ev(holder()), m_current, off);
555
- if (ret != UNPACK_CONTINUE) return ret;
556
- if (!holder().visitor().start_map_key()) return UNPACK_STOP_VISITOR;
557
- } else if(selector == 0xc2) { // false
558
- bool visret = holder().visitor().visit_boolean(false);
559
- unpack_return upr = after_visit_proc(visret, off);
560
- if (upr != UNPACK_CONTINUE) return upr;
561
- } else if(selector == 0xc3) { // true
562
- bool visret = holder().visitor().visit_boolean(true);
563
- unpack_return upr = after_visit_proc(visret, off);
564
- if (upr != UNPACK_CONTINUE) return upr;
565
- } else if(selector == 0xc0) { // nil
566
- bool visret = holder().visitor().visit_nil();
567
- unpack_return upr = after_visit_proc(visret, off);
568
- if (upr != UNPACK_CONTINUE) return upr;
569
- } else {
570
- off = m_current - m_start;
571
- holder().visitor().parse_error(off - 1, off);
572
- return UNPACK_PARSE_ERROR;
573
- }
574
- // end MSGPACK_CS_HEADER
575
- }
576
- if (m_cs != MSGPACK_CS_HEADER || fixed_trail_again) {
577
- if (fixed_trail_again) {
578
- ++m_current;
579
- fixed_trail_again = false;
580
- }
581
- if(static_cast<std::size_t>(pe - m_current) < m_trail) {
582
- off = m_current - m_start;
583
- return UNPACK_CONTINUE;
584
- }
585
- n = m_current;
586
- m_current += m_trail - 1;
587
- switch(m_cs) {
588
- //case MSGPACK_CS_
589
- //case MSGPACK_CS_
590
- case MSGPACK_CS_FLOAT: {
591
- union { uint32_t i; float f; } mem;
592
- load<uint32_t>(mem.i, n);
593
- bool visret = holder().visitor().visit_float(mem.f);
594
- unpack_return upr = after_visit_proc(visret, off);
595
- if (upr != UNPACK_CONTINUE) return upr;
596
- } break;
597
- case MSGPACK_CS_DOUBLE: {
598
- union { uint64_t i; double f; } mem;
599
- load<uint64_t>(mem.i, n);
600
- #if defined(TARGET_OS_IPHONE)
601
- // ok
602
- #elif defined(__arm__) && !(__ARM_EABI__) // arm-oabi
603
- // https://github.com/msgpack/msgpack-perl/pull/1
604
- mem.i = (mem.i & 0xFFFFFFFFUL) << 32UL | (mem.i >> 32UL);
605
- #endif
606
- bool visret = holder().visitor().visit_float(mem.f);
607
- unpack_return upr = after_visit_proc(visret, off);
608
- if (upr != UNPACK_CONTINUE) return upr;
609
- } break;
610
- case MSGPACK_CS_UINT_8: {
611
- uint8_t tmp;
612
- load<uint8_t>(tmp, n);
613
- bool visret = holder().visitor().visit_positive_integer(tmp);
614
- unpack_return upr = after_visit_proc(visret, off);
615
- if (upr != UNPACK_CONTINUE) return upr;
616
- } break;
617
- case MSGPACK_CS_UINT_16: {
618
- uint16_t tmp;
619
- load<uint16_t>(tmp, n);
620
- bool visret = holder().visitor().visit_positive_integer(tmp);
621
- unpack_return upr = after_visit_proc(visret, off);
622
- if (upr != UNPACK_CONTINUE) return upr;
623
- } break;
624
- case MSGPACK_CS_UINT_32: {
625
- uint32_t tmp;
626
- load<uint32_t>(tmp, n);
627
- bool visret = holder().visitor().visit_positive_integer(tmp);
628
- unpack_return upr = after_visit_proc(visret, off);
629
- if (upr != UNPACK_CONTINUE) return upr;
630
- } break;
631
- case MSGPACK_CS_UINT_64: {
632
- uint64_t tmp;
633
- load<uint64_t>(tmp, n);
634
- bool visret = holder().visitor().visit_positive_integer(tmp);
635
- unpack_return upr = after_visit_proc(visret, off);
636
- if (upr != UNPACK_CONTINUE) return upr;
637
- } break;
638
- case MSGPACK_CS_INT_8: {
639
- int8_t tmp;
640
- load<int8_t>(tmp, n);
641
- bool visret = holder().visitor().visit_negative_integer(tmp);
642
- unpack_return upr = after_visit_proc(visret, off);
643
- if (upr != UNPACK_CONTINUE) return upr;
644
- } break;
645
- case MSGPACK_CS_INT_16: {
646
- int16_t tmp;
647
- load<int16_t>(tmp, n);
648
- bool visret = holder().visitor().visit_negative_integer(tmp);
649
- unpack_return upr = after_visit_proc(visret, off);
650
- if (upr != UNPACK_CONTINUE) return upr;
651
- } break;
652
- case MSGPACK_CS_INT_32: {
653
- int32_t tmp;
654
- load<int32_t>(tmp, n);
655
- bool visret = holder().visitor().visit_negative_integer(tmp);
656
- unpack_return upr = after_visit_proc(visret, off);
657
- if (upr != UNPACK_CONTINUE) return upr;
658
- } break;
659
- case MSGPACK_CS_INT_64: {
660
- int64_t tmp;
661
- load<int64_t>(tmp, n);
662
- bool visret = holder().visitor().visit_negative_integer(tmp);
663
- unpack_return upr = after_visit_proc(visret, off);
664
- if (upr != UNPACK_CONTINUE) return upr;
665
- } break;
666
- case MSGPACK_CS_FIXEXT_1: {
667
- bool visret = holder().visitor().visit_ext(n, 1+1);
668
- unpack_return upr = after_visit_proc(visret, off);
669
- if (upr != UNPACK_CONTINUE) return upr;
670
- } break;
671
- case MSGPACK_CS_FIXEXT_2: {
672
- bool visret = holder().visitor().visit_ext(n, 2+1);
673
- unpack_return upr = after_visit_proc(visret, off);
674
- if (upr != UNPACK_CONTINUE) return upr;
675
- } break;
676
- case MSGPACK_CS_FIXEXT_4: {
677
- bool visret = holder().visitor().visit_ext(n, 4+1);
678
- unpack_return upr = after_visit_proc(visret, off);
679
- if (upr != UNPACK_CONTINUE) return upr;
680
- } break;
681
- case MSGPACK_CS_FIXEXT_8: {
682
- bool visret = holder().visitor().visit_ext(n, 8+1);
683
- unpack_return upr = after_visit_proc(visret, off);
684
- if (upr != UNPACK_CONTINUE) return upr;
685
- } break;
686
- case MSGPACK_CS_FIXEXT_16: {
687
- bool visret = holder().visitor().visit_ext(n, 16+1);
688
- unpack_return upr = after_visit_proc(visret, off);
689
- if (upr != UNPACK_CONTINUE) return upr;
690
- } break;
691
- case MSGPACK_CS_STR_8: {
692
- uint8_t tmp;
693
- load<uint8_t>(tmp, n);
694
- m_trail = tmp;
695
- if(m_trail == 0) {
696
- bool visret = holder().visitor().visit_str(n, static_cast<uint32_t>(m_trail));
697
- unpack_return upr = after_visit_proc(visret, off);
698
- if (upr != UNPACK_CONTINUE) return upr;
699
- }
700
- else {
701
- m_cs = MSGPACK_ACS_STR_VALUE;
702
- fixed_trail_again = true;
703
- }
704
- } break;
705
- case MSGPACK_CS_BIN_8: {
706
- uint8_t tmp;
707
- load<uint8_t>(tmp, n);
708
- m_trail = tmp;
709
- if(m_trail == 0) {
710
- bool visret = holder().visitor().visit_bin(n, static_cast<uint32_t>(m_trail));
711
- unpack_return upr = after_visit_proc(visret, off);
712
- if (upr != UNPACK_CONTINUE) return upr;
713
- }
714
- else {
715
- m_cs = MSGPACK_ACS_BIN_VALUE;
716
- fixed_trail_again = true;
717
- }
718
- } break;
719
- case MSGPACK_CS_EXT_8: {
720
- uint8_t tmp;
721
- load<uint8_t>(tmp, n);
722
- m_trail = tmp + 1;
723
- if(m_trail == 0) {
724
- bool visret = holder().visitor().visit_ext(n, m_trail);
725
- unpack_return upr = after_visit_proc(visret, off);
726
- if (upr != UNPACK_CONTINUE) return upr;
727
- }
728
- else {
729
- m_cs = MSGPACK_ACS_EXT_VALUE;
730
- fixed_trail_again = true;
731
- }
732
- } break;
733
- case MSGPACK_CS_STR_16: {
734
- uint16_t tmp;
735
- load<uint16_t>(tmp, n);
736
- m_trail = tmp;
737
- if(m_trail == 0) {
738
- bool visret = holder().visitor().visit_str(n, static_cast<uint32_t>(m_trail));
739
- unpack_return upr = after_visit_proc(visret, off);
740
- if (upr != UNPACK_CONTINUE) return upr;
741
- }
742
- else {
743
- m_cs = MSGPACK_ACS_STR_VALUE;
744
- fixed_trail_again = true;
745
- }
746
- } break;
747
- case MSGPACK_CS_BIN_16: {
748
- uint16_t tmp;
749
- load<uint16_t>(tmp, n);
750
- m_trail = tmp;
751
- if(m_trail == 0) {
752
- bool visret = holder().visitor().visit_bin(n, static_cast<uint32_t>(m_trail));
753
- unpack_return upr = after_visit_proc(visret, off);
754
- if (upr != UNPACK_CONTINUE) return upr;
755
- }
756
- else {
757
- m_cs = MSGPACK_ACS_BIN_VALUE;
758
- fixed_trail_again = true;
759
- }
760
- } break;
761
- case MSGPACK_CS_EXT_16: {
762
- uint16_t tmp;
763
- load<uint16_t>(tmp, n);
764
- m_trail = tmp + 1;
765
- if(m_trail == 0) {
766
- bool visret = holder().visitor().visit_ext(n, m_trail);
767
- unpack_return upr = after_visit_proc(visret, off);
768
- if (upr != UNPACK_CONTINUE) return upr;
769
- }
770
- else {
771
- m_cs = MSGPACK_ACS_EXT_VALUE;
772
- fixed_trail_again = true;
773
- }
774
- } break;
775
- case MSGPACK_CS_STR_32: {
776
- uint32_t tmp;
777
- load<uint32_t>(tmp, n);
778
- m_trail = tmp;
779
- if(m_trail == 0) {
780
- bool visret = holder().visitor().visit_str(n, static_cast<uint32_t>(m_trail));
781
- unpack_return upr = after_visit_proc(visret, off);
782
- if (upr != UNPACK_CONTINUE) return upr;
783
- }
784
- else {
785
- m_cs = MSGPACK_ACS_STR_VALUE;
786
- fixed_trail_again = true;
787
- }
788
- } break;
789
- case MSGPACK_CS_BIN_32: {
790
- uint32_t tmp;
791
- load<uint32_t>(tmp, n);
792
- m_trail = tmp;
793
- if(m_trail == 0) {
794
- bool visret = holder().visitor().visit_bin(n, static_cast<uint32_t>(m_trail));
795
- unpack_return upr = after_visit_proc(visret, off);
796
- if (upr != UNPACK_CONTINUE) return upr;
797
- }
798
- else {
799
- m_cs = MSGPACK_ACS_BIN_VALUE;
800
- fixed_trail_again = true;
801
- }
802
- } break;
803
- case MSGPACK_CS_EXT_32: {
804
- uint32_t tmp;
805
- load<uint32_t>(tmp, n);
806
- check_ext_size<sizeof(std::size_t)>(tmp);
807
- m_trail = tmp;
808
- ++m_trail;
809
- if(m_trail == 0) {
810
- bool visret = holder().visitor().visit_ext(n, m_trail);
811
- unpack_return upr = after_visit_proc(visret, off);
812
- if (upr != UNPACK_CONTINUE) return upr;
813
- }
814
- else {
815
- m_cs = MSGPACK_ACS_EXT_VALUE;
816
- fixed_trail_again = true;
817
- }
818
- } break;
819
- case MSGPACK_ACS_STR_VALUE: {
820
- bool visret = holder().visitor().visit_str(n, m_trail);
821
- unpack_return upr = after_visit_proc(visret, off);
822
- if (upr != UNPACK_CONTINUE) return upr;
823
- } break;
824
- case MSGPACK_ACS_BIN_VALUE: {
825
- bool visret = holder().visitor().visit_bin(n, static_cast<uint32_t>(m_trail));
826
- unpack_return upr = after_visit_proc(visret, off);
827
- if (upr != UNPACK_CONTINUE) return upr;
828
- } break;
829
- case MSGPACK_ACS_EXT_VALUE: {
830
- bool visret = holder().visitor().visit_ext(n, m_trail);
831
- unpack_return upr = after_visit_proc(visret, off);
832
- if (upr != UNPACK_CONTINUE) return upr;
833
- } break;
834
- case MSGPACK_CS_ARRAY_16: {
835
- unpack_return ret = start_aggregate<uint16_t>(array_sv(holder()), array_ev(holder()), n, off);
836
- if (ret != UNPACK_CONTINUE) return ret;
837
- if (!holder().visitor().start_array_item()) return UNPACK_STOP_VISITOR;
838
-
839
- } break;
840
- case MSGPACK_CS_ARRAY_32: {
841
- unpack_return ret = start_aggregate<uint32_t>(array_sv(holder()), array_ev(holder()), n, off);
842
- if (ret != UNPACK_CONTINUE) return ret;
843
- if (!holder().visitor().start_array_item()) return UNPACK_STOP_VISITOR;
844
- } break;
845
- case MSGPACK_CS_MAP_16: {
846
- unpack_return ret = start_aggregate<uint16_t>(map_sv(holder()), map_ev(holder()), n, off);
847
- if (ret != UNPACK_CONTINUE) return ret;
848
- if (!holder().visitor().start_map_key()) return UNPACK_STOP_VISITOR;
849
- } break;
850
- case MSGPACK_CS_MAP_32: {
851
- unpack_return ret = start_aggregate<uint32_t>(map_sv(holder()), map_ev(holder()), n, off);
852
- if (ret != UNPACK_CONTINUE) return ret;
853
- if (!holder().visitor().start_map_key()) return UNPACK_STOP_VISITOR;
854
- } break;
855
- default:
856
- off = m_current - m_start;
857
- holder().visitor().parse_error(n - m_start - 1, n - m_start);
858
- return UNPACK_PARSE_ERROR;
859
- }
860
- }
861
- } while(m_current != pe);
862
-
863
- off = m_current - m_start;
864
- return UNPACK_CONTINUE;
865
- }
866
-
867
- } // detail
868
-
869
-
870
- /// Unpacking class for a stream deserialization.
871
-
872
- template <typename VisitorHolder, typename ReferencedBufferHook>
873
- class parser : public detail::context<VisitorHolder> {
874
- typedef parser<VisitorHolder, ReferencedBufferHook> this_type;
875
- typedef detail::context<VisitorHolder> context_type;
876
- public:
877
- /// Constructor
878
- /**
879
- * @param referenced If the unpacked object contains reference of the buffer, then set as true, otherwise false.
880
- * @param f A judging function that msgpack::object refer to the buffer.
881
- * @param user_data This parameter is passed to f.
882
- * @param initial_buffer_size The memory size to allocate when unpacker is constructed.
883
- * @param limit The size limit information of msgpack::object.
884
- *
885
- */
886
- parser(ReferencedBufferHook& hook,
887
- std::size_t initial_buffer_size = MSGPACK_UNPACKER_INIT_BUFFER_SIZE);
888
-
889
- #if !defined(MSGPACK_USE_CPP03)
890
- parser(this_type&& other);
891
- this_type& operator=(this_type&& other);
892
- #endif // !defined(MSGPACK_USE_CPP03)
893
-
894
- ~parser();
895
-
896
- public:
897
- /// Reserve a buffer memory.
898
- /**
899
- * @param size The size of allocating memory.
900
- *
901
- * After returning this function, buffer_capacity() returns at least 'size'.
902
- * See:
903
- * https://github.com/msgpack/msgpack-c/wiki/v1_1_cpp_unpacker#msgpack-controls-a-buffer
904
- */
905
- void reserve_buffer(std::size_t size = MSGPACK_UNPACKER_RESERVE_SIZE);
906
-
907
- /// Get buffer pointer.
908
- /**
909
- * You need to care about the memory is enable between buffer() and buffer() + buffer_capacity()
910
- * See:
911
- * https://github.com/msgpack/msgpack-c/wiki/v1_1_cpp_unpacker#msgpack-controls-a-buffer
912
- */
913
- char* buffer();
914
-
915
- /// Get buffer capacity.
916
- /**
917
- * @return The memory size that you can write.
918
- *
919
- * See:
920
- * https://github.com/msgpack/msgpack-c/wiki/v1_1_cpp_unpacker#msgpack-controls-a-buffer
921
- */
922
- std::size_t buffer_capacity() const;
923
-
924
- /// Notify a buffer consumed information to msgpack::unpacker.
925
- /**
926
- * @param size The size of memory that you consumed.
927
- *
928
- * After copying the data to the memory that is pointed by buffer(), you need to call the
929
- * function to notify how many bytes are consumed. Then you can call next() functions.
930
- *
931
- * See:
932
- * https://github.com/msgpack/msgpack-c/wiki/v1_1_cpp_unpacker#msgpack-controls-a-buffer
933
- */
934
- void buffer_consumed(std::size_t size);
935
-
936
- /// Unpack one msgpack::object.
937
- /**
938
- *
939
- *
940
- * @return If one msgpack::object is unpacked, then return true, if msgpack::object is incomplete
941
- * and additional data is required, then return false. If data format is invalid, throw
942
- * msgpack::parse_error.
943
- *
944
- * See:
945
- * https://github.com/msgpack/msgpack-c/wiki/v1_1_cpp_unpacker#msgpack-controls-a-buffer
946
- */
947
- bool next();
948
-
949
- /// Get message size.
950
- /**
951
- * @return Returns parsed_size() + nonparsed_size()
952
- */
953
- std::size_t message_size() const;
954
-
955
- public:
956
- /// Get parsed message size.
957
- /**
958
- * @return Parsed message size.
959
- *
960
- * This function is usable when non-MessagePack message follows after
961
- * MessagePack message.
962
- */
963
- std::size_t parsed_size() const;
964
-
965
- /// Get the address that is not parsed in the buffer.
966
- /**
967
- * @return Address of the buffer that is not parsed
968
- *
969
- * This function is usable when non-MessagePack message follows after
970
- * MessagePack message.
971
- */
972
- char* nonparsed_buffer();
973
-
974
- /// Get the size of the buffer that is not parsed.
975
- /**
976
- * @return Size of the buffer that is not parsed
977
- *
978
- * This function is usable when non-MessagePack message follows after
979
- * MessagePack message.
980
- */
981
- std::size_t nonparsed_size() const;
982
-
983
- /// Skip the specified size of non-parsed buffer.
984
- /**
985
- * @param size to skip
986
- *
987
- * Note that the `size' argument must be smaller than nonparsed_size().
988
- * This function is usable when non-MessagePack message follows after
989
- * MessagePack message.
990
- */
991
- void skip_nonparsed_buffer(std::size_t size);
992
-
993
- /// Remove nonparsed buffer and reset the current position as a new start point.
994
- /**
995
- * This function is usable when non-MessagePack message follows after
996
- * MessagePack message.
997
- */
998
- void remove_nonparsed_buffer();
999
-
1000
- void reset();
1001
-
1002
- protected:
1003
- char* get_raw_buffer() {
1004
- return m_buffer;
1005
- }
1006
- private:
1007
- void expand_buffer(std::size_t size);
1008
- unpack_return execute_imp();
1009
-
1010
- private:
1011
- char* m_buffer;
1012
- std::size_t m_used;
1013
- std::size_t m_free;
1014
- std::size_t m_off;
1015
- std::size_t m_parsed;
1016
- std::size_t m_initial_buffer_size;
1017
- ReferencedBufferHook& m_referenced_buffer_hook;
1018
-
1019
- #if defined(MSGPACK_USE_CPP03)
1020
- private:
1021
- parser(const this_type&);
1022
- this_type& operator=(const this_type&);
1023
- #else // defined(MSGPACK_USE_CPP03)
1024
- public:
1025
- parser(const this_type&) = delete;
1026
- this_type& operator=(const this_type&) = delete;
1027
- #endif // defined(MSGPACK_USE_CPP03)
1028
- };
1029
-
1030
- template <typename VisitorHolder, typename ReferencedBufferHook>
1031
- inline parser<VisitorHolder, ReferencedBufferHook>::parser(
1032
- ReferencedBufferHook& hook,
1033
- std::size_t initial_buffer_size)
1034
- :m_referenced_buffer_hook(hook)
1035
- {
1036
- if(initial_buffer_size < COUNTER_SIZE) {
1037
- initial_buffer_size = COUNTER_SIZE;
1038
- }
1039
-
1040
- char* buffer = static_cast<char*>(::malloc(initial_buffer_size));
1041
- if(!buffer) {
1042
- throw std::bad_alloc();
1043
- }
1044
-
1045
- m_buffer = buffer;
1046
- m_used = COUNTER_SIZE;
1047
- m_free = initial_buffer_size - m_used;
1048
- m_off = COUNTER_SIZE;
1049
- m_parsed = 0;
1050
- m_initial_buffer_size = initial_buffer_size;
1051
-
1052
- detail::init_count(m_buffer);
1053
- }
1054
-
1055
- #if !defined(MSGPACK_USE_CPP03)
1056
- // Move constructor and move assignment operator
1057
-
1058
- template <typename VisitorHolder, typename ReferencedBufferHook>
1059
- inline parser<VisitorHolder, ReferencedBufferHook>::parser(this_type&& other)
1060
- :context_type(std::move(other)),
1061
- m_buffer(other.m_buffer),
1062
- m_used(other.m_used),
1063
- m_free(other.m_free),
1064
- m_off(other.m_off),
1065
- m_parsed(other.m_parsed),
1066
- m_initial_buffer_size(other.m_initial_buffer_size),
1067
- m_referenced_buffer_hook(other.m_referenced_buffer_hook) {
1068
- other.m_buffer = MSGPACK_NULLPTR;
1069
- other.m_used = 0;
1070
- other.m_free = 0;
1071
- other.m_off = 0;
1072
- other.m_parsed = 0;
1073
- }
1074
-
1075
- template <typename VisitorHolder, typename ReferencedBufferHook>
1076
- inline parser<VisitorHolder, ReferencedBufferHook>& parser<VisitorHolder, ReferencedBufferHook>::operator=(this_type&& other) {
1077
- this->~parser();
1078
- new (this) this_type(std::move(other));
1079
- return *this;
1080
- }
1081
-
1082
- #endif // !defined(MSGPACK_USE_CPP03)
1083
-
1084
-
1085
- template <typename VisitorHolder, typename ReferencedBufferHook>
1086
- inline parser<VisitorHolder, ReferencedBufferHook>::~parser()
1087
- {
1088
- // These checks are required for move operations.
1089
- if (m_buffer) detail::decr_count(m_buffer);
1090
- }
1091
-
1092
-
1093
- template <typename VisitorHolder, typename ReferencedBufferHook>
1094
- inline void parser<VisitorHolder, ReferencedBufferHook>::reserve_buffer(std::size_t size)
1095
- {
1096
- if(m_free >= size) return;
1097
- expand_buffer(size);
1098
- }
1099
-
1100
- template <typename VisitorHolder, typename ReferencedBufferHook>
1101
- inline void parser<VisitorHolder, ReferencedBufferHook>::expand_buffer(std::size_t size)
1102
- {
1103
- if(m_used == m_off && detail::get_count(m_buffer) == 1
1104
- && static_cast<VisitorHolder&>(*this).visitor().referenced()) {
1105
- // rewind buffer
1106
- m_free += m_used - COUNTER_SIZE;
1107
- m_used = COUNTER_SIZE;
1108
- m_off = COUNTER_SIZE;
1109
-
1110
- if(m_free >= size) return;
1111
- }
1112
-
1113
- if(m_off == COUNTER_SIZE) {
1114
- std::size_t next_size = (m_used + m_free) * 2; // include COUNTER_SIZE
1115
- while(next_size < size + m_used) {
1116
- std::size_t tmp_next_size = next_size * 2;
1117
- if (tmp_next_size <= next_size) {
1118
- next_size = size + m_used;
1119
- break;
1120
- }
1121
- next_size = tmp_next_size;
1122
- }
1123
-
1124
- char* tmp = static_cast<char*>(::realloc(m_buffer, next_size));
1125
- if(!tmp) {
1126
- throw std::bad_alloc();
1127
- }
1128
-
1129
- m_buffer = tmp;
1130
- m_free = next_size - m_used;
1131
-
1132
- } else {
1133
- std::size_t next_size = m_initial_buffer_size; // include COUNTER_SIZE
1134
- std::size_t not_parsed = m_used - m_off;
1135
- while(next_size < size + not_parsed + COUNTER_SIZE) {
1136
- std::size_t tmp_next_size = next_size * 2;
1137
- if (tmp_next_size <= next_size) {
1138
- next_size = size + not_parsed + COUNTER_SIZE;
1139
- break;
1140
- }
1141
- next_size = tmp_next_size;
1142
- }
1143
-
1144
- char* tmp = static_cast<char*>(::malloc(next_size));
1145
- if(!tmp) {
1146
- throw std::bad_alloc();
1147
- }
1148
-
1149
- detail::init_count(tmp);
1150
-
1151
- std::memcpy(tmp+COUNTER_SIZE, m_buffer + m_off, not_parsed);
1152
-
1153
- if(static_cast<VisitorHolder&>(*this).referenced()) {
1154
- try {
1155
- m_referenced_buffer_hook(m_buffer);
1156
- }
1157
- catch (...) {
1158
- ::free(tmp);
1159
- throw;
1160
- }
1161
- static_cast<VisitorHolder&>(*this).set_referenced(false);
1162
- } else {
1163
- detail::decr_count(m_buffer);
1164
- }
1165
-
1166
- m_buffer = tmp;
1167
- m_used = not_parsed + COUNTER_SIZE;
1168
- m_free = next_size - m_used;
1169
- m_off = COUNTER_SIZE;
1170
- }
1171
- }
1172
-
1173
- template <typename VisitorHolder, typename ReferencedBufferHook>
1174
- inline char* parser<VisitorHolder, ReferencedBufferHook>::buffer()
1175
- {
1176
- return m_buffer + m_used;
1177
- }
1178
-
1179
- template <typename VisitorHolder, typename ReferencedBufferHook>
1180
- inline std::size_t parser<VisitorHolder, ReferencedBufferHook>::buffer_capacity() const
1181
- {
1182
- return m_free;
1183
- }
1184
-
1185
- template <typename VisitorHolder, typename ReferencedBufferHook>
1186
- inline void parser<VisitorHolder, ReferencedBufferHook>::buffer_consumed(std::size_t size)
1187
- {
1188
- m_used += size;
1189
- m_free -= size;
1190
- }
1191
-
1192
- template <typename VisitorHolder, typename ReferencedBufferHook>
1193
- inline bool parser<VisitorHolder, ReferencedBufferHook>::next()
1194
- {
1195
- unpack_return ret = execute_imp();
1196
- return ret == UNPACK_SUCCESS;
1197
- }
1198
-
1199
- template <typename VisitorHolder, typename ReferencedBufferHook>
1200
- inline unpack_return parser<VisitorHolder, ReferencedBufferHook>::execute_imp()
1201
- {
1202
- std::size_t off = m_off;
1203
- unpack_return ret = context_type::execute(m_buffer, m_used, m_off);
1204
- if(m_off > off) {
1205
- m_parsed += m_off - off;
1206
- }
1207
- return ret;
1208
- }
1209
-
1210
- template <typename VisitorHolder, typename ReferencedBufferHook>
1211
- inline void parser<VisitorHolder, ReferencedBufferHook>::reset()
1212
- {
1213
- context_type::init();
1214
- // don't reset referenced flag
1215
- m_parsed = 0;
1216
- }
1217
-
1218
- template <typename VisitorHolder, typename ReferencedBufferHook>
1219
- inline std::size_t parser<VisitorHolder, ReferencedBufferHook>::message_size() const
1220
- {
1221
- return m_parsed - m_off + m_used;
1222
- }
1223
-
1224
- template <typename VisitorHolder, typename ReferencedBufferHook>
1225
- inline std::size_t parser<VisitorHolder, ReferencedBufferHook>::parsed_size() const
1226
- {
1227
- return m_parsed;
1228
- }
1229
-
1230
- template <typename VisitorHolder, typename ReferencedBufferHook>
1231
- inline char* parser<VisitorHolder, ReferencedBufferHook>::nonparsed_buffer()
1232
- {
1233
- return m_buffer + m_off;
1234
- }
1235
-
1236
- template <typename VisitorHolder, typename ReferencedBufferHook>
1237
- inline std::size_t parser<VisitorHolder, ReferencedBufferHook>::nonparsed_size() const
1238
- {
1239
- return m_used - m_off;
1240
- }
1241
-
1242
- template <typename VisitorHolder, typename ReferencedBufferHook>
1243
- inline void parser<VisitorHolder, ReferencedBufferHook>::skip_nonparsed_buffer(std::size_t size)
1244
- {
1245
- m_off += size;
1246
- }
1247
-
1248
- template <typename VisitorHolder, typename ReferencedBufferHook>
1249
- inline void parser<VisitorHolder, ReferencedBufferHook>::remove_nonparsed_buffer()
1250
- {
1251
- m_used = m_off;
1252
- }
1253
25
 
1254
26
  struct zone_push_finalizer {
1255
27
  zone_push_finalizer(msgpack::zone& z):m_z(&z) {}
@@ -1262,13 +34,13 @@ struct zone_push_finalizer {
1262
34
 
1263
35
  class unpacker : public parser<unpacker, zone_push_finalizer>,
1264
36
  public detail::create_object_visitor {
1265
- typedef parser<unpacker, zone_push_finalizer> parser;
37
+ typedef parser<unpacker, zone_push_finalizer> parser_t;
1266
38
  public:
1267
39
  unpacker(unpack_reference_func f = &unpacker::default_reference_func,
1268
40
  void* user_data = MSGPACK_NULLPTR,
1269
41
  std::size_t initial_buffer_size = MSGPACK_UNPACKER_INIT_BUFFER_SIZE,
1270
42
  unpack_limit const& limit = unpack_limit())
1271
- :parser(m_finalizer, initial_buffer_size),
43
+ :parser_t(m_finalizer, initial_buffer_size),
1272
44
  detail::create_object_visitor(f, user_data, limit),
1273
45
  m_z(new msgpack::zone),
1274
46
  m_finalizer(*m_z) {
@@ -1318,7 +90,7 @@ private:
1318
90
  };
1319
91
 
1320
92
  inline bool unpacker::next(msgpack::object_handle& result, bool& referenced) {
1321
- bool ret = parser::next();
93
+ bool ret = parser_t::next();
1322
94
  if (ret) {
1323
95
  referenced = detail::create_object_visitor::referenced();
1324
96
  result.zone().reset( release_zone() );
@@ -1383,14 +155,14 @@ inline msgpack::object_handle unpack(
1383
155
  msgpack::unique_ptr<msgpack::zone> z(new msgpack::zone);
1384
156
  referenced = false;
1385
157
  std::size_t noff = off;
1386
- unpack_return ret = detail::unpack_imp(
158
+ parse_return ret = detail::unpack_imp(
1387
159
  data, len, noff, *z, obj, referenced, f, user_data, limit);
1388
160
 
1389
161
  switch(ret) {
1390
- case UNPACK_SUCCESS:
162
+ case PARSE_SUCCESS:
1391
163
  off = noff;
1392
164
  return msgpack::object_handle(obj, msgpack::move(z));
1393
- case UNPACK_EXTRA_BYTES:
165
+ case PARSE_EXTRA_BYTES:
1394
166
  off = noff;
1395
167
  return msgpack::object_handle(obj, msgpack::move(z));
1396
168
  default:
@@ -1437,16 +209,16 @@ inline void unpack(
1437
209
  msgpack::unique_ptr<msgpack::zone> z(new msgpack::zone);
1438
210
  referenced = false;
1439
211
  std::size_t noff = off;
1440
- unpack_return ret = detail::unpack_imp(
212
+ parse_return ret = detail::unpack_imp(
1441
213
  data, len, noff, *z, obj, referenced, f, user_data, limit);
1442
214
 
1443
215
  switch(ret) {
1444
- case UNPACK_SUCCESS:
216
+ case PARSE_SUCCESS:
1445
217
  off = noff;
1446
218
  result.set(obj);
1447
219
  result.zone() = msgpack::move(z);
1448
220
  return;
1449
- case UNPACK_EXTRA_BYTES:
221
+ case PARSE_EXTRA_BYTES:
1450
222
  off = noff;
1451
223
  result.set(obj);
1452
224
  result.zone() = msgpack::move(z);
@@ -1459,7 +231,7 @@ inline void unpack(
1459
231
  inline void unpack(
1460
232
  msgpack::object_handle& result,
1461
233
  const char* data, std::size_t len, std::size_t& off,
1462
- msgpack::v2::unpack_reference_func f, void* user_data,
234
+ unpack_reference_func f, void* user_data,
1463
235
  unpack_limit const& limit)
1464
236
  {
1465
237
  bool referenced;
@@ -1497,14 +269,14 @@ inline msgpack::object unpack(
1497
269
  msgpack::object obj;
1498
270
  std::size_t noff = off;
1499
271
  referenced = false;
1500
- unpack_return ret = detail::unpack_imp(
272
+ parse_return ret = detail::unpack_imp(
1501
273
  data, len, noff, z, obj, referenced, f, user_data, limit);
1502
274
 
1503
275
  switch(ret) {
1504
- case UNPACK_SUCCESS:
276
+ case PARSE_SUCCESS:
1505
277
  off = noff;
1506
278
  return obj;
1507
- case UNPACK_EXTRA_BYTES:
279
+ case PARSE_EXTRA_BYTES:
1508
280
  off = noff;
1509
281
  return obj;
1510
282
  default:
@@ -1544,59 +316,9 @@ inline msgpack::object unpack(
1544
316
  return msgpack::v2::unpack(z, data, len, off, referenced, f, user_data, limit);
1545
317
  }
1546
318
 
1547
- template <typename Visitor>
1548
- inline bool parse(const char* data, size_t len, size_t& off, Visitor& v) {
1549
- unpack_return ret = detail::parse_imp(data, len, off, v);
1550
- return ret == UNPACK_SUCCESS || ret == UNPACK_EXTRA_BYTES;
1551
- }
1552
-
1553
- template <typename Visitor>
1554
- inline bool parse(const char* data, size_t len, Visitor& v) {
1555
- std::size_t off = 0;
1556
- return parse(data, len, off, v);
1557
- }
1558
-
1559
319
  namespace detail {
1560
320
 
1561
- template <typename Visitor>
1562
- struct parse_helper : context<parse_helper<Visitor> > {
1563
- parse_helper(Visitor& v):m_visitor(v) {}
1564
- unpack_return execute(const char* data, std::size_t len, std::size_t& off) {
1565
- return context<parse_helper<Visitor> >::execute(data, len, off);
1566
- }
1567
- Visitor& visitor() const { return m_visitor; }
1568
- Visitor& m_visitor;
1569
- };
1570
-
1571
- template <typename Visitor>
1572
- inline unpack_return
1573
- parse_imp(const char* data, size_t len, size_t& off, Visitor& v) {
1574
- std::size_t noff = off;
1575
-
1576
- if(len <= noff) {
1577
- // FIXME
1578
- v.insufficient_bytes(noff, noff);
1579
- return UNPACK_CONTINUE;
1580
- }
1581
- detail::parse_helper<Visitor> h(v);
1582
- unpack_return ret = h.execute(data, len, noff);
1583
- switch (ret) {
1584
- case UNPACK_CONTINUE:
1585
- off = noff;
1586
- v.insufficient_bytes(noff - 1, noff);
1587
- return ret;
1588
- case UNPACK_SUCCESS:
1589
- off = noff;
1590
- if(noff < len) {
1591
- return UNPACK_EXTRA_BYTES;
1592
- }
1593
- return ret;
1594
- default:
1595
- return ret;
1596
- }
1597
- }
1598
-
1599
- inline unpack_return
321
+ inline parse_return
1600
322
  unpack_imp(const char* data, std::size_t len, std::size_t& off,
1601
323
  msgpack::zone& result_zone, msgpack::object& result, bool& referenced,
1602
324
  unpack_reference_func f = MSGPACK_NULLPTR, void* user_data = MSGPACK_NULLPTR,
@@ -1606,13 +328,13 @@ unpack_imp(const char* data, std::size_t len, std::size_t& off,
1606
328
  v.set_zone(result_zone);
1607
329
  referenced = false;
1608
330
  v.set_referenced(referenced);
1609
- unpack_return ret = parse_imp(data, len, off, v);
331
+ parse_return ret = parse_imp(data, len, off, v);
1610
332
  referenced = v.referenced();
1611
333
  result = v.data();
1612
334
  return ret;
1613
335
  }
1614
336
 
1615
- } // detail
337
+ } // namespace detail
1616
338
 
1617
339
 
1618
340
  /// @cond
@@ -1621,5 +343,6 @@ unpack_imp(const char* data, std::size_t len, std::size_t& off,
1621
343
 
1622
344
  } // namespace msgpack
1623
345
 
346
+ #endif // MSGPACK_DEFAULT_API_VERSION >= 2
1624
347
 
1625
348
  #endif // MSGPACK_V2_UNPACK_HPP