rroonga 3.0.7-x86-mingw32 → 3.0.8-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (481) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +13 -3
  3. data/doc/text/news.textile +8 -0
  4. data/ext/groonga/extconf.rb +1 -3
  5. data/ext/groonga/rb-grn-table-key-support.c +0 -4
  6. data/ext/groonga/rb-grn.h +1 -1
  7. data/lib/1.9/groonga.so +0 -0
  8. data/lib/2.0/groonga.so +0 -0
  9. data/lib/2.1/groonga.so +0 -0
  10. data/rroonga-build.rb +3 -3
  11. data/vendor/local/bin/groonga-benchmark.exe +0 -0
  12. data/vendor/local/bin/groonga.exe +0 -0
  13. data/vendor/local/bin/libgroonga-0.dll +0 -0
  14. data/vendor/local/bin/libmecab-1.dll +0 -0
  15. data/vendor/local/bin/libmsgpack-3.dll +0 -0
  16. data/vendor/local/bin/libmsgpackc-2.dll +0 -0
  17. data/vendor/local/bin/mecab-config +2 -2
  18. data/vendor/local/bin/mecab.exe +0 -0
  19. data/vendor/local/etc/groonga/httpd/groonga-httpd.conf +10 -2
  20. data/vendor/local/include/groonga/groonga.h +30 -1048
  21. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.a +0 -0
  22. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll +0 -0
  23. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll.a +0 -0
  24. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.la +2 -2
  25. data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
  26. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
  27. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
  28. data/vendor/local/lib/groonga/plugins/suggest/suggest.la +2 -2
  29. data/vendor/local/lib/groonga/plugins/table/table.a +0 -0
  30. data/vendor/local/lib/groonga/plugins/table/table.dll +0 -0
  31. data/vendor/local/lib/groonga/plugins/table/table.dll.a +0 -0
  32. data/vendor/local/lib/groonga/plugins/table/table.la +2 -2
  33. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
  34. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
  35. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
  36. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +2 -2
  37. data/vendor/local/lib/libgroonga.a +0 -0
  38. data/vendor/local/lib/libgroonga.dll.a +0 -0
  39. data/vendor/local/lib/libgroonga.la +2 -2
  40. data/vendor/local/lib/libmecab.a +0 -0
  41. data/vendor/local/lib/libmecab.dll.a +0 -0
  42. data/vendor/local/lib/libmecab.la +1 -1
  43. data/vendor/local/lib/libmsgpack.a +0 -0
  44. data/vendor/local/lib/libmsgpack.dll.a +0 -0
  45. data/vendor/local/lib/libmsgpack.la +1 -1
  46. data/vendor/local/lib/libmsgpackc.a +0 -0
  47. data/vendor/local/lib/libmsgpackc.dll.a +0 -0
  48. data/vendor/local/lib/libmsgpackc.la +1 -1
  49. data/vendor/local/lib/pkgconfig/groonga.pc +3 -3
  50. data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
  51. data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
  52. data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
  53. data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
  54. data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
  55. data/vendor/local/sbin/groonga-httpd-restart +85 -49
  56. data/vendor/local/share/doc/groonga/en/html/.buildinfo +2 -2
  57. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/cooperation.txt +77 -0
  58. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/release.txt +17 -0
  59. data/vendor/local/share/doc/groonga/en/html/_sources/index.txt +5 -0
  60. data/vendor/local/share/doc/groonga/en/html/_sources/install/centos.txt +3 -3
  61. data/vendor/local/share/doc/groonga/en/html/_sources/install/debian.txt +3 -3
  62. data/vendor/local/share/doc/groonga/en/html/_sources/install/fedora.txt +4 -4
  63. data/vendor/local/share/doc/groonga/en/html/_sources/install/mac_os_x.txt +3 -3
  64. data/vendor/local/share/doc/groonga/en/html/_sources/install/others.txt +3 -3
  65. data/vendor/local/share/doc/groonga/en/html/_sources/install/solaris.txt +3 -3
  66. data/vendor/local/share/doc/groonga/en/html/_sources/install/ubuntu.txt +3 -3
  67. data/vendor/local/share/doc/groonga/en/html/_sources/install/windows.txt +9 -9
  68. data/vendor/local/share/doc/groonga/en/html/_sources/limitations.txt +8 -0
  69. data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +136 -1
  70. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_cache.txt +114 -0
  71. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_column.txt +92 -0
  72. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_command_version.txt +37 -0
  73. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_ctx.txt +70 -0
  74. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_db.txt +71 -0
  75. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_encoding.txt +49 -0
  76. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_expr.txt +83 -0
  77. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_geo.txt +55 -0
  78. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_hook.txt +67 -0
  79. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_ii.txt +35 -0
  80. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_index_cursor.txt +44 -0
  81. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_info.txt +56 -0
  82. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_match_escalation.txt +39 -0
  83. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_obj.txt +246 -0
  84. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_proc.txt +56 -0
  85. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_search.txt +31 -0
  86. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_table.txt +219 -0
  87. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_table_cursor.txt +109 -0
  88. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_type.txt +31 -0
  89. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_user_data.txt +29 -0
  90. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/cache_limit.txt +63 -31
  91. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/defrag.txt +1 -1
  92. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/delete.txt +85 -34
  93. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/ruby_eval.txt +77 -0
  94. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/select.txt +5 -3
  95. data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga-httpd.txt +218 -1
  96. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/html_untag.txt +19 -15
  97. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/query.txt +16 -19
  98. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/sub_filter.txt +5 -1
  99. data/vendor/local/share/doc/groonga/en/html/_sources/reference/grn_expr/query_syntax.txt +12 -2
  100. data/vendor/local/share/doc/groonga/en/html/_sources/server/package.txt +18 -5
  101. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/match_columns.txt +9 -0
  102. data/vendor/local/share/doc/groonga/en/html/_static/jquery.js +2 -4
  103. data/vendor/local/share/doc/groonga/en/html/_static/searchtools.js +1 -1
  104. data/vendor/local/share/doc/groonga/en/html/characteristic.html +5 -5
  105. data/vendor/local/share/doc/groonga/en/html/community.html +5 -5
  106. data/vendor/local/share/doc/groonga/en/html/contribution.html +60 -55
  107. data/vendor/local/share/doc/groonga/en/html/contribution/development.html +11 -10
  108. data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +10 -10
  109. data/vendor/local/share/doc/groonga/en/html/contribution/development/cooperation.html +219 -0
  110. data/vendor/local/share/doc/groonga/en/html/contribution/development/document.html +26 -26
  111. data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +61 -61
  112. data/vendor/local/share/doc/groonga/en/html/contribution/development/release.html +118 -105
  113. data/vendor/local/share/doc/groonga/en/html/contribution/development/repository.html +5 -5
  114. data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +37 -37
  115. data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +9 -9
  116. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +5 -5
  117. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +5 -5
  118. data/vendor/local/share/doc/groonga/en/html/contribution/report.html +5 -5
  119. data/vendor/local/share/doc/groonga/en/html/development.html +5 -5
  120. data/vendor/local/share/doc/groonga/en/html/development/travis-ci.html +5 -5
  121. data/vendor/local/share/doc/groonga/en/html/genindex.html +638 -6
  122. data/vendor/local/share/doc/groonga/en/html/geolocation_search.html +5 -5
  123. data/vendor/local/share/doc/groonga/en/html/index.html +50 -24
  124. data/vendor/local/share/doc/groonga/en/html/install.html +6 -6
  125. data/vendor/local/share/doc/groonga/en/html/install/centos.html +8 -8
  126. data/vendor/local/share/doc/groonga/en/html/install/debian.html +8 -8
  127. data/vendor/local/share/doc/groonga/en/html/install/fedora.html +11 -11
  128. data/vendor/local/share/doc/groonga/en/html/install/mac_os_x.html +8 -8
  129. data/vendor/local/share/doc/groonga/en/html/install/others.html +8 -8
  130. data/vendor/local/share/doc/groonga/en/html/install/solaris.html +8 -8
  131. data/vendor/local/share/doc/groonga/en/html/install/ubuntu.html +8 -8
  132. data/vendor/local/share/doc/groonga/en/html/install/windows.html +14 -14
  133. data/vendor/local/share/doc/groonga/en/html/limitations.html +13 -5
  134. data/vendor/local/share/doc/groonga/en/html/news.html +308 -152
  135. data/vendor/local/share/doc/groonga/en/html/news/0.x.html +5 -5
  136. data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +5 -5
  137. data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +5 -5
  138. data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +5 -5
  139. data/vendor/local/share/doc/groonga/en/html/news/senna.html +5 -5
  140. data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
  141. data/vendor/local/share/doc/groonga/en/html/reference.html +37 -18
  142. data/vendor/local/share/doc/groonga/en/html/reference/api.html +30 -12
  143. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_cache.html +322 -0
  144. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_column.html +284 -0
  145. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_command_version.html +197 -0
  146. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ctx.html +190 -23
  147. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_db.html +254 -0
  148. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_encoding.html +219 -0
  149. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_expr.html +173 -16
  150. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_geo.html +237 -0
  151. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_hook.html +244 -0
  152. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ii.html +186 -0
  153. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_index_cursor.html +196 -0
  154. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_info.html +237 -0
  155. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_match_escalation.html +200 -0
  156. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_obj.html +648 -0
  157. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_proc.html +227 -0
  158. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_search.html +180 -0
  159. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table.html +546 -0
  160. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table_cursor.html +321 -0
  161. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_type.html +179 -0
  162. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_user_data.html +177 -0
  163. data/vendor/local/share/doc/groonga/en/html/reference/cast.html +5 -5
  164. data/vendor/local/share/doc/groonga/en/html/reference/command.html +17 -16
  165. data/vendor/local/share/doc/groonga/en/html/reference/command/command_version.html +5 -5
  166. data/vendor/local/share/doc/groonga/en/html/reference/command/output_format.html +5 -5
  167. data/vendor/local/share/doc/groonga/en/html/reference/command/return_code.html +6 -6
  168. data/vendor/local/share/doc/groonga/en/html/reference/commands/cache_limit.html +71 -44
  169. data/vendor/local/share/doc/groonga/en/html/reference/commands/check.html +6 -6
  170. data/vendor/local/share/doc/groonga/en/html/reference/commands/clearlock.html +5 -5
  171. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_create.html +5 -5
  172. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_list.html +5 -5
  173. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_remove.html +5 -5
  174. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_rename.html +5 -5
  175. data/vendor/local/share/doc/groonga/en/html/reference/commands/define_selector.html +5 -5
  176. data/vendor/local/share/doc/groonga/en/html/reference/commands/defrag.html +7 -7
  177. data/vendor/local/share/doc/groonga/en/html/reference/commands/delete.html +203 -48
  178. data/vendor/local/share/doc/groonga/en/html/reference/commands/dump.html +6 -6
  179. data/vendor/local/share/doc/groonga/en/html/reference/commands/load.html +5 -5
  180. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_level.html +5 -5
  181. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_put.html +5 -5
  182. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_reopen.html +5 -5
  183. data/vendor/local/share/doc/groonga/en/html/reference/commands/normalize.html +5 -5
  184. data/vendor/local/share/doc/groonga/en/html/reference/commands/quit.html +5 -5
  185. data/vendor/local/share/doc/groonga/en/html/reference/commands/register.html +10 -10
  186. data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_eval.html +219 -0
  187. data/vendor/local/share/doc/groonga/en/html/reference/commands/select.html +94 -94
  188. data/vendor/local/share/doc/groonga/en/html/reference/commands/shutdown.html +27 -27
  189. data/vendor/local/share/doc/groonga/en/html/reference/commands/status.html +33 -33
  190. data/vendor/local/share/doc/groonga/en/html/reference/commands/suggest.html +31 -31
  191. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_create.html +47 -47
  192. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_list.html +27 -27
  193. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_remove.html +29 -29
  194. data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenize.html +39 -39
  195. data/vendor/local/share/doc/groonga/en/html/reference/commands/truncate.html +25 -25
  196. data/vendor/local/share/doc/groonga/en/html/reference/commands_not_implemented/add.html +5 -5
  197. data/vendor/local/share/doc/groonga/en/html/reference/commands_not_implemented/get.html +5 -5
  198. data/vendor/local/share/doc/groonga/en/html/reference/commands_not_implemented/set.html +5 -5
  199. data/vendor/local/share/doc/groonga/en/html/reference/executables.html +5 -5
  200. data/vendor/local/share/doc/groonga/en/html/reference/executables/grnslap.html +5 -5
  201. data/vendor/local/share/doc/groonga/en/html/reference/executables/grntest.html +5 -5
  202. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-httpd.html +219 -12
  203. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-server-http.html +5 -5
  204. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-create-dataset.html +5 -5
  205. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga.html +5 -5
  206. data/vendor/local/share/doc/groonga/en/html/reference/function.html +5 -5
  207. data/vendor/local/share/doc/groonga/en/html/reference/functions/edit_distance.html +5 -5
  208. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_distance.html +5 -5
  209. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_circle.html +5 -5
  210. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_rectangle.html +5 -5
  211. data/vendor/local/share/doc/groonga/en/html/reference/functions/html_untag.html +31 -28
  212. data/vendor/local/share/doc/groonga/en/html/reference/functions/now.html +5 -5
  213. data/vendor/local/share/doc/groonga/en/html/reference/functions/query.html +22 -23
  214. data/vendor/local/share/doc/groonga/en/html/reference/functions/rand.html +5 -5
  215. data/vendor/local/share/doc/groonga/en/html/reference/functions/snippet_html.html +5 -5
  216. data/vendor/local/share/doc/groonga/en/html/reference/functions/sub_filter.html +9 -6
  217. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr.html +5 -5
  218. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/query_syntax.html +17 -7
  219. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/script_syntax.html +5 -5
  220. data/vendor/local/share/doc/groonga/en/html/reference/indexing.html +5 -5
  221. data/vendor/local/share/doc/groonga/en/html/reference/log.html +5 -5
  222. data/vendor/local/share/doc/groonga/en/html/reference/normalizers.html +5 -5
  223. data/vendor/local/share/doc/groonga/en/html/reference/output.html +5 -5
  224. data/vendor/local/share/doc/groonga/en/html/reference/pseudo_column.html +5 -5
  225. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders.html +5 -5
  226. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders/tsv.html +5 -5
  227. data/vendor/local/share/doc/groonga/en/html/reference/tables.html +5 -5
  228. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers.html +5 -5
  229. data/vendor/local/share/doc/groonga/en/html/reference/types.html +9 -9
  230. data/vendor/local/share/doc/groonga/en/html/search.html +5 -5
  231. data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
  232. data/vendor/local/share/doc/groonga/en/html/server.html +5 -5
  233. data/vendor/local/share/doc/groonga/en/html/server/gqtp.html +5 -5
  234. data/vendor/local/share/doc/groonga/en/html/server/http.html +5 -5
  235. data/vendor/local/share/doc/groonga/en/html/server/http/comparison.html +5 -5
  236. data/vendor/local/share/doc/groonga/en/html/server/http/groonga-httpd.html +5 -5
  237. data/vendor/local/share/doc/groonga/en/html/server/http/groonga.html +5 -5
  238. data/vendor/local/share/doc/groonga/en/html/server/package.html +22 -8
  239. data/vendor/local/share/doc/groonga/en/html/spec.html +10 -10
  240. data/vendor/local/share/doc/groonga/en/html/spec/gqtp.html +5 -5
  241. data/vendor/local/share/doc/groonga/en/html/spec/search.html +5 -5
  242. data/vendor/local/share/doc/groonga/en/html/suggest.html +5 -5
  243. data/vendor/local/share/doc/groonga/en/html/suggest/completion.html +5 -5
  244. data/vendor/local/share/doc/groonga/en/html/suggest/correction.html +5 -5
  245. data/vendor/local/share/doc/groonga/en/html/suggest/introduction.html +5 -5
  246. data/vendor/local/share/doc/groonga/en/html/suggest/suggestion.html +5 -5
  247. data/vendor/local/share/doc/groonga/en/html/suggest/tutorial.html +5 -5
  248. data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +5 -5
  249. data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +5 -5
  250. data/vendor/local/share/doc/groonga/en/html/tutorial.html +5 -5
  251. data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +5 -5
  252. data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +5 -5
  253. data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +5 -5
  254. data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +8 -8
  255. data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +5 -5
  256. data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +14 -5
  257. data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +5 -5
  258. data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +12 -12
  259. data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +5 -5
  260. data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +5 -5
  261. data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +5 -5
  262. data/vendor/local/share/doc/groonga/ja/html/.buildinfo +2 -2
  263. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/cooperation.txt +77 -0
  264. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/release.txt +17 -0
  265. data/vendor/local/share/doc/groonga/ja/html/_sources/index.txt +5 -0
  266. data/vendor/local/share/doc/groonga/ja/html/_sources/install/centos.txt +3 -3
  267. data/vendor/local/share/doc/groonga/ja/html/_sources/install/debian.txt +3 -3
  268. data/vendor/local/share/doc/groonga/ja/html/_sources/install/fedora.txt +4 -4
  269. data/vendor/local/share/doc/groonga/ja/html/_sources/install/mac_os_x.txt +3 -3
  270. data/vendor/local/share/doc/groonga/ja/html/_sources/install/others.txt +3 -3
  271. data/vendor/local/share/doc/groonga/ja/html/_sources/install/solaris.txt +3 -3
  272. data/vendor/local/share/doc/groonga/ja/html/_sources/install/ubuntu.txt +3 -3
  273. data/vendor/local/share/doc/groonga/ja/html/_sources/install/windows.txt +9 -9
  274. data/vendor/local/share/doc/groonga/ja/html/_sources/limitations.txt +8 -0
  275. data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +136 -1
  276. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_cache.txt +114 -0
  277. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_column.txt +92 -0
  278. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_command_version.txt +37 -0
  279. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_ctx.txt +70 -0
  280. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_db.txt +71 -0
  281. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_encoding.txt +49 -0
  282. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_expr.txt +83 -0
  283. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_geo.txt +55 -0
  284. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_hook.txt +67 -0
  285. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_ii.txt +35 -0
  286. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_index_cursor.txt +44 -0
  287. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_info.txt +56 -0
  288. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_match_escalation.txt +39 -0
  289. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_obj.txt +246 -0
  290. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_proc.txt +56 -0
  291. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_search.txt +31 -0
  292. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_table.txt +219 -0
  293. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_table_cursor.txt +109 -0
  294. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_type.txt +31 -0
  295. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_user_data.txt +29 -0
  296. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/cache_limit.txt +63 -31
  297. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/defrag.txt +1 -1
  298. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/delete.txt +85 -34
  299. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/ruby_eval.txt +77 -0
  300. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/select.txt +5 -3
  301. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga-httpd.txt +218 -1
  302. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/html_untag.txt +19 -15
  303. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/query.txt +16 -19
  304. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/sub_filter.txt +5 -1
  305. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/grn_expr/query_syntax.txt +12 -2
  306. data/vendor/local/share/doc/groonga/ja/html/_sources/server/package.txt +18 -5
  307. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/match_columns.txt +9 -0
  308. data/vendor/local/share/doc/groonga/ja/html/_static/jquery.js +2 -4
  309. data/vendor/local/share/doc/groonga/ja/html/_static/searchtools.js +1 -1
  310. data/vendor/local/share/doc/groonga/ja/html/characteristic.html +6 -6
  311. data/vendor/local/share/doc/groonga/ja/html/community.html +6 -6
  312. data/vendor/local/share/doc/groonga/ja/html/contribution.html +61 -56
  313. data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +12 -11
  314. data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +11 -11
  315. data/vendor/local/share/doc/groonga/ja/html/contribution/development/cooperation.html +220 -0
  316. data/vendor/local/share/doc/groonga/ja/html/contribution/development/document.html +27 -27
  317. data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +62 -62
  318. data/vendor/local/share/doc/groonga/ja/html/contribution/development/release.html +119 -106
  319. data/vendor/local/share/doc/groonga/ja/html/contribution/development/repository.html +6 -6
  320. data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +38 -38
  321. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +10 -10
  322. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +6 -6
  323. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +7 -7
  324. data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +6 -6
  325. data/vendor/local/share/doc/groonga/ja/html/development.html +6 -6
  326. data/vendor/local/share/doc/groonga/ja/html/development/travis-ci.html +6 -6
  327. data/vendor/local/share/doc/groonga/ja/html/genindex.html +642 -10
  328. data/vendor/local/share/doc/groonga/ja/html/geolocation_search.html +6 -6
  329. data/vendor/local/share/doc/groonga/ja/html/index.html +50 -25
  330. data/vendor/local/share/doc/groonga/ja/html/install.html +7 -7
  331. data/vendor/local/share/doc/groonga/ja/html/install/centos.html +9 -9
  332. data/vendor/local/share/doc/groonga/ja/html/install/debian.html +9 -9
  333. data/vendor/local/share/doc/groonga/ja/html/install/fedora.html +12 -12
  334. data/vendor/local/share/doc/groonga/ja/html/install/mac_os_x.html +9 -9
  335. data/vendor/local/share/doc/groonga/ja/html/install/others.html +9 -9
  336. data/vendor/local/share/doc/groonga/ja/html/install/solaris.html +9 -9
  337. data/vendor/local/share/doc/groonga/ja/html/install/ubuntu.html +9 -9
  338. data/vendor/local/share/doc/groonga/ja/html/install/windows.html +15 -15
  339. data/vendor/local/share/doc/groonga/ja/html/limitations.html +15 -6
  340. data/vendor/local/share/doc/groonga/ja/html/news.html +336 -154
  341. data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +6 -6
  342. data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +6 -6
  343. data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +6 -6
  344. data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +6 -6
  345. data/vendor/local/share/doc/groonga/ja/html/news/senna.html +6 -6
  346. data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
  347. data/vendor/local/share/doc/groonga/ja/html/reference.html +38 -19
  348. data/vendor/local/share/doc/groonga/ja/html/reference/api.html +31 -13
  349. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_cache.html +319 -0
  350. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_column.html +285 -0
  351. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_command_version.html +198 -0
  352. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ctx.html +191 -24
  353. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_db.html +255 -0
  354. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_encoding.html +220 -0
  355. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_expr.html +172 -17
  356. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_geo.html +238 -0
  357. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_hook.html +245 -0
  358. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ii.html +187 -0
  359. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_index_cursor.html +197 -0
  360. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_info.html +238 -0
  361. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_match_escalation.html +201 -0
  362. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_obj.html +649 -0
  363. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_proc.html +228 -0
  364. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_search.html +181 -0
  365. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table.html +547 -0
  366. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table_cursor.html +322 -0
  367. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_type.html +180 -0
  368. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_user_data.html +178 -0
  369. data/vendor/local/share/doc/groonga/ja/html/reference/cast.html +6 -6
  370. data/vendor/local/share/doc/groonga/ja/html/reference/command.html +18 -17
  371. data/vendor/local/share/doc/groonga/ja/html/reference/command/command_version.html +6 -6
  372. data/vendor/local/share/doc/groonga/ja/html/reference/command/output_format.html +6 -6
  373. data/vendor/local/share/doc/groonga/ja/html/reference/command/return_code.html +7 -7
  374. data/vendor/local/share/doc/groonga/ja/html/reference/commands/cache_limit.html +64 -45
  375. data/vendor/local/share/doc/groonga/ja/html/reference/commands/check.html +7 -7
  376. data/vendor/local/share/doc/groonga/ja/html/reference/commands/clearlock.html +6 -6
  377. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_create.html +6 -6
  378. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_list.html +6 -6
  379. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_remove.html +6 -6
  380. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_rename.html +6 -6
  381. data/vendor/local/share/doc/groonga/ja/html/reference/commands/define_selector.html +6 -6
  382. data/vendor/local/share/doc/groonga/ja/html/reference/commands/defrag.html +8 -8
  383. data/vendor/local/share/doc/groonga/ja/html/reference/commands/delete.html +207 -49
  384. data/vendor/local/share/doc/groonga/ja/html/reference/commands/dump.html +7 -7
  385. data/vendor/local/share/doc/groonga/ja/html/reference/commands/load.html +6 -6
  386. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_level.html +6 -6
  387. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_put.html +6 -6
  388. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_reopen.html +6 -6
  389. data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalize.html +6 -6
  390. data/vendor/local/share/doc/groonga/ja/html/reference/commands/quit.html +6 -6
  391. data/vendor/local/share/doc/groonga/ja/html/reference/commands/register.html +11 -11
  392. data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_eval.html +222 -0
  393. data/vendor/local/share/doc/groonga/ja/html/reference/commands/select.html +95 -95
  394. data/vendor/local/share/doc/groonga/ja/html/reference/commands/shutdown.html +28 -28
  395. data/vendor/local/share/doc/groonga/ja/html/reference/commands/status.html +34 -34
  396. data/vendor/local/share/doc/groonga/ja/html/reference/commands/suggest.html +32 -32
  397. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_create.html +48 -48
  398. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_list.html +28 -28
  399. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_remove.html +30 -30
  400. data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenize.html +40 -40
  401. data/vendor/local/share/doc/groonga/ja/html/reference/commands/truncate.html +26 -26
  402. data/vendor/local/share/doc/groonga/ja/html/reference/commands_not_implemented/add.html +6 -6
  403. data/vendor/local/share/doc/groonga/ja/html/reference/commands_not_implemented/get.html +6 -6
  404. data/vendor/local/share/doc/groonga/ja/html/reference/commands_not_implemented/set.html +6 -6
  405. data/vendor/local/share/doc/groonga/ja/html/reference/executables.html +6 -6
  406. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grnslap.html +6 -6
  407. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grntest.html +6 -6
  408. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-httpd.html +194 -12
  409. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-server-http.html +6 -6
  410. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-create-dataset.html +6 -6
  411. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga.html +6 -6
  412. data/vendor/local/share/doc/groonga/ja/html/reference/function.html +6 -6
  413. data/vendor/local/share/doc/groonga/ja/html/reference/functions/edit_distance.html +6 -6
  414. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_distance.html +6 -6
  415. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_circle.html +6 -6
  416. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_rectangle.html +6 -6
  417. data/vendor/local/share/doc/groonga/ja/html/reference/functions/html_untag.html +31 -29
  418. data/vendor/local/share/doc/groonga/ja/html/reference/functions/now.html +6 -6
  419. data/vendor/local/share/doc/groonga/ja/html/reference/functions/query.html +20 -23
  420. data/vendor/local/share/doc/groonga/ja/html/reference/functions/rand.html +6 -6
  421. data/vendor/local/share/doc/groonga/ja/html/reference/functions/snippet_html.html +6 -6
  422. data/vendor/local/share/doc/groonga/ja/html/reference/functions/sub_filter.html +10 -15
  423. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr.html +6 -6
  424. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/query_syntax.html +11 -7
  425. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/script_syntax.html +6 -6
  426. data/vendor/local/share/doc/groonga/ja/html/reference/indexing.html +6 -6
  427. data/vendor/local/share/doc/groonga/ja/html/reference/log.html +6 -6
  428. data/vendor/local/share/doc/groonga/ja/html/reference/normalizers.html +6 -6
  429. data/vendor/local/share/doc/groonga/ja/html/reference/output.html +6 -6
  430. data/vendor/local/share/doc/groonga/ja/html/reference/pseudo_column.html +6 -6
  431. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders.html +6 -6
  432. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders/tsv.html +6 -6
  433. data/vendor/local/share/doc/groonga/ja/html/reference/tables.html +6 -6
  434. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers.html +6 -6
  435. data/vendor/local/share/doc/groonga/ja/html/reference/types.html +10 -10
  436. data/vendor/local/share/doc/groonga/ja/html/search.html +5 -5
  437. data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
  438. data/vendor/local/share/doc/groonga/ja/html/server.html +6 -6
  439. data/vendor/local/share/doc/groonga/ja/html/server/gqtp.html +6 -6
  440. data/vendor/local/share/doc/groonga/ja/html/server/http.html +6 -6
  441. data/vendor/local/share/doc/groonga/ja/html/server/http/comparison.html +6 -6
  442. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga-httpd.html +6 -6
  443. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga.html +6 -6
  444. data/vendor/local/share/doc/groonga/ja/html/server/package.html +17 -10
  445. data/vendor/local/share/doc/groonga/ja/html/spec.html +11 -11
  446. data/vendor/local/share/doc/groonga/ja/html/spec/gqtp.html +6 -6
  447. data/vendor/local/share/doc/groonga/ja/html/spec/search.html +6 -6
  448. data/vendor/local/share/doc/groonga/ja/html/suggest.html +6 -6
  449. data/vendor/local/share/doc/groonga/ja/html/suggest/completion.html +6 -6
  450. data/vendor/local/share/doc/groonga/ja/html/suggest/correction.html +6 -6
  451. data/vendor/local/share/doc/groonga/ja/html/suggest/introduction.html +6 -6
  452. data/vendor/local/share/doc/groonga/ja/html/suggest/suggestion.html +6 -6
  453. data/vendor/local/share/doc/groonga/ja/html/suggest/tutorial.html +6 -6
  454. data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +6 -6
  455. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +6 -6
  456. data/vendor/local/share/doc/groonga/ja/html/tutorial.html +6 -6
  457. data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +6 -6
  458. data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +6 -6
  459. data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +6 -6
  460. data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +9 -9
  461. data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +6 -6
  462. data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +16 -6
  463. data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +6 -6
  464. data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +13 -13
  465. data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +6 -6
  466. data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +6 -6
  467. data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +6 -6
  468. data/vendor/local/share/groonga/examples/dictionary/edict/edict-import.sh +0 -0
  469. data/vendor/local/share/groonga/examples/dictionary/edict/edict2grn.rb +0 -0
  470. data/vendor/local/share/groonga/examples/dictionary/eijiro/eijiro-import.sh +0 -0
  471. data/vendor/local/share/groonga/examples/dictionary/eijiro/eijiro2grn.rb +0 -0
  472. data/vendor/local/share/groonga/examples/dictionary/gene95/gene-import.sh +0 -0
  473. data/vendor/local/share/groonga/examples/dictionary/gene95/gene2grn.rb +0 -0
  474. data/vendor/local/share/groonga/examples/dictionary/init-db.sh +0 -0
  475. data/vendor/local/share/groonga/examples/dictionary/jmdict/jmdict.rb +0 -0
  476. data/vendor/local/share/groonga/html/admin/css/groonga-admin.css +4 -0
  477. data/vendor/local/share/groonga/html/admin/index.html +28 -26
  478. data/vendor/local/share/groonga/html/admin/js/groonga-admin.js +13 -5
  479. data/vendor/local/share/man/ja/man1/groonga.1 +3418 -350
  480. data/vendor/local/share/man/man1/groonga.1 +3485 -348
  481. metadata +116 -63
@@ -1,4 +1,4 @@
1
- .TH "GROONGA" "1" "June 27, 2013" "3.0.5" "groonga"
1
+ .TH "GROONGA" "1" "September 27, 2013" "3.0.8" "groonga"
2
2
  .SH NAME
3
3
  groonga \- groonga documentation
4
4
  .
@@ -34,6 +34,14 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
34
34
  .IP \(bu 2
35
35
  \fBnews\fP
36
36
  .UNINDENT
37
+ .sp
38
+ \fBNOTE:\fP
39
+ .INDENT 0.0
40
+ .INDENT 3.5
41
+ This document is also ditributed in forms of release source archive and updated time to time.
42
+ If you want to refer latest documentation in source form, you can view such files via GitHub repository browser (\fI\%https://github.com/groonga/groonga/tree/master/doc/source\fP).
43
+ .UNINDENT
44
+ .UNINDENT
37
45
  .SH CHARACTERISTICS OF GROONGA
38
46
  .SS Groonga overview
39
47
  .sp
@@ -114,7 +122,7 @@ Start command prompt \fBcmd.exe\fP and download x86 executable binary by default
114
122
  .sp
115
123
  .nf
116
124
  .ft C
117
- > "c:\e\eProgram Files\e\eInternet Explorer\e\eiexplore.exe" http://packages.groonga.org/windows/groonga/groonga\-3.0.5\-x86.exe
125
+ > "c:\e\eProgram Files\e\eInternet Explorer\e\eiexplore.exe" http://packages.groonga.org/windows/groonga/groonga\-3.0.8\-x86.exe
118
126
  .ft P
119
127
  .fi
120
128
  .UNINDENT
@@ -130,7 +138,7 @@ Start command prompt \fBcmd.exe\fP and download x64 executable binary by default
130
138
  .sp
131
139
  .nf
132
140
  .ft C
133
- > "c:\e\eProgram Files\e\eInternet Explorer\e\eiexplore.exe" http://packages.groonga.org/windows/groonga/groonga\-3.0.5\-x64.exe
141
+ > "c:\e\eProgram Files\e\eInternet Explorer\e\eiexplore.exe" http://packages.groonga.org/windows/groonga/groonga\-3.0.8\-x64.exe
134
142
  .ft P
135
143
  .fi
136
144
  .UNINDENT
@@ -151,7 +159,7 @@ Start command prompt \fBcmd.exe\fP and download x86 zip archive by default brows
151
159
  .sp
152
160
  .nf
153
161
  .ft C
154
- > "c:\e\eProgram Files\e\eInternet Explorer\e\eiexplore.exe" http://packages.groonga.org/windows/groonga/groonga\-3.0.5\-x86.zip
162
+ > "c:\e\eProgram Files\e\eInternet Explorer\e\eiexplore.exe" http://packages.groonga.org/windows/groonga/groonga\-3.0.8\-x86.zip
155
163
  .ft P
156
164
  .fi
157
165
  .UNINDENT
@@ -167,7 +175,7 @@ Start command prompt \fBcmd.exe\fP and download x64 zip archive by default brows
167
175
  .sp
168
176
  .nf
169
177
  .ft C
170
- > "c:\e\eProgram Files\e\eInternet Explorer\e\eiexplore.exe" http://packages.groonga.org/windows/groonga/groonga\-3.0.5\-x64.zip
178
+ > "c:\e\eProgram Files\e\eInternet Explorer\e\eiexplore.exe" http://packages.groonga.org/windows/groonga/groonga\-3.0.8\-x64.zip
171
179
  .ft P
172
180
  .fi
173
181
  .UNINDENT
@@ -203,7 +211,7 @@ Visual Studio 2010 Express and download it by default browser:
203
211
  .nf
204
212
  .ft C
205
213
  > cd c:\eUsers\e%USERNAME%\eDownloads
206
- > "c:\e\eProgram Files\e\eInternet Explorer\e\eiexplore.exe" http://packages.groonga.org/source/groonga/groonga\-3.0.5.zip
214
+ > "c:\e\eProgram Files\e\eInternet Explorer\e\eiexplore.exe" http://packages.groonga.org/source/groonga/groonga\-3.0.8.zip
207
215
  .ft P
208
216
  .fi
209
217
  .UNINDENT
@@ -217,7 +225,7 @@ Move to the groonga\(aqs source folder:
217
225
  .sp
218
226
  .nf
219
227
  .ft C
220
- > cd c:\eUsers\e%USERNAME%\eDownloads\egroonga\-3.0.5
228
+ > cd c:\eUsers\e%USERNAME%\eDownloads\egroonga\-3.0.8
221
229
  .ft P
222
230
  .fi
223
231
  .UNINDENT
@@ -231,7 +239,7 @@ parameter instead:
231
239
  .sp
232
240
  .nf
233
241
  .ft C
234
- groonga\-3.0.5> cmake . \-G "Visual Studio 10 Win64" \-DCMAKE_INSTALL_PREFIX=C:\egroonga
242
+ groonga\-3.0.8> cmake . \-G "Visual Studio 10 Win64" \-DCMAKE_INSTALL_PREFIX=C:\egroonga
235
243
  .ft P
236
244
  .fi
237
245
  .UNINDENT
@@ -243,7 +251,7 @@ Build:
243
251
  .sp
244
252
  .nf
245
253
  .ft C
246
- groonga\-3.0.5> cmake \-\-build . \-\-config Release
254
+ groonga\-3.0.8> cmake \-\-build . \-\-config Release
247
255
  .ft P
248
256
  .fi
249
257
  .UNINDENT
@@ -255,7 +263,7 @@ Install:
255
263
  .sp
256
264
  .nf
257
265
  .ft C
258
- groonga\-3.0.5> cmake \-\-build . \-\-config Release \-\-target Install
266
+ groonga\-3.0.8> cmake \-\-build . \-\-config Release \-\-target Install
259
267
  .ft P
260
268
  .fi
261
269
  .UNINDENT
@@ -309,9 +317,9 @@ Download source:
309
317
  .sp
310
318
  .nf
311
319
  .ft C
312
- % curl \-O http://packages.groonga.org/source/groonga/groonga\-3.0.5.tar.gz
313
- % tar xvzf groonga\-3.0.5.tar.gz
314
- % cd groonga\-3.0.5
320
+ % curl \-O http://packages.groonga.org/source/groonga/groonga\-3.0.8.tar.gz
321
+ % tar xvzf groonga\-3.0.8.tar.gz
322
+ % cd groonga\-3.0.8
315
323
  .ft P
316
324
  .fi
317
325
  .UNINDENT
@@ -711,9 +719,9 @@ Download source:
711
719
  .sp
712
720
  .nf
713
721
  .ft C
714
- % wget http://packages.groonga.org/source/groonga/groonga\-3.0.5.tar.gz
715
- % tar xvzf groonga\-3.0.5.tar.gz
716
- % cd groonga\-3.0.5
722
+ % wget http://packages.groonga.org/source/groonga/groonga\-3.0.8.tar.gz
723
+ % tar xvzf groonga\-3.0.8.tar.gz
724
+ % cd groonga\-3.0.8
717
725
  .ft P
718
726
  .fi
719
727
  .UNINDENT
@@ -1185,9 +1193,9 @@ Download source:
1185
1193
  .sp
1186
1194
  .nf
1187
1195
  .ft C
1188
- % wget http://packages.groonga.org/source/groonga/groonga\-3.0.5.tar.gz
1189
- % tar xvzf groonga\-3.0.5.tar.gz
1190
- % cd groonga\-3.0.5
1196
+ % wget http://packages.groonga.org/source/groonga/groonga\-3.0.8.tar.gz
1197
+ % tar xvzf groonga\-3.0.8.tar.gz
1198
+ % cd groonga\-3.0.8
1191
1199
  .ft P
1192
1200
  .fi
1193
1201
  .UNINDENT
@@ -1525,9 +1533,9 @@ Download source:
1525
1533
  .sp
1526
1534
  .nf
1527
1535
  .ft C
1528
- % wget http://packages.groonga.org/source/groonga/groonga\-3.0.5.tar.gz
1529
- % tar xvzf groonga\-3.0.5.tar.gz
1530
- % cd groonga\-3.0.5
1536
+ % wget http://packages.groonga.org/source/groonga/groonga\-3.0.8.tar.gz
1537
+ % tar xvzf groonga\-3.0.8.tar.gz
1538
+ % cd groonga\-3.0.8
1531
1539
  .ft P
1532
1540
  .fi
1533
1541
  .UNINDENT
@@ -1612,7 +1620,7 @@ groonga\-server\-gqtp (GQTP protocol based server package)
1612
1620
  See \fB/server\fP section about details.
1613
1621
  .UNINDENT
1614
1622
  .UNINDENT
1615
- .SS Fedora 18
1623
+ .SS Fedora
1616
1624
  .sp
1617
1625
  Install:
1618
1626
  .INDENT 0.0
@@ -1732,9 +1740,9 @@ Download source:
1732
1740
  .sp
1733
1741
  .nf
1734
1742
  .ft C
1735
- % wget http://packages.groonga.org/source/groonga/groonga\-3.0.5.tar.gz
1736
- % tar xvzf groonga\-3.0.5.tar.gz
1737
- % cd groonga\-3.0.5
1743
+ % wget http://packages.groonga.org/source/groonga/groonga\-3.0.8.tar.gz
1744
+ % tar xvzf groonga\-3.0.8.tar.gz
1745
+ % cd groonga\-3.0.8
1738
1746
  .ft P
1739
1747
  .fi
1740
1748
  .UNINDENT
@@ -1799,9 +1807,9 @@ Download source:
1799
1807
  .sp
1800
1808
  .nf
1801
1809
  .ft C
1802
- % wget http://packages.groonga.org/source/groonga/groonga\-3.0.5.tar.gz
1803
- % gtar xvzf groonga\-3.0.5.tar.gz
1804
- % cd groonga\-3.0.5
1810
+ % wget http://packages.groonga.org/source/groonga/groonga\-3.0.8.tar.gz
1811
+ % gtar xvzf groonga\-3.0.8.tar.gz
1812
+ % cd groonga\-3.0.8
1805
1813
  .ft P
1806
1814
  .fi
1807
1815
  .UNINDENT
@@ -1889,7 +1897,7 @@ Here are optional tools:
1889
1897
  .INDENT 3.5
1890
1898
  .INDENT 0.0
1891
1899
  .IP \(bu 2
1892
- \fI\%pkg-config\fP for
1900
+ \fI\%pkg\-config\fP for
1893
1901
  detecting libraries
1894
1902
  .IP \(bu 2
1895
1903
  \fI\%sudo\fP for installing built
@@ -1941,9 +1949,9 @@ steps:
1941
1949
  .sp
1942
1950
  .nf
1943
1951
  .ft C
1944
- % wget http://packages.groonga.org/source/groonga/groonga\-3.0.5.tar.gz
1945
- % tar xvzf groonga\-3.0.5.tar.gz
1946
- % cd groonga\-3.0.5
1952
+ % wget http://packages.groonga.org/source/groonga/groonga\-3.0.8.tar.gz
1953
+ % tar xvzf groonga\-3.0.8.tar.gz
1954
+ % cd groonga\-3.0.8
1947
1955
  % ./configure
1948
1956
  % make
1949
1957
  % sudo make install
@@ -2228,10 +2236,10 @@ There are mailing lists for discussion about groonga.
2228
2236
  .INDENT 0.0
2229
2237
  .TP
2230
2238
  .B For English speakers
2231
- \fI\%groonga-talk@lists.sourceforge.net\fP
2239
+ \fI\%groonga\-talk@lists.sourceforge.net\fP
2232
2240
  .TP
2233
2241
  .B For Japanese speakers
2234
- \fI\%groonga-dev@lists.sourceforge.jp\fP
2242
+ \fI\%groonga\-dev@lists.sourceforge.jp\fP
2235
2243
  .UNINDENT
2236
2244
  .SS Twitter
2237
2245
  .sp
@@ -2324,10 +2332,10 @@ status
2324
2332
  # "max_command_version": 2,
2325
2333
  # "n_queries": 0,
2326
2334
  # "cache_hit_rate": 0.0,
2327
- # "version": "3.0.5",
2328
- # "alloc_count": 157,
2335
+ # "version": "3.0.7",
2336
+ # "alloc_count": 154,
2329
2337
  # "command_version": 1,
2330
- # "starttime": 1372040812,
2338
+ # "starttime": 1377493494,
2331
2339
  # "default_command_version": 1
2332
2340
  # }
2333
2341
  # ]
@@ -3478,10 +3486,10 @@ status
3478
3486
  # "max_command_version": 2,
3479
3487
  # "n_queries": 0,
3480
3488
  # "cache_hit_rate": 0.0,
3481
- # "version": "3.0.5",
3482
- # "alloc_count": 136,
3489
+ # "version": "3.0.7",
3490
+ # "alloc_count": 133,
3483
3491
  # "command_version": 1,
3484
- # "starttime": 1372040831,
3492
+ # "starttime": 1377493621,
3485
3493
  # "default_command_version": 1
3486
3494
  # }
3487
3495
  # ]
@@ -3590,14 +3598,14 @@ status
3590
3598
  # 0.000355720520019531
3591
3599
  # ],
3592
3600
  # {
3593
- # "uptime": 0,
3601
+ # "uptime": 1,
3594
3602
  # "max_command_version": 2,
3595
3603
  # "n_queries": 0,
3596
3604
  # "cache_hit_rate": 0.0,
3597
- # "version": "3.0.5",
3598
- # "alloc_count": 137,
3605
+ # "version": "3.0.7",
3606
+ # "alloc_count": 134,
3599
3607
  # "command_version": 1,
3600
- # "starttime": 1372040831,
3608
+ # "starttime": 1377493621,
3601
3609
  # "default_command_version": 1
3602
3610
  # }
3603
3611
  # ]
@@ -6127,6 +6135,20 @@ select \-\-table Blog2 \-\-match_columns title \-\-query message
6127
6135
  .fi
6128
6136
  .UNINDENT
6129
6137
  .UNINDENT
6138
+ .sp
6139
+ \fBNOTE:\fP
6140
+ .INDENT 0.0
6141
+ .INDENT 3.5
6142
+ There may be a question that "which is the better solution for indexing."
6143
+ It depends on the case.
6144
+ .INDENT 0.0
6145
+ .IP \(bu 2
6146
+ Indexes for each column \- The update performance tends to be better than multiple colum index because there is enough buffer for updating. On the other hand, the efficiency of disk usage is not so good.
6147
+ .IP \(bu 2
6148
+ Indexes for multiple column \- It saves disk usage because it shares common buffer. On the other hand, the update performance is not so good.
6149
+ .UNINDENT
6150
+ .UNINDENT
6151
+ .UNINDENT
6130
6152
  .SS インデックス名を指定した全文検索
6131
6153
  .sp
6132
6154
  執筆中です。
@@ -8821,12 +8843,32 @@ There are three packages for server use.
8821
8843
  .IP \(bu 2
8822
8844
  \fBgroonga\-server\-http\fP (simple HTTP protocol based server package)
8823
8845
  .IP \(bu 2
8824
- \fBgroonga\-server\-gqtp\fP (GQTP protocol based server package)
8846
+ \fBgroonga\-server\-gqtp\fP (\fB/spec/gqtp\fP protocol based server package)
8825
8847
  .UNINDENT
8826
8848
  .sp
8827
- Note that there is a conflict between \fBgroonga\-httpd\fP and \fBgroonga\-server\-http\fP
8849
+ There is the reason why groonga supports not only GQTP but also two HTTP server
8850
+ packages. \fB/spec/gqtp\fP \- Groonga Query Transfer Protocol is desined to reduce overheads
8851
+ and improve performance. But, GQTP is less support of client library than HTTP protocol does.
8852
+ As HTTP is matured protocol, you can take advantage of existing tool and there are many client
8853
+ library (See \fI\%related projects\fP for details).
8854
+ If you use \fBgroonga\-httpd\fP package, you can also take benefits of nginx functionality.
8855
+ .sp
8856
+ We recommend to use \fBgroonga\-server\-http\fP at first, then if you want to use more
8857
+ fullfilling functionality, use \fBgroonga\-httpd\fP package. If you have performance issues which
8858
+ is derived from protocol overheads, consider to use \fBgroonga\-server\-gqtp\fP.
8859
+ .INDENT 0.0
8860
+ .INDENT 3.5
8861
+ .sp
8862
+ \fBNOTE:\fP
8863
+ .INDENT 0.0
8864
+ .INDENT 3.5
8865
+ There is a conflict between \fBgroonga\-httpd\fP and \fBgroonga\-server\-http\fP
8828
8866
  package because of port number.
8829
8867
  See \fB/server/http/comparison\fP if you want to know which package meets your demands.
8868
+ .UNINDENT
8869
+ .UNINDENT
8870
+ .UNINDENT
8871
+ .UNINDENT
8830
8872
  .SS groonga\-httpd
8831
8873
  .sp
8832
8874
  \fBgroonga\-httpd\fP is a nginx and HTTP protocol based server package.
@@ -9089,7 +9131,7 @@ Restarting groonga HTTP server(Fedora):
9089
9131
  .UNINDENT
9090
9132
  .SS groonga\-server\-gqtp
9091
9133
  .sp
9092
- \fBgroonga\-server\-gqtp\fP is a GQTP protocol based server package.
9134
+ \fBgroonga\-server\-gqtp\fP is a \fB/spec/gqtp\fP protocol based server package.
9093
9135
  .TS
9094
9136
  center;
9095
9137
  |l|l|.
@@ -10507,14 +10549,14 @@ Execution example:
10507
10549
  0.000355720520019531
10508
10550
  ],
10509
10551
  {
10510
- "uptime": 1,
10552
+ "uptime": 0,
10511
10553
  "max_command_version": 2,
10512
10554
  "n_queries": 0,
10513
10555
  "cache_hit_rate": 0.0,
10514
- "version": "3.0.5",
10515
- "alloc_count": 157,
10556
+ "version": "3.0.7",
10557
+ "alloc_count": 154,
10516
10558
  "command_version": 1,
10517
- "starttime": 1372040796,
10559
+ "starttime": 1377493431,
10518
10560
  "default_command_version": 1
10519
10561
  }
10520
10562
  ]
@@ -10615,6 +10657,9 @@ groonga_database /path/to/groonga/database;
10615
10657
  .sp
10616
10658
  Specifies the path to a groonga database. This is the required
10617
10659
  directive.
10660
+ .SS \fBgroonga_database_auto_create\fP
10661
+ .sp
10662
+ TODO
10618
10663
  .SS \fBgroonga_base_path\fP
10619
10664
  .sp
10620
10665
  Synopsis:
@@ -10678,6 +10723,149 @@ location /d/ {
10678
10723
  .fi
10679
10724
  .UNINDENT
10680
10725
  .UNINDENT
10726
+ .SS \fBgroonga_log_path\fP
10727
+ .sp
10728
+ Synopsis:
10729
+ .INDENT 0.0
10730
+ .INDENT 3.5
10731
+ .sp
10732
+ .nf
10733
+ .ft C
10734
+ groonga_log_path path | off;
10735
+ .ft P
10736
+ .fi
10737
+ .UNINDENT
10738
+ .UNINDENT
10739
+ .INDENT 0.0
10740
+ .TP
10741
+ .B Default
10742
+ \fB/var/log/groonga/httpd/groonga.log\fP
10743
+ .TP
10744
+ .B Context
10745
+ \fBhttp\fP, \fBserver\fP, \fBlocation\fP
10746
+ .UNINDENT
10747
+ .sp
10748
+ Specifies groonga log path in the \fBhttp\fP, \fBserver\fP or \fBlocation\fP block. The
10749
+ default is \fB/var/log/groonga/httpd/groonga.log\fP.
10750
+ You can disable logging to specify \fBoff\fP.
10751
+ .sp
10752
+ Examples:
10753
+ .INDENT 0.0
10754
+ .INDENT 3.5
10755
+ .sp
10756
+ .nf
10757
+ .ft C
10758
+ location /d/ {
10759
+ groonga on;
10760
+ # You can disable log for groonga.
10761
+ groonga_log_path off;
10762
+ }
10763
+ .ft P
10764
+ .fi
10765
+ .UNINDENT
10766
+ .UNINDENT
10767
+ .SS \fBgroonga_log_level\fP
10768
+ .sp
10769
+ Synopsis:
10770
+ .INDENT 0.0
10771
+ .INDENT 3.5
10772
+ .sp
10773
+ .nf
10774
+ .ft C
10775
+ groonga_log_level none | emergency | alert | ciritical | error | warning | notice | info | debug | dump;
10776
+ .ft P
10777
+ .fi
10778
+ .UNINDENT
10779
+ .UNINDENT
10780
+ .INDENT 0.0
10781
+ .TP
10782
+ .B Default
10783
+ \fBnotice\fP
10784
+ .TP
10785
+ .B Context
10786
+ \fBhttp\fP, \fBserver\fP, \fBlocation\fP
10787
+ .UNINDENT
10788
+ .sp
10789
+ Specifies groonga log level in the \fBhttp\fP, \fBserver\fP or \fBlocation\fP block. The
10790
+ default is \fBnotice\fP. You can disable logging by specifying \fBnone\fP as log level.
10791
+ .sp
10792
+ Examples:
10793
+ .INDENT 0.0
10794
+ .INDENT 3.5
10795
+ .sp
10796
+ .nf
10797
+ .ft C
10798
+ location /d/ {
10799
+ groonga on;
10800
+ # You can customize log level for groonga.
10801
+ groonga_log_level notice;
10802
+ }
10803
+ .ft P
10804
+ .fi
10805
+ .UNINDENT
10806
+ .UNINDENT
10807
+ .SS \fBgroonga_query_log_path\fP
10808
+ .sp
10809
+ Synopsis:
10810
+ .INDENT 0.0
10811
+ .INDENT 3.5
10812
+ .sp
10813
+ .nf
10814
+ .ft C
10815
+ groonga_query_log_path path | off;
10816
+ .ft P
10817
+ .fi
10818
+ .UNINDENT
10819
+ .UNINDENT
10820
+ .INDENT 0.0
10821
+ .TP
10822
+ .B Default
10823
+ \fB/var/log/groonga/httpd/groonga\-query.log\fP
10824
+ .TP
10825
+ .B Context
10826
+ \fBhttp\fP, \fBserver\fP, \fBlocation\fP
10827
+ .UNINDENT
10828
+ .sp
10829
+ Specifies groonga\(aqs query log path in the \fBhttp\fP, \fBserver\fP or
10830
+ \fBlocation\fP block. The default is
10831
+ \fB/var/log/groonga/httpd/groonga\-query.log\fP. You can disable logging
10832
+ to specify \fBoff\fP.
10833
+ .sp
10834
+ Examples:
10835
+ .INDENT 0.0
10836
+ .INDENT 3.5
10837
+ .sp
10838
+ .nf
10839
+ .ft C
10840
+ location /d/ {
10841
+ groonga on;
10842
+ # You can disable query log for groonga.
10843
+ groonga_query_log_path off;
10844
+ }
10845
+ .ft P
10846
+ .fi
10847
+ .UNINDENT
10848
+ .UNINDENT
10849
+ .sp
10850
+ Query log is useful for the following cases:
10851
+ .INDENT 0.0
10852
+ .INDENT 3.5
10853
+ .INDENT 0.0
10854
+ .IP \(bu 2
10855
+ Detecting slow query.
10856
+ .IP \(bu 2
10857
+ Debugging.
10858
+ .UNINDENT
10859
+ .UNINDENT
10860
+ .UNINDENT
10861
+ .sp
10862
+ You can analyze your query log by \fI\%groonga\-query\-log package\fP. The package provides
10863
+ useful tools.
10864
+ .sp
10865
+ For example, there is a tool that analyzing your query log. It can
10866
+ detect slow queries from your query log. There is a tool that
10867
+ replaying same queries in your query log. It can test the new groonga
10868
+ before updating production environment.
10681
10869
  .SS Performance related directives
10682
10870
  .sp
10683
10871
  The following directives are related to the performance of groonga\-httpd.
@@ -10691,9 +10879,177 @@ This isn\(aqt a groonga\-httpd specific directive, but an nginx\(aqs one. For de
10691
10879
  see \fI\%http://wiki.nginx.org/CoreModule#worker_processes\fP.
10692
10880
  .sp
10693
10881
  By default, this is set to 1. It is nginx\(aqs default.
10882
+ .SS \fBproxy_cache\fP
10883
+ .sp
10884
+ In short, you can use nginx\(aqs reverse proxy and cache mechanism
10885
+ instead of groonga\(aqs built\-in query cache feature.
10886
+ .SS Query cache
10887
+ .sp
10888
+ Groonga has query cache feature for \fB/reference/commands/select\fP
10889
+ command. The feature improves performance in many cases.
10890
+ .sp
10891
+ Query cache feature works well on groonga\-httpd except you use
10892
+ \fB/reference/commands/cache_limit\fP command on 2 or more
10893
+ workers. Normally, \fB/reference/commands/cache_limit\fP command
10894
+ isn\(aqt used. So there is no problem on many cases.
10895
+ .sp
10896
+ Here is a description about a problem of using
10897
+ \fB/reference/commands/cache_limit\fP command on 2 or more workers.
10898
+ .sp
10899
+ Groonga\(aqs query cache is available in the same process. It means that
10900
+ workers can\(aqt share the cache. If you don\(aqt change cache size, it
10901
+ isn\(aqt a big problem. If you want to change cache size by
10902
+ \fB/reference/commands/cache_limit\fP command, there is a problem.
10903
+ .sp
10904
+ There is no portable ways to change cache size for all workers.
10905
+ .sp
10906
+ For example, there are 3 workers:
10907
+ .INDENT 0.0
10908
+ .INDENT 3.5
10909
+ .sp
10910
+ .nf
10911
+ .ft C
10912
+ +\-\- worker 1
10913
+ client \-\- groonga\-httpd (master) \-\-+\-\- worker 2
10914
+ +\-\- worker 3
10915
+ .ft P
10916
+ .fi
10917
+ .UNINDENT
10918
+ .UNINDENT
10919
+ .sp
10920
+ The client requests \fB/reference/commands/cache_limit\fP command and
10921
+ the worker 1 receives it:
10922
+ .INDENT 0.0
10923
+ .INDENT 3.5
10924
+ .sp
10925
+ .nf
10926
+ .ft C
10927
+ +\-> worker 1 (changed!)
10928
+ client \-> groonga\-httpd (master) \-\-+\-\- worker 2
10929
+ +\-\- worker 3
10930
+ .ft P
10931
+ .fi
10932
+ .UNINDENT
10933
+ .UNINDENT
10934
+ .sp
10935
+ The client requests \fB/reference/commands/cache_limit\fP command
10936
+ again and the worker 1 receives it again:
10937
+ .INDENT 0.0
10938
+ .INDENT 3.5
10939
+ .sp
10940
+ .nf
10941
+ .ft C
10942
+ +\-> worker 1 (changed again!!!)
10943
+ client \-> groonga\-httpd (master) \-\-+\-\- worker 2
10944
+ +\-\- worker 3
10945
+ .ft P
10946
+ .fi
10947
+ .UNINDENT
10948
+ .UNINDENT
10949
+ .sp
10950
+ In this case, the worker 2 and the worker 3 aren\(aqt received any
10951
+ requests. So they don\(aqt change cache size.
10952
+ .sp
10953
+ You can\(aqt choose a worker. So you can\(aqt change cache sizes of all
10954
+ workers by \fB/reference/commands/cache_limit\fP command.
10955
+ .SS Reverse proxy and cache
10956
+ .sp
10957
+ You can use nginx\(aqs reverse proxy and cache feature for query cache:
10958
+ .INDENT 0.0
10959
+ .INDENT 3.5
10960
+ .sp
10961
+ .nf
10962
+ .ft C
10963
+ +\-\- worker 1
10964
+ client \-\- groonga\-httpd (master) \-\- reverse proxy + cache \-\-+\-\- worker 2
10965
+ +\-\- worker 3
10966
+ .ft P
10967
+ .fi
10968
+ .UNINDENT
10969
+ .UNINDENT
10970
+ .sp
10971
+ You can use the same cache configuration for all workers but you can\(aqt
10972
+ change cache configuration dynamically by HTTP.
10973
+ .sp
10974
+ Here is a sample configuration:
10975
+ .INDENT 0.0
10976
+ .INDENT 3.5
10977
+ .sp
10978
+ .nf
10979
+ .ft C
10980
+ \&...
10981
+ http {
10982
+ proxy_cache_path /var/cache/groonga\-httpd levels=1:2 keys_zone=groonga:10m;
10983
+ proxy_cache_valid 10m;
10984
+ ...
10985
+ # Reverse proxy and cache
10986
+ server {
10987
+ listen 10041;
10988
+ ...
10989
+ # Only select command
10990
+ location /d/select {
10991
+ # Pass through groonga with cache
10992
+ proxy_cache groonga;
10993
+ proxy_pass http://localhost:20041;
10994
+ }
10995
+
10996
+ location / {
10997
+ # Pass through groonga
10998
+ proxy_pass http://localhost:20041;
10999
+ }
11000
+ }
11001
+
11002
+ # groonga
11003
+ server {
11004
+ location 20041;
11005
+ location /d/ {
11006
+ groonga on;
11007
+ groonga_database /var/lib/groonga/db/db;
11008
+ }
11009
+ }
11010
+ ...
11011
+ }
11012
+ .ft P
11013
+ .fi
11014
+ .UNINDENT
11015
+ .UNINDENT
11016
+ .sp
11017
+ See the following nginx documentations for parameter details:
11018
+ .INDENT 0.0
11019
+ .INDENT 3.5
11020
+ .INDENT 0.0
11021
+ .IP \(bu 2
11022
+ \fI\%http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_path\fP
11023
+ .IP \(bu 2
11024
+ \fI\%http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_valid\fP
11025
+ .IP \(bu 2
11026
+ \fI\%http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache\fP
11027
+ .IP \(bu 2
11028
+ \fI\%http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass\fP
11029
+ .UNINDENT
11030
+ .UNINDENT
11031
+ .UNINDENT
11032
+ .sp
11033
+ Note that you need to remove cache files created by nginx by hand
11034
+ after you load new data to groonga. For the above sample
11035
+ configuration, run the following command to remove cache files:
11036
+ .INDENT 0.0
11037
+ .INDENT 3.5
11038
+ .sp
11039
+ .nf
11040
+ .ft C
11041
+ % groonga DB_PATH < load.grn
11042
+ % rm \-rf /var/cache/groonga\-httpd/*
11043
+ .ft P
11044
+ .fi
11045
+ .UNINDENT
11046
+ .UNINDENT
11047
+ .sp
11048
+ If you use groonga\(aqs query cache feature, you don\(aqt need to expire
11049
+ cache by hand. It is done automatically.
10694
11050
  .SS Available nginx modules
10695
11051
  .sp
10696
- All standard HTTP modules is available. HttpRewriteModule is
11052
+ All standard HTTP modules are available. HttpRewriteModule is
10697
11053
  disabled when you don\(aqt have PCRE (Perl Compatible Regular
10698
11054
  Expressions). For the list of standard HTTP modules, see
10699
11055
  \fI\%http://wiki.nginx.org/Modules\fP.
@@ -11585,67 +11941,112 @@ value are statuses that have positive value in GQTP protocol. You
11585
11941
  can convert status value in GQTP protocol to return code by
11586
11942
  handling it as 2byte signed integer.
11587
11943
  .UNINDENT
11588
- .SS cache_limit
11589
- .SS 名前
11944
+ .SS \fBcache_limit\fP
11945
+ .SS Summary
11590
11946
  .sp
11591
- cache_limit \- cacheサイズの設定・取得
11592
- .SS 書式
11947
+ \fBcache_limit\fP gets or sets the max number of query cache
11948
+ entries. Query cache is used only by \fBselect\fP command.
11949
+ .sp
11950
+ If the max number of query cache entries is 100, the recent 100
11951
+ \fBselect\fP commands are only cached. The cache expire algorithm is LRU
11952
+ (least recently used).
11953
+ .SS Syntax
11954
+ .sp
11955
+ \fBcache_limit\fP has one optional parameter:
11593
11956
  .INDENT 0.0
11594
11957
  .INDENT 3.5
11595
11958
  .sp
11596
11959
  .nf
11597
11960
  .ft C
11598
- cache_limit max
11961
+ cache_limit [max=null]
11599
11962
  .ft P
11600
11963
  .fi
11601
11964
  .UNINDENT
11602
11965
  .UNINDENT
11603
- .SS 説明
11604
- .sp
11605
- groonga組込コマンドの一つであるcache_limitについて説明します。組込コマンドは、groonga実行ファイルの引数、標準入力、またはソケット経由でgroongaサーバにリクエストを送信することによって実行します。
11966
+ .SS Usage
11606
11967
  .sp
11607
- cache_limitは、クエリキャッシュの最大件数を取得したり設定したりします。
11608
- .SS 引数
11968
+ You can get the current max number of cache entries by executing
11969
+ \fBcache_limit\fP without parameter.
11609
11970
  .sp
11610
- \fBmax\fP
11611
- .INDENT 0.0
11612
- .INDENT 3.5
11613
- クエリキャッシュの最大件数を整数で指定します。
11614
- maxが指定されなかった場合には、クエリキャッシュの最大件数は変更せず、
11615
- 現在の設定値のみが返されます。
11616
- .UNINDENT
11617
- .UNINDENT
11618
- .SS 返値
11619
- .SS json
11971
+ Execution example:
11620
11972
  .INDENT 0.0
11621
11973
  .INDENT 3.5
11622
11974
  .sp
11623
11975
  .nf
11624
11976
  .ft C
11625
- [以前の設定値]
11977
+ cache_limit
11978
+ # [[0, 1337566253.89858, 0.000355720520019531], 100]
11626
11979
  .ft P
11627
11980
  .fi
11628
11981
  .UNINDENT
11629
11982
  .UNINDENT
11630
11983
  .sp
11631
- \fB以前の設定値\fP
11984
+ You can set the max number of cache entries by executing \fBcache_limit\fP
11985
+ with \fBmax\fP parameter.
11986
+ .sp
11987
+ Here is an example that sets \fB10\fP as the max number of cache
11988
+ entries.
11989
+ .sp
11990
+ Execution example:
11632
11991
  .INDENT 0.0
11633
11992
  .INDENT 3.5
11634
- すでに設定されていたクエリキャッシュの最大件数を返す。
11993
+ .sp
11994
+ .nf
11995
+ .ft C
11996
+ cache_limit 10
11997
+ # [[0, 1337566253.89858, 0.000355720520019531], 100]
11998
+ cache_limit
11999
+ # [[0, 1337566253.89858, 0.000355720520019531], 10]
12000
+ .ft P
12001
+ .fi
11635
12002
  .UNINDENT
11636
12003
  .UNINDENT
11637
- .SS 例
12004
+ .sp
12005
+ If \fBmax\fP parameter is used, the return value is the max number of
12006
+ cache entries before \fBmax\fP parameter is set.
12007
+ .SS Parameters
12008
+ .sp
12009
+ This section describes all parameters.
12010
+ .SS \fBmax\fP
12011
+ .sp
12012
+ It specifies the max number of query cache entries as a number.
12013
+ .sp
12014
+ If \fBmax\fP parameter isn\(aqt specified, the current max number of query
12015
+ cache entries isn\(aqt changed. \fBcache_limit\fP just returns the current
12016
+ max number of query cache entries.
12017
+ .SS Return value
12018
+ .sp
12019
+ \fBcache_limit\fP returns the current max number of query cache entries:
11638
12020
  .INDENT 0.0
11639
12021
  .INDENT 3.5
11640
12022
  .sp
11641
12023
  .nf
11642
12024
  .ft C
11643
- cache_limit 4
11644
- [100]
12025
+ [[HEADER, n_entries]]
11645
12026
  .ft P
11646
12027
  .fi
11647
12028
  .UNINDENT
11648
12029
  .UNINDENT
12030
+ .sp
12031
+ \fBHEADER\fP
12032
+ .INDENT 0.0
12033
+ .INDENT 3.5
12034
+ See \fB/reference/command/output_format\fP about \fBHEADER\fP.
12035
+ .UNINDENT
12036
+ .UNINDENT
12037
+ .sp
12038
+ \fBn_entries\fP
12039
+ .INDENT 0.0
12040
+ .INDENT 3.5
12041
+ \fBn_entries\fP is the current max number of query cache entries. It
12042
+ is a number.
12043
+ .UNINDENT
12044
+ .UNINDENT
12045
+ .SS See also
12046
+ .INDENT 0.0
12047
+ .IP \(bu 2
12048
+ \fBselect\fP
12049
+ .UNINDENT
11649
12050
  .SS check
11650
12051
  .SS 名前
11651
12052
  .sp
@@ -12664,7 +13065,7 @@ define_selector entry_selector Entry
12664
13065
  .SS defrag
12665
13066
  .SS 名前
12666
13067
  .sp
12667
- defrag \- オブジェクトにセットされたロックを解除する
13068
+ \fBdefrag\fP command resolves fragmentation of specified objects.
12668
13069
  .SS 書式
12669
13070
  .INDENT 0.0
12670
13071
  .INDENT 3.5
@@ -12735,11 +13136,16 @@ defrag Entry.body
12735
13136
  .fi
12736
13137
  .UNINDENT
12737
13138
  .UNINDENT
12738
- .SS delete
12739
- .SS 名前
13139
+ .SS \fBdelete\fP
13140
+ .SS Summary
12740
13141
  .sp
12741
- delete \- 一件のレコードの削除
12742
- .SS 書式
13142
+ \fBdelete\fP command deletes specified record of table.
13143
+ .SS Cascade delete
13144
+ .sp
13145
+ There is a case that multiple table is associated. For example, the key of one table are referenced by other table\(aqs records. In such a case, if you delete the key of one table, other table\(aqs records are also removed.
13146
+ .sp
13147
+ Note that the type of other table\(aqs column is COLUMN_VECTOR, only the value of referencing key is removed from the vector value.
13148
+ .SS Syntax
12743
13149
  .INDENT 0.0
12744
13150
  .INDENT 3.5
12745
13151
  .sp
@@ -12750,77 +13156,243 @@ delete table [key [id [filter]]]
12750
13156
  .fi
12751
13157
  .UNINDENT
12752
13158
  .UNINDENT
12753
- .SS 説明
13159
+ .SS Usage
13160
+ .sp
13161
+ Here are a schema definition and sample data to show usage.
12754
13162
  .sp
12755
- groonga組込コマンドの一つであるdeleteについて説明します。組込コマンドは、groonga実行ファイルの引数、標準入力、またはソケット経由でgroongaサーバにリクエストを送信することによって実行します。
13163
+ Delete the record from Entry table which has "2" as the key.
12756
13164
  .sp
12757
- deleteは、使用しているデータベースのテーブルに1件のレコードを削除します。
12758
- .SS 引数
13165
+ Execution example:
13166
+ .INDENT 0.0
13167
+ .INDENT 3.5
13168
+ .sp
13169
+ .nf
13170
+ .ft C
13171
+ delete Entry 2
13172
+ # [[0, 1337566253.89858, 0.000355720520019531], true]
13173
+ select Entry
13174
+ # [
13175
+ # [
13176
+ # 0,
13177
+ # 1337566253.89858,
13178
+ # 0.000355720520019531
13179
+ # ],
13180
+ # [
13181
+ # [
13182
+ # [
13183
+ # 1
13184
+ # ],
13185
+ # [
13186
+ # [
13187
+ # "_id",
13188
+ # "UInt32"
13189
+ # ],
13190
+ # [
13191
+ # "_key",
13192
+ # "UInt32"
13193
+ # ],
13194
+ # [
13195
+ # "status",
13196
+ # "ShortText"
13197
+ # ]
13198
+ # ],
13199
+ # [
13200
+ # 1,
13201
+ # 1,
13202
+ # "OK"
13203
+ # ]
13204
+ # ]
13205
+ # ]
13206
+ # ]
13207
+ .ft P
13208
+ .fi
13209
+ .UNINDENT
13210
+ .UNINDENT
13211
+ .sp
13212
+ Here is the example about cascaded delete.
13213
+ .sp
13214
+ The country column of Users table associates with Country table.
13215
+ .sp
13216
+ "Cascaded delete" removes the records which matches specified key and refers that key.
13217
+ .sp
13218
+ Execution example:
13219
+ .INDENT 0.0
13220
+ .INDENT 3.5
13221
+ .sp
13222
+ .nf
13223
+ .ft C
13224
+ table_create Country TABLE_HASH_KEY ShortText
13225
+ # [[0, 1337566253.89858, 0.000355720520019531], true]
13226
+ table_create Users TABLE_HASH_KEY UInt32
13227
+ # [[0, 1337566253.89858, 0.000355720520019531], true]
13228
+ column_create Users name COLUMN_SCALAR ShortText
13229
+ # [[0, 1337566253.89858, 0.000355720520019531], true]
13230
+ column_create Users country COLUMN_SCALAR Country
13231
+ # [[0, 1337566253.89858, 0.000355720520019531], true]
13232
+ load \-\-table Users
13233
+ [
13234
+ {"_key": 1, "name": "John", country: "United States"}
13235
+ {"_key": 2, "name": "Mike", country: "United States"}
13236
+ {"_key": 3, "name": "Takashi", country: "Japan"}
13237
+ {"_key": 4, "name": "Hanako", country: "Japan"}
13238
+ ]
13239
+ # [[0, 1337566253.89858, 0.000355720520019531], 4]
13240
+ load \-\-table Country
13241
+ [
13242
+ {"_key": "United States"}
13243
+ {"_key": "Japan"}
13244
+ ]
13245
+ # [[0, 1337566253.89858, 0.000355720520019531], 2]
13246
+ delete Country "United States"
13247
+ # [[0, 1337566253.89858, 0.000355720520019531], true]
13248
+ select Country
13249
+ # [
13250
+ # [
13251
+ # 0,
13252
+ # 1337566253.89858,
13253
+ # 0.000355720520019531
13254
+ # ],
13255
+ # [
13256
+ # [
13257
+ # [
13258
+ # 1
13259
+ # ],
13260
+ # [
13261
+ # [
13262
+ # "_id",
13263
+ # "UInt32"
13264
+ # ],
13265
+ # [
13266
+ # "_key",
13267
+ # "ShortText"
13268
+ # ]
13269
+ # ],
13270
+ # [
13271
+ # 2,
13272
+ # "Japan"
13273
+ # ]
13274
+ # ]
13275
+ # ]
13276
+ # ]
13277
+ select Users
13278
+ # [
13279
+ # [
13280
+ # 0,
13281
+ # 1337566253.89858,
13282
+ # 0.000355720520019531
13283
+ # ],
13284
+ # [
13285
+ # [
13286
+ # [
13287
+ # 4
13288
+ # ],
13289
+ # [
13290
+ # [
13291
+ # "_id",
13292
+ # "UInt32"
13293
+ # ],
13294
+ # [
13295
+ # "_key",
13296
+ # "UInt32"
13297
+ # ],
13298
+ # [
13299
+ # "country",
13300
+ # "Country"
13301
+ # ],
13302
+ # [
13303
+ # "name",
13304
+ # "ShortText"
13305
+ # ]
13306
+ # ],
13307
+ # [
13308
+ # 1,
13309
+ # 1,
13310
+ # "",
13311
+ # "John"
13312
+ # ],
13313
+ # [
13314
+ # 2,
13315
+ # 2,
13316
+ # "",
13317
+ # "Mike"
13318
+ # ],
13319
+ # [
13320
+ # 3,
13321
+ # 3,
13322
+ # "Japan",
13323
+ # "Takashi"
13324
+ # ],
13325
+ # [
13326
+ # 4,
13327
+ # 4,
13328
+ # "Japan",
13329
+ # "Hanako"
13330
+ # ]
13331
+ # ]
13332
+ # ]
13333
+ # ]
13334
+ .ft P
13335
+ .fi
13336
+ .UNINDENT
13337
+ .UNINDENT
13338
+ .SS Parameters
12759
13339
  .sp
12760
13340
  \fBtable\fP
12761
13341
  .INDENT 0.0
12762
13342
  .INDENT 3.5
12763
- レコードを削除しようとするテーブルの名前を指定します。
13343
+ It specifies the name of table to delete the records.
12764
13344
  .UNINDENT
12765
13345
  .UNINDENT
12766
13346
  .sp
12767
13347
  \fBkey\fP
12768
13348
  .INDENT 0.0
12769
13349
  .INDENT 3.5
12770
- 削除するレコードの主キー値を指定します。主キーなしのテーブルの場合はこのパラメータを指定しても無視されます(idパラメータを代わりに指定します)。
13350
+ It specifies the key of record to delete. If you use the table with TABLE_NO_KEY, the key is just ignored.
13351
+ (Use \fBid\fP parameter in such a case)
12771
13352
  .UNINDENT
12772
13353
  .UNINDENT
12773
13354
  .sp
12774
13355
  \fBid\fP
12775
13356
  .INDENT 0.0
12776
13357
  .INDENT 3.5
12777
- レコードIDによってレコードを指定します。idパラメータを指定する場合は、keyパラメータを指定してはいけません。
13358
+ It specifies the id of record to delete. If you specify \fBid\fP parameter, you must not specify \fBkey\fP parameter.
12778
13359
  .UNINDENT
12779
13360
  .UNINDENT
12780
13361
  .sp
12781
13362
  \fBfilter\fP
12782
13363
  .INDENT 0.0
12783
13364
  .INDENT 3.5
12784
- script形式のgrn_expr文字列によってレコードを指定します。filterパラメータを指定する場合は、id及びkeyパラメータを指定してはいけません。
13365
+ It specifies the expression of grn_expr to identify the record. If you specify \fBfilter\fP parameter,
13366
+ you must not specify \fBkey\fP and \fBid\fP parameter.
12785
13367
  .UNINDENT
12786
13368
  .UNINDENT
12787
- .sp
12788
- 返値
12789
- \-\-\-
12790
- .SS json形式
13369
+ .SS Return value
12791
13370
  .INDENT 0.0
12792
13371
  .INDENT 3.5
12793
13372
  .sp
12794
13373
  .nf
12795
13374
  .ft C
12796
- [成功かどうかのフラグ]
13375
+ [HEADER, SUCCEEDED_OR_NOT]
12797
13376
  .ft P
12798
13377
  .fi
12799
13378
  .UNINDENT
12800
13379
  .UNINDENT
12801
13380
  .sp
12802
- \fB成功かどうかのフラグ\fP
13381
+ \fBHEADER\fP
12803
13382
  .INDENT 0.0
12804
13383
  .INDENT 3.5
12805
- エラーが生じなかった場合にはtrue、エラーが生じた場合にはfalseを返す。
13384
+ The format of HEADER is [0, UNIX_TIME_WHEN_COMMAND_IS_STARTED, ELAPSED_TIME].
13385
+ See \fB/reference/command/output_format\fP about HEADER.
12806
13386
  .UNINDENT
12807
13387
  .UNINDENT
12808
- .SS 例
12809
13388
  .sp
12810
- テーブルEntryからレコードを削除します。:
13389
+ \fBSUCCEEDED_OR_NOT\fP
12811
13390
  .INDENT 0.0
12812
13391
  .INDENT 3.5
12813
- .sp
12814
- .nf
12815
- .ft C
12816
- delete Entry abandon
12817
-
12818
- [true]
12819
- .ft P
12820
- .fi
13392
+ If command succeeded, it returns true, otherwise it returns false on error.
12821
13393
  .UNINDENT
12822
13394
  .UNINDENT
12823
- .SS 関連項目
13395
+ .SS See also
12824
13396
  .sp
12825
13397
  \fBload\fP
12826
13398
  .SS dump
@@ -13491,52 +14063,28 @@ You can specify absolute path such as \fBregister
13491
14063
  If \fBregister\fP fails, error details are in \fBHEADER\fP.
13492
14064
  .sp
13493
14065
  See \fB/reference/command/output_format\fP for \fBHEADER\fP.
13494
- .SS \fBselect\fP
14066
+ .SS \fBruby_eval\fP
13495
14067
  .SS Summary
13496
14068
  .sp
13497
- \fBselect\fP searches records that are matched to specified conditions
13498
- from a table and then outputs them.
13499
- .sp
13500
- \fBselect\fP is the most important command in groonga. You need to
13501
- understand \fBselect\fP to use the full power of groonga.
14069
+ \fBruby_eval\fP command evaluates ruby script and returns the result.
13502
14070
  .SS Syntax
13503
14071
  .sp
13504
- \fBselect\fP has many parameters. The required parameter is only
13505
- \fBtable\fP and others are optional:
14072
+ \fBruby_eval\fP has one required parameter:
13506
14073
  .INDENT 0.0
13507
14074
  .INDENT 3.5
13508
14075
  .sp
13509
14076
  .nf
13510
14077
  .ft C
13511
- select table
13512
- [match_columns=null]
13513
- [query=null]
13514
- [filter=null]
13515
- [scorer=null]
13516
- [sortby=null]
13517
- [output_columns="_id, _key, *"]
13518
- [offset=0]
13519
- [limit=10]
13520
- [drilldown=null]
13521
- [drilldown_sortby=null]
13522
- [drilldown_output_columns=null]
13523
- [drilldown_offset=0]
13524
- [drilldown_limit=10]
13525
- [cache=yes]
13526
- [match_escalation_threshold=0]
13527
- [query_expansion=null]
13528
- [query_flags=ALLOW_PRAGMA|ALLOW_COLUMN|ALLOW_UPDATE|ALLOW_LEADING_NOT|NONE]
13529
- [query_expander=null]
14078
+ ruby_eval ruby_script
13530
14079
  .ft P
13531
14080
  .fi
13532
14081
  .UNINDENT
13533
14082
  .UNINDENT
13534
14083
  .SS Usage
13535
14084
  .sp
13536
- Let\(aqs learn about \fBselect\fP usage with examples. This section shows
13537
- many popular usages.
14085
+ You can execute any scripts which mruby supports by calling \fBruby_eval\fP.
13538
14086
  .sp
13539
- Here are a schema definition and sample data to show usage.
14087
+ Here is an example that just calculate \fB1 + 2\fP by mruby plugin.
13540
14088
  .sp
13541
14089
  Execution example:
13542
14090
  .INDENT 0.0
@@ -13544,21 +14092,144 @@ Execution example:
13544
14092
  .sp
13545
14093
  .nf
13546
14094
  .ft C
13547
- table_create Entries TABLE_HASH_KEY ShortText
13548
- # [[0, 1337566253.89858, 0.000355720520019531], true]
13549
- column_create Entries content COLUMN_SCALAR Text
13550
- # [[0, 1337566253.89858, 0.000355720520019531], true]
13551
- column_create Entries n_likes COLUMN_SCALAR UInt32
13552
- # [[0, 1337566253.89858, 0.000355720520019531], true]
13553
- table_create Terms TABLE_PAT_KEY|KEY_NORMALIZE ShortText \-\-default_tokenizer TokenBigram
13554
- # [[0, 1337566253.89858, 0.000355720520019531], true]
13555
- column_create Terms entries_key_index COLUMN_INDEX|WITH_POSITION Entries _key
13556
- # [[0, 1337566253.89858, 0.000355720520019531], true]
13557
- column_create Terms entries_content_index COLUMN_INDEX|WITH_POSITION Entries content
14095
+ register ruby/eval
13558
14096
  # [[0, 1337566253.89858, 0.000355720520019531], true]
13559
- load \-\-table Entries
13560
- [
13561
- {"_key": "The first post!",
14097
+ ruby_eval "1 + 2"
14098
+ # [[0, 1337566253.89858, 0.000355720520019531], {"value": 3}]
14099
+ .ft P
14100
+ .fi
14101
+ .UNINDENT
14102
+ .UNINDENT
14103
+ .sp
14104
+ Register \fBruby/eval\fP plugin to use \fBruby_eval\fP command in advance.
14105
+ .sp
14106
+ Note that \fBruby_eval\fP is implemented as an experimental plugin,
14107
+ and the specification may be changed in the future.
14108
+ .SS Parameters
14109
+ .sp
14110
+ This section describes all parameters.
14111
+ .SS \fBruby_script\fP
14112
+ .sp
14113
+ It specifies the ruby script which you want to evaluate.
14114
+ .SS Return value
14115
+ .sp
14116
+ \fBruby_eval\fP returns the evaluated result which key is "value" as json format:
14117
+ .INDENT 0.0
14118
+ .INDENT 3.5
14119
+ .sp
14120
+ .nf
14121
+ .ft C
14122
+ [[HEADER, EVALUATED]]
14123
+ .ft P
14124
+ .fi
14125
+ .UNINDENT
14126
+ .UNINDENT
14127
+ .sp
14128
+ \fBHEADER\fP
14129
+ .INDENT 0.0
14130
+ .INDENT 3.5
14131
+ See \fB/reference/command/output_format\fP about \fBHEADER\fP.
14132
+ .UNINDENT
14133
+ .UNINDENT
14134
+ .sp
14135
+ \fBEVALUATED\fP
14136
+ .INDENT 0.0
14137
+ .INDENT 3.5
14138
+ \fBEVALUATED\fP consists of pair of key and value in forms of {key:value}.
14139
+ .TS
14140
+ center;
14141
+ |l|l|.
14142
+ _
14143
+ T{
14144
+ Name
14145
+ T} T{
14146
+ Description
14147
+ T}
14148
+ _
14149
+ T{
14150
+ \fBkey\fP
14151
+ T} T{
14152
+ reserved word \(aqvalue\(aq.
14153
+ T}
14154
+ _
14155
+ T{
14156
+ \fBvalue\fP
14157
+ T} T{
14158
+ the value of evaluated script. It must be a number.
14159
+ T}
14160
+ _
14161
+ .TE
14162
+ .UNINDENT
14163
+ .UNINDENT
14164
+ .SS See also
14165
+ .SS \fBselect\fP
14166
+ .SS Summary
14167
+ .sp
14168
+ \fBselect\fP searches records that are matched to specified conditions
14169
+ from a table and then outputs them.
14170
+ .sp
14171
+ \fBselect\fP is the most important command in groonga. You need to
14172
+ understand \fBselect\fP to use the full power of groonga.
14173
+ .SS Syntax
14174
+ .sp
14175
+ \fBselect\fP has many parameters. The required parameter is only
14176
+ \fBtable\fP and others are optional:
14177
+ .INDENT 0.0
14178
+ .INDENT 3.5
14179
+ .sp
14180
+ .nf
14181
+ .ft C
14182
+ select table
14183
+ [match_columns=null]
14184
+ [query=null]
14185
+ [filter=null]
14186
+ [scorer=null]
14187
+ [sortby=null]
14188
+ [output_columns="_id, _key, *"]
14189
+ [offset=0]
14190
+ [limit=10]
14191
+ [drilldown=null]
14192
+ [drilldown_sortby=null]
14193
+ [drilldown_output_columns=null]
14194
+ [drilldown_offset=0]
14195
+ [drilldown_limit=10]
14196
+ [cache=yes]
14197
+ [match_escalation_threshold=0]
14198
+ [query_expansion=null]
14199
+ [query_flags=ALLOW_PRAGMA|ALLOW_COLUMN|ALLOW_UPDATE|ALLOW_LEADING_NOT|NONE]
14200
+ [query_expander=null]
14201
+ .ft P
14202
+ .fi
14203
+ .UNINDENT
14204
+ .UNINDENT
14205
+ .SS Usage
14206
+ .sp
14207
+ Let\(aqs learn about \fBselect\fP usage with examples. This section shows
14208
+ many popular usages.
14209
+ .sp
14210
+ Here are a schema definition and sample data to show usage.
14211
+ .sp
14212
+ Execution example:
14213
+ .INDENT 0.0
14214
+ .INDENT 3.5
14215
+ .sp
14216
+ .nf
14217
+ .ft C
14218
+ table_create Entries TABLE_HASH_KEY ShortText
14219
+ # [[0, 1337566253.89858, 0.000355720520019531], true]
14220
+ column_create Entries content COLUMN_SCALAR Text
14221
+ # [[0, 1337566253.89858, 0.000355720520019531], true]
14222
+ column_create Entries n_likes COLUMN_SCALAR UInt32
14223
+ # [[0, 1337566253.89858, 0.000355720520019531], true]
14224
+ table_create Terms TABLE_PAT_KEY|KEY_NORMALIZE ShortText \-\-default_tokenizer TokenBigram
14225
+ # [[0, 1337566253.89858, 0.000355720520019531], true]
14226
+ column_create Terms entries_key_index COLUMN_INDEX|WITH_POSITION Entries _key
14227
+ # [[0, 1337566253.89858, 0.000355720520019531], true]
14228
+ column_create Terms entries_content_index COLUMN_INDEX|WITH_POSITION Entries content
14229
+ # [[0, 1337566253.89858, 0.000355720520019531], true]
14230
+ load \-\-table Entries
14231
+ [
14232
+ {"_key": "The first post!",
13562
14233
  "content": "Welcome! This is my first post!",
13563
14234
  "n_likes": 5},
13564
14235
  {"_key": "Groonga",
@@ -15982,16 +16653,16 @@ drilldown条件が実行される前の検索結果が以下のように出力
15982
16653
  .sp
15983
16654
  .nf
15984
16655
  .ft C
15985
- [[検索件数], [[カラム名1,カラム型1],..], 検索結果1,..]
16656
+ [[ヒット数], [[カラム名1,カラム型1],..], 検索結果1,..]
15986
16657
  .ft P
15987
16658
  .fi
15988
16659
  .UNINDENT
15989
16660
  .UNINDENT
15990
16661
  .sp
15991
- \fB検索件数\fP
16662
+ \fBヒット数\fP
15992
16663
  .INDENT 0.0
15993
16664
  .INDENT 3.5
15994
- 検索件数が出力されます。
16665
+ 検索条件にヒットしたレコードの数が出力されます。 \fB\-\-limit\fP オプションで出力件数を制限した場合は出力するレコード数と一致しません。 \fBヒット数\fP は \fB\-\-limit\fP オプションに関係なく常にヒットしたレコードの数になります。
15995
16666
  .UNINDENT
15996
16667
  .UNINDENT
15997
16668
  .sp
@@ -16182,14 +16853,14 @@ status
16182
16853
  # 0.000355720520019531
16183
16854
  # ],
16184
16855
  # {
16185
- # "uptime": 6,
16856
+ # "uptime": 50,
16186
16857
  # "max_command_version": 2,
16187
16858
  # "n_queries": 39,
16188
16859
  # "cache_hit_rate": 0.0,
16189
- # "version": "3.0.5",
16190
- # "alloc_count": 303,
16860
+ # "version": "3.0.7",
16861
+ # "alloc_count": 300,
16191
16862
  # "command_version": 1,
16192
- # "starttime": 1372040777,
16863
+ # "starttime": 1377493297,
16193
16864
  # "default_command_version": 1
16194
16865
  # }
16195
16866
  # ]
@@ -17582,7 +18253,7 @@ tokenize TokenTrigram "Fulltext Search"
17582
18253
  .sp
17583
18254
  If you want to use other tokenizers, you need to register additional
17584
18255
  tokenizer plugin by \fBregister\fP command. For example, you can use
17585
- MySQL compatible normalizer by registering \fI\%groonga-normalizer-mysql\fP.
18256
+ MySQL compatible normalizer by registering \fI\%groonga\-normalizer\-mysql\fP.
17586
18257
  .SS \fBstring\fP
17587
18258
  .sp
17588
18259
  It specifies any string which you want to tokenize. If you want to
@@ -18357,7 +19028,7 @@ groongaのデータベースでは、テーブルの主キーや、カラムの
18357
19028
  .INDENT 3.5
18358
19029
  IEEE 754形式の倍精度浮動小数点数であり、実数を表します。(デフォルト値: 0.0)
18359
19030
  .sp
18360
- IEEE 754形式の詳細については、 \fI\%IEEE 754 - Wikipedia\fP や \fI\%IEEE 754: Standard for Binary Floating-Point\fP を参照してください。
19031
+ IEEE 754形式の詳細については、 \fI\%IEEE 754 \- Wikipedia\fP や \fI\%IEEE 754: Standard for Binary Floating\-Point\fP を参照してください。
18361
19032
  .UNINDENT
18362
19033
  .UNINDENT
18363
19034
  .sp
@@ -18399,7 +19070,7 @@ IEEE 754形式の詳細については、 \fI\%IEEE 754 - Wikipedia\fP や \fI\%
18399
19070
  度分秒形式でx度y分z秒となる経度・緯度は、(((x * 60) + y) * 60 + z) * 1000という計算式でミリ秒単位へと変換されます。
18400
19071
  \fB/reference/commands/load\fP コマンドで値を格納するときは、"ミリ秒単位の経度xミリ秒単位の緯度" もしくは "経度の小数表記x緯度の小数表記" という文字列表現を使って指定します。経度と緯度の区切りとしては、\(aqx\(aq のほかに \(aq,\(aq を使うことができます。
18401
19072
  .sp
18402
- 測地系の詳細については、 \fI\%測地系 - Wikipedia\fP を参照してください。
19073
+ 測地系の詳細については、 \fI\%測地系 \- Wikipedia\fP を参照してください。
18403
19074
  .UNINDENT
18404
19075
  .UNINDENT
18405
19076
  .sp
@@ -19402,9 +20073,9 @@ Here is a special character list:
19402
20073
  .INDENT 3.5
19403
20074
  .INDENT 0.0
19404
20075
  .IP \(bu 2
19405
- \fB[space]\fP (escaped as \fB[backquote][space]\fP) (You should
20076
+ \fB[space]\fP (escaped as \fB[backslash][space]\fP) (You should
19406
20077
  substitute \fB[space]\fP with a white space character that is 0x20
19407
- in ASCII and \fB[backquote]\fP with \fB\e\e\fP.)
20078
+ in ASCII and \fB[backslash]\fP with \fB\e\e\fP.)
19408
20079
  .IP \(bu 2
19409
20080
  \fB"\fP (escaped as \fB\e"\fP)
19410
20081
  .IP \(bu 2
@@ -19424,6 +20095,19 @@ You can use quote instead of escape. Quote syntax is \fB"..."\fP or
19424
20095
  You need escape \fB\(aq\fP as \fB\e\(aq\fP in \fB\(aq...\(aq\fP quote syntax. For
19425
20096
  example, \fBAlice\(aqs brother (Bob)\fP can be quoted \fB"Alice\(aqs brother
19426
20097
  (Bob)"\fP or \fB\(aqAlice\e\(aqs brother (Bob)\(aq\fP.
20098
+ .sp
20099
+ \fBNOTE:\fP
20100
+ .INDENT 0.0
20101
+ .INDENT 3.5
20102
+ There is a important point which you have to care. The \(aq\(aq\e\(aq\(aq (backslash)
20103
+ character is interpreted by command line shell. So if you want to search
20104
+ \(aq\(aq(\(aq\(aq itself for example, you need to escape twice (\(aq\(aq\e\e(\(aq\(aq) in command line shell.
20105
+ The command line shell interprets \(aq\(aq\e\e(\(aq\(aq as \(aq\(aq\e(\(aq\(aq, then pass such a literal
20106
+ to groonga. groonga regards \(aq\(aq\e(\(aq\(aq as \(aq\(aq(\(aq\(aq, then search \(aq\(aq(\(aq\(aq
20107
+ itself from database. If you can\(aqt do intended search by groonga, confirm whether
20108
+ special character is escaped properly.
20109
+ .UNINDENT
20110
+ .UNINDENT
19427
20111
  .SS Conditional expression
19428
20112
  .sp
19429
20113
  Here is available conditional expression list.
@@ -24346,20 +25030,26 @@ TokyoGeoPoint(日本測地系座標)かWGS84GeoPoint(世界測地系座標)の
24346
25030
  .sp
24347
25031
  \fBhtml_untag\fP strips HTML tags from HTML and outputs plain text.
24348
25032
  .sp
24349
- \fBhtml_untag\fP is used in \fB\-\-output_columns\fP described at \fB/reference/commands/select\fP.
25033
+ \fBhtml_untag\fP is used in \fB\-\-output_columns\fP described at \fIoutput_columns\fP.
24350
25034
  .SS Syntax
24351
25035
  .sp
24352
- \fBhtml_untag\fP requires only one argument. It is \fBcolumn\fP.
25036
+ \fBhtml_untag\fP requires only one argument. It is \fBhtml\fP.
24353
25037
  .INDENT 0.0
24354
25038
  .INDENT 3.5
24355
25039
  .sp
24356
25040
  .nf
24357
25041
  .ft C
24358
- html_untag(column)
25042
+ html_untag(html)
24359
25043
  .ft P
24360
25044
  .fi
24361
25045
  .UNINDENT
24362
25046
  .UNINDENT
25047
+ .SS Requirements
25048
+ .sp
25049
+ \fBhtml_untag\fP requires groonga 3.0.5 or later.
25050
+ .sp
25051
+ \fBhtml_untag\fP requires \fB/reference/command/command_version\fP 2 or
25052
+ later.
24363
25053
  .SS Usage
24364
25054
  .sp
24365
25055
  Here are a schema definition and sample data to show usage.
@@ -24372,14 +25062,10 @@ Execution example:
24372
25062
  .sp
24373
25063
  .nf
24374
25064
  .ft C
24375
- table_create WebClips TABLE_NO_KEY
24376
- # [[0, 1337566253.89858, 0.000355720520019531], true]
24377
- column_create WebClips url COLUMN_SCALAR ShortText
25065
+ table_create WebClips TABLE_HASH_KEY ShortText
24378
25066
  # [[0, 1337566253.89858, 0.000355720520019531], true]
24379
25067
  column_create WebClips content COLUMN_SCALAR ShortText
24380
25068
  # [[0, 1337566253.89858, 0.000355720520019531], true]
24381
- column_create WebClips tag COLUMN_VECTOR ShortText
24382
- # [[0, 1337566253.89858, 0.000355720520019531], true]
24383
25069
  .ft P
24384
25070
  .fi
24385
25071
  .UNINDENT
@@ -24395,8 +25081,8 @@ Execution example:
24395
25081
  .ft C
24396
25082
  load \-\-table WebClips
24397
25083
  [
24398
- {"_key": 1, "url": "http://groonga.org", "tag": ["groonga"], "content": "groonga is <span class=\(aqemphasize\(aq>fast</span>"},
24399
- {"_key": 2, "url": "http://mroonga.org", "tag": ["mroonga"], "content": "mroonga is <span class=\e"emphasize\e">fast</span>"},
25084
+ {"_key": "http://groonga.org", "content": "groonga is <span class=\(aqemphasize\(aq>fast</span>"},
25085
+ {"_key": "http://mroonga.org", "content": "mroonga is <span class=\e"emphasize\e">fast</span>"},
24400
25086
  ]
24401
25087
  # [[0, 1337566253.89858, 0.000355720520019531], 2]
24402
25088
  .ft P
@@ -24412,7 +25098,7 @@ Execution example:
24412
25098
  .sp
24413
25099
  .nf
24414
25100
  .ft C
24415
- select WebClips \-\-output_columns "_key, html_untag(content)" \-\-command_version 2
25101
+ select WebClips \-\-output_columns "html_untag(content)" \-\-command_version 2
24416
25102
  # [
24417
25103
  # [
24418
25104
  # 0,
@@ -24448,13 +25134,13 @@ When executing the above query, you can see "span" tag with "class" attribute is
24448
25134
  Note that you must specify \fB\-\-command_version 2\fP to use \fBhtml_untag\fP function.
24449
25135
  .SS Parameters
24450
25136
  .sp
24451
- There is one required parameter, \fBcolumn\fP.
24452
- .SS \fBcolumn\fP
25137
+ There is one required parameter, \fBhtml\fP.
25138
+ .SS \fBhtml\fP
24453
25139
  .sp
24454
- It specifies a column of the table.
25140
+ It specifies HTML text to be untagged.
24455
25141
  .SS Return value
24456
25142
  .sp
24457
- \fBhtml_untag\fP returns plain text which is stripped HTML tags from content of column.
25143
+ \fBhtml_untag\fP returns plain text which is stripped HTML tags from HTML text.
24458
25144
  .SS now
24459
25145
  .SS 名前
24460
25146
  .sp
@@ -24493,19 +25179,19 @@ now()
24493
25179
  .SS query
24494
25180
  .SS Summary
24495
25181
  .sp
24496
- \fBquery\fP enables you to specify \fB\-\-match_columns\fP and \fB\-\-query\fP parameters as
24497
- function arguments.
24498
- .sp
24499
- \fBquery\fP is one of the groonga builtin functions, so you can specify
24500
- multiple \fBquery\fP function as parameters of \fB\-\-filter\fP option.
25182
+ \fBquery\fP provides \fB\-\-match_columns\fP and \fB\-\-query\fP parameters of
25183
+ \fB/reference/commands/select\fP feature as function. You can specify
25184
+ multiple \fBquery\fP functions in \fB\-\-filter\fP parameter in
25185
+ \fB/reference/commands/select\fP.
24501
25186
  .sp
24502
25187
  Because of such flexibility, you can control full text search behavior
24503
- by combination of multiple \fBquery\fP function.
25188
+ by combination of multiple \fBquery\fP functions.
24504
25189
  .sp
24505
- \fBquery\fP can be used in only \fB\-\-filter\fP in \fB/reference/commands/select\fP.
25190
+ \fBquery\fP can be used in only \fB\-\-filter\fP in
25191
+ \fB/reference/commands/select\fP.
24506
25192
  .SS Syntax
24507
25193
  .sp
24508
- \fBquery\fP requires two arguments \- \fBmatch_column\fP and \fBquery_string\fP.
25194
+ \fBquery\fP requires two arguments \- \fBmatch_columns\fP and \fBquery_string\fP.
24509
25195
  .sp
24510
25196
  The parameter \fBquery_expander\fP or \fBsubstitution_table\fP is optional.
24511
25197
  .INDENT 0.0
@@ -24513,9 +25199,9 @@ The parameter \fBquery_expander\fP or \fBsubstitution_table\fP is optional.
24513
25199
  .sp
24514
25200
  .nf
24515
25201
  .ft C
24516
- query(match_column, query_string)
24517
- query(match_column, query_string, query_expander)
24518
- query(match_column, query_string, substitution_table)
25202
+ query(match_columns, query_string)
25203
+ query(match_columns, query_string, query_expander)
25204
+ query(match_columns, query_string, substitution_table)
24519
25205
  .ft P
24520
25206
  .fi
24521
25207
  .UNINDENT
@@ -24582,7 +25268,7 @@ load \-\-table Users
24582
25268
  .UNINDENT
24583
25269
  .sp
24584
25270
  Here is the simple usage of \fBquery\fP function which execute full text
24585
- search by keyword \(aqalice\(aq without using \fB\-\-match_column\fP and
25271
+ search by keyword \(aqalice\(aq without using \fB\-\-match_columns\fP and
24586
25272
  \fB\-\-query\fP arguments in \fB\-\-filter\fP.
24587
25273
  .sp
24588
25274
  Execution example:
@@ -24772,15 +25458,12 @@ keywords on your purpose.
24772
25458
  .SS Parameters
24773
25459
  .SS Required parameter
24774
25460
  .sp
24775
- There are two required parameter, \fBmatch_column\fP and \fBquery_string\fP.
24776
- .SS \fBmatch_column\fP
25461
+ There are two required parameter, \fBmatch_columns\fP and \fBquery_string\fP.
25462
+ .SS \fBmatch_columns\fP
24777
25463
  .sp
24778
25464
  It specifies the default target column for fulltext search by
24779
25465
  \fBquery_string\fP parameter value. It is the same role as
24780
- \fBmatch_column\fP parameter in \fBselect\fP.
24781
- .sp
24782
- See \fIselect\-match\-columns\fP about \fBmatch_column\fP parameter in
24783
- \fBselect\fP.
25466
+ \fIselect\-match\-columns\fP parameter in \fBselect\fP.
24784
25467
  .SS \fBquery_string\fP
24785
25468
  .sp
24786
25469
  It specifies the search condition in
@@ -25264,13 +25947,17 @@ There are two required parameter, \fBscope\fP and \fBfilter_string\fP.
25264
25947
  .SS \fBscope\fP
25265
25948
  .sp
25266
25949
  It specifies a column of the table that is specified by \fBtable\fP
25267
- parameter in \fBselect\fP. \fBfilter_string\fP is evaluated in the column
25950
+ parameter in \fBselect\fP. The column has a limitation. The limitation
25951
+ is described later. \fBfilter_string\fP is evaluated in the column
25268
25952
  context. It means that \fBfilter_string\fP is evaluated like
25269
25953
  \fBselect \-\-table TYPE_OF_THE_COLUMN \-\-filter FILTER_STRING\fP.
25270
25954
  .sp
25271
25955
  The specified column type must be a table. In other words, the column
25272
25956
  type must be reference type.
25273
25957
  .sp
25958
+ You can chain columns by \fBCOLUMN_1.COLUMN_2.COLUMN_3...COLUMN_N\fP
25959
+ syntax. For example, \fBuser.group.name\fP.
25960
+ .sp
25274
25961
  See \fIselect\-table\fP about \fBtable\fP parameter in \fBselect\fP.
25275
25962
  .SS \fBfilter_string\fP
25276
25963
  .sp
@@ -25735,209 +26422,2556 @@ Second with two digits.
25735
26422
  Microsecond with six digits.
25736
26423
  .UNINDENT
25737
26424
  .sp
25738
- Example:
25739
- .INDENT 7.0
25740
- .INDENT 3.5
26425
+ Example:
26426
+ .INDENT 7.0
26427
+ .INDENT 3.5
26428
+ .sp
26429
+ .nf
26430
+ .ft C
26431
+ 2011\-07\-05 06:25:18.345734
26432
+ .ft P
26433
+ .fi
26434
+ .UNINDENT
26435
+ .UNINDENT
26436
+ .TP
26437
+ .B ID
26438
+ ID of a thread. Groonga process creates threads to process
26439
+ requests concurrently. Each thread outputs some logs for a
26440
+ request. This ID can be used to extract a log sequence by
26441
+ a thread.
26442
+ .sp
26443
+ Example:
26444
+ .INDENT 7.0
26445
+ .INDENT 3.5
26446
+ .sp
26447
+ .nf
26448
+ .ft C
26449
+ 45ea3034
26450
+ .ft P
26451
+ .fi
26452
+ .UNINDENT
26453
+ .UNINDENT
26454
+ .UNINDENT
26455
+ .INDENT 0.0
26456
+ .TP
26457
+ .B >
26458
+ A character that indicates query is started.
26459
+ .UNINDENT
26460
+ .INDENT 0.0
26461
+ .TP
26462
+ .B :
26463
+ A character that indicates query is processing.
26464
+ .UNINDENT
26465
+ .INDENT 0.0
26466
+ .TP
26467
+ .B <
26468
+ A character that indicates query is finished.
26469
+ .TP
26470
+ .B MESSAGE
26471
+ Details about the log with free format.
26472
+ .sp
26473
+ Example:
26474
+ .INDENT 7.0
26475
+ .INDENT 3.5
26476
+ .sp
26477
+ .nf
26478
+ .ft C
26479
+ query log opened.
26480
+ .ft P
26481
+ .fi
26482
+ .UNINDENT
26483
+ .UNINDENT
26484
+ .TP
26485
+ .B QUERY
26486
+ A query to be processed.
26487
+ .sp
26488
+ Example:
26489
+ .INDENT 7.0
26490
+ .INDENT 3.5
26491
+ .sp
26492
+ .nf
26493
+ .ft C
26494
+ select users \-\-match_columns hobby \-\-query music
26495
+ .ft P
26496
+ .fi
26497
+ .UNINDENT
26498
+ .UNINDENT
26499
+ .TP
26500
+ .B ELAPSED_TIME
26501
+ Elapsed time in nanoseconds since query is started.
26502
+ .sp
26503
+ Example:
26504
+ .INDENT 7.0
26505
+ .INDENT 3.5
26506
+ .sp
26507
+ .nf
26508
+ .ft C
26509
+ 000000000075770
26510
+ (It means 75,770 nanoseconds.)
26511
+ .ft P
26512
+ .fi
26513
+ .UNINDENT
26514
+ .UNINDENT
26515
+ .TP
26516
+ .B PROGRESS
26517
+ A processed work at the time.
26518
+ .sp
26519
+ Example:
26520
+ .INDENT 7.0
26521
+ .INDENT 3.5
26522
+ .sp
26523
+ .nf
26524
+ .ft C
26525
+ select(313401)
26526
+ (It means that \(aqselect\(aq is processed and 313,401 records are remained.)
26527
+ .ft P
26528
+ .fi
26529
+ .UNINDENT
26530
+ .UNINDENT
26531
+ .TP
26532
+ .B RETURN_CODE
26533
+ A return code for the query.
26534
+ .sp
26535
+ Example:
26536
+ .INDENT 7.0
26537
+ .INDENT 3.5
26538
+ .sp
26539
+ .nf
26540
+ .ft C
26541
+ rc=0
26542
+ (It means return code is 0. 0 means GRN_SUCCESS.)
26543
+ .ft P
26544
+ .fi
26545
+ .UNINDENT
26546
+ .UNINDENT
26547
+ .UNINDENT
26548
+ .sp
26549
+ Example:
26550
+ .INDENT 0.0
26551
+ .INDENT 3.5
26552
+ .sp
26553
+ .nf
26554
+ .ft C
26555
+ 2011\-07\-05 06:25:19.458756|45ea3034|>select Properties \-\-limit 0
26556
+ 2011\-07\-05 06:25:19.458829|45ea3034|:000000000072779 select(19)
26557
+ 2011\-07\-05 06:25:19.458856|45ea3034|:000000000099998 output(0)
26558
+ 2011\-07\-05 06:25:19.458875|45ea3034|<000000000119062 rc=0
26559
+ 2011\-07\-05 06:25:19.458986|45ea3034|>quit
26560
+ .ft P
26561
+ .fi
26562
+ .UNINDENT
26563
+ .UNINDENT
26564
+ .SS API
26565
+ .sp
26566
+ Groonga can be used as a fulltext search library. This section
26567
+ describes APIs that are provided by groonga.
26568
+ .SS \fBgrn_cache\fP
26569
+ .SS Summary
26570
+ .sp
26571
+ \fBNOTE:\fP
26572
+ .INDENT 0.0
26573
+ .INDENT 3.5
26574
+ This API is experimental.
26575
+ .UNINDENT
26576
+ .UNINDENT
26577
+ .sp
26578
+ \fBgrn_cache\fP is a data store that keeps responses of
26579
+ \fB/reference/commands/select\fP command. It is not general use cache
26580
+ object. It is only for \fB/reference/commands/select\fP command.
26581
+ .sp
26582
+ You can just change the current cache object by
26583
+ \fBgrn_cache_current_set()\fP. \fB/reference/commands/select\fP
26584
+ command response cache is done internally.
26585
+ .sp
26586
+ \fB/reference/commands/select\fP command uses one global cache
26587
+ object. If you open multiple databases, the one cache is shared. It is
26588
+ an important problem.
26589
+ .sp
26590
+ If you open multiple databases and use
26591
+ \fB/reference/commands/select\fP command, you need to use
26592
+ \fBgrn_cache\fP object. It is \fB/reference/executables/groonga\-httpd\fP
26593
+ case. If you open only one database or don\(aqt use
26594
+ \fB/reference/commands/select\fP command, you don\(aqt need to use
26595
+ \fBgrn_cache\fP object. It is \fI\%rroonga\fP case.
26596
+ .SS Example
26597
+ .sp
26598
+ Here is an example that change the current cache object.
26599
+ .INDENT 0.0
26600
+ .INDENT 3.5
26601
+ .sp
26602
+ .nf
26603
+ .ft C
26604
+ grn_cache *cache;
26605
+ grn_cache *cache_previous;
26606
+ cache = grn_cache_open(ctx);
26607
+ cache_previous = grn_cache_current_get(ctx);
26608
+ grn_cache_current_set(ctx, cache);
26609
+ /* grn_ctx_send(ctx, ...); */
26610
+ grn_cache_current_set(ctx, cache_previous);
26611
+ .ft P
26612
+ .fi
26613
+ .UNINDENT
26614
+ .UNINDENT
26615
+ .SS Reference
26616
+ .INDENT 0.0
26617
+ .TP
26618
+ .B grn_cache
26619
+ It is an opaque cache object. You can create a \fBgrn_cache\fP by
26620
+ \fBgrn_cache_open()\fP and free the created object by
26621
+ \fBgrn_cache_close()\fP.
26622
+ .UNINDENT
26623
+ .INDENT 0.0
26624
+ .TP
26625
+ .B grn_cache *grn_cache_open(grn_ctx\fI\ *ctx\fP)
26626
+ Creates a new cache object.
26627
+ .sp
26628
+ If memory allocation for the new cache object is failed, \fBNULL\fP
26629
+ is returned. Error information is stored into the \fBctx\fP.
26630
+ .INDENT 7.0
26631
+ .TP
26632
+ .B Parameters
26633
+ .INDENT 7.0
26634
+ .IP \(bu 2
26635
+ \fBctx\fP \-\- The context.
26636
+ .UNINDENT
26637
+ .TP
26638
+ .B Returns
26639
+ A newly allocated cache object on success, \fBNULL\fP
26640
+ otherwise. The returned cache object must be freed by
26641
+ \fBgrn_cache_close()\fP.
26642
+ .UNINDENT
26643
+ .UNINDENT
26644
+ .INDENT 0.0
26645
+ .TP
26646
+ .B grn_rc grn_cache_close(grn_ctx\fI\ *ctx\fP, grn_cache\fI\ *cache\fP)
26647
+ Frees resourses of the \fBcache\fP.
26648
+ .INDENT 7.0
26649
+ .TP
26650
+ .B Parameters
26651
+ .INDENT 7.0
26652
+ .IP \(bu 2
26653
+ \fBctx\fP \-\- The context.
26654
+ .IP \(bu 2
26655
+ \fBcache\fP \-\- The cache object to be freed.
26656
+ .UNINDENT
26657
+ .TP
26658
+ .B Returns
26659
+ \fBGRN_SUCCESS\fP on success, not \fBGRN_SUCCESS\fP otherwise.
26660
+ .UNINDENT
26661
+ .UNINDENT
26662
+ .INDENT 0.0
26663
+ .TP
26664
+ .B grn_rc grn_cache_current_set(grn_ctx\fI\ *ctx\fP, grn_cache\fI\ *cache\fP)
26665
+ Sets the cache object that is used in
26666
+ \fB/reference/commands/select\fP command.
26667
+ .INDENT 7.0
26668
+ .TP
26669
+ .B Parameters
26670
+ .INDENT 7.0
26671
+ .IP \(bu 2
26672
+ \fBctx\fP \-\- The context.
26673
+ .IP \(bu 2
26674
+ \fBcache\fP \-\- The cache object that is used in
26675
+ \fB/reference/commands/select\fP command.
26676
+ .UNINDENT
26677
+ .TP
26678
+ .B Returns
26679
+ \fBGRN_SUCCESS\fP on success, not \fBGRN_SUCCESS\fP otherwise.
26680
+ .UNINDENT
26681
+ .UNINDENT
26682
+ .INDENT 0.0
26683
+ .TP
26684
+ .B grn_cache *grn_cache_current_get(grn_ctx\fI\ *ctx\fP)
26685
+ Gets the cache object that is used in
26686
+ \fB/reference/commands/select\fP command.
26687
+ .INDENT 7.0
26688
+ .TP
26689
+ .B Parameters
26690
+ .INDENT 7.0
26691
+ .IP \(bu 2
26692
+ \fBctx\fP \-\- The context.
26693
+ .UNINDENT
26694
+ .TP
26695
+ .B Returns
26696
+ The cache object that is used in
26697
+ \fB/reference/commands/select\fP command. It may be \fBNULL\fP.
26698
+ .UNINDENT
26699
+ .UNINDENT
26700
+ .INDENT 0.0
26701
+ .TP
26702
+ .B grn_rc grn_cache_set_max_n_entries(grn_ctx\fI\ *ctx\fP, grn_cache\fI\ *cache\fP, unsigned int\fI\ n\fP)
26703
+ Sets the max number of entries of the cache object.
26704
+ .INDENT 7.0
26705
+ .TP
26706
+ .B Parameters
26707
+ .INDENT 7.0
26708
+ .IP \(bu 2
26709
+ \fBctx\fP \-\- The context.
26710
+ .IP \(bu 2
26711
+ \fBcache\fP \-\- The cache object to be changed.
26712
+ .IP \(bu 2
26713
+ \fBn\fP \-\- The new max number of entries of the cache object.
26714
+ .UNINDENT
26715
+ .TP
26716
+ .B Returns
26717
+ \fBGRN_SUCCESS\fP on success, not \fBGRN_SUCCESS\fP otherwise.
26718
+ .UNINDENT
26719
+ .UNINDENT
26720
+ .INDENT 0.0
26721
+ .TP
26722
+ .B unsigned int grn_cache_get_max_n_entries(grn_ctx\fI\ *ctx\fP, grn_cache\fI\ *cache\fP)
26723
+ Gets the max number of entries of the cache object.
26724
+ .INDENT 7.0
26725
+ .TP
26726
+ .B Parameters
26727
+ .INDENT 7.0
26728
+ .IP \(bu 2
26729
+ \fBctx\fP \-\- The context.
26730
+ .IP \(bu 2
26731
+ \fBcache\fP \-\- The target cache object.
26732
+ .UNINDENT
26733
+ .TP
26734
+ .B Returns
26735
+ The max number of entries of the cache object.
26736
+ .UNINDENT
26737
+ .UNINDENT
26738
+ .SS \fBgrn_column\fP
26739
+ .SS Summary
26740
+ .sp
26741
+ TODO...
26742
+ .SS Example
26743
+ .sp
26744
+ TODO...
26745
+ .SS Reference
26746
+ .INDENT 0.0
26747
+ .TP
26748
+ .B grn_obj *grn_column_create(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP, const char\fI\ *name\fP, unsigned int\fI\ name_size\fP, const char\fI\ *path\fP, grn_obj_flags\fI\ flags\fP, grn_obj\fI\ *type\fP)
26749
+ tableに新たなカラムを定義します。nameは省略できません。一つのtableに同一のnameのcolumnを複数定義することはできません。
26750
+ .INDENT 7.0
26751
+ .TP
26752
+ .B Parameters
26753
+ .INDENT 7.0
26754
+ .IP \(bu 2
26755
+ \fBtable\fP \-\- 対象tableを指定します。
26756
+ .IP \(bu 2
26757
+ \fBname\fP \-\- カラム名を指定します。
26758
+ .IP \(bu 2
26759
+ \fBname_size\fP \-\- nameパラメータのsize(byte)を指定します。
26760
+ .IP \(bu 2
26761
+ \fBpath\fP \-\- カラムを格納するファイルパスを指定します。
26762
+ flagsに \fBGRN_OBJ_PERSISTENT\fP が指定されている場合のみ有効です。
26763
+ NULLなら自動的にファイルパスが付与されます。
26764
+ .IP \(bu 2
26765
+ \fBflags\fP \-\-
26766
+ .sp
26767
+ \fBGRN_OBJ_PERSISTENT\fP を指定すると永続columnとなります。
26768
+ .sp
26769
+ \fBGRN_OBJ_COLUMN_INDEX\fP を指定すると転置インデックスとなります。
26770
+ .sp
26771
+ \fBGRN_OBJ_COLUMN_SCALAR\fP を指定するとスカラ値(単独の値)を格納します。
26772
+ .sp
26773
+ \fBGRN_OBJ_COLUMN_VECTOR\fP を指定すると値の配列を格納します。
26774
+ .sp
26775
+ \fBGRN_OBJ_COMPRESS_ZLIB\fP を指定すると値をzlib圧縮して格納します。
26776
+ .sp
26777
+ \fBGRN_OBJ_COMPRESS_LZO\fP を指定すると値をlzo圧縮して格納します。
26778
+ .sp
26779
+ \fBGRN_OBJ_COLUMN_INDEX\fP と共に \fBGRN_OBJ_WITH_SECTION\fP を指定すると、転置索引にsection(段落情報)を合わせて格納します。
26780
+ .sp
26781
+ \fBGRN_OBJ_COLUMN_INDEX\fP と共に \fBGRN_OBJ_WITH_WEIGHT\fP を指定すると、転置索引にweight情報を合わせて格納します。
26782
+ .sp
26783
+ \fBGRN_OBJ_COLUMN_INDEX\fP と共に \fBGRN_OBJ_WITH_POSITION\fP を指定すると、転置索引に出現位置情報を合わせて格納します。
26784
+
26785
+ .IP \(bu 2
26786
+ \fBtype\fP \-\- カラム値の型を指定します。定義済みのtypeあるいはtableを指定できます。
26787
+ .UNINDENT
26788
+ .UNINDENT
26789
+ .UNINDENT
26790
+ .INDENT 0.0
26791
+ .TP
26792
+ .B grn_rc grn_column_index_update(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *column\fP, grn_id\fI\ id\fP, unsigned int\fI\ section\fP, grn_obj\fI\ *oldvalue\fP, grn_obj\fI\ *newvalue\fP)
26793
+ oldvalue, newvalueの値から得られるキーに対応するcolumnの値の中の、id, sectionに対応するエントリを更新します。columnは \fBGRN_OBJ_COLUMN_INDEX\fP 型のカラムでなければなりません。
26794
+ .INDENT 7.0
26795
+ .TP
26796
+ .B Parameters
26797
+ .INDENT 7.0
26798
+ .IP \(bu 2
26799
+ \fBcolumn\fP \-\- 対象columnを指定します。
26800
+ .IP \(bu 2
26801
+ \fBid\fP \-\- 対象レコードのIDを指定します。
26802
+ .IP \(bu 2
26803
+ \fBsection\fP \-\- 対象レコードのセクション番号を指定します。
26804
+ .IP \(bu 2
26805
+ \fBoldvalue\fP \-\- 更新前の値を指定します。
26806
+ .IP \(bu 2
26807
+ \fBnewvalue\fP \-\- 更新後の値を指定します。
26808
+ .UNINDENT
26809
+ .UNINDENT
26810
+ .UNINDENT
26811
+ .INDENT 0.0
26812
+ .TP
26813
+ .B grn_obj *grn_column_table(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *column\fP)
26814
+ columnが属するtableを返します。
26815
+ .INDENT 7.0
26816
+ .TP
26817
+ .B Parameters
26818
+ .INDENT 7.0
26819
+ .IP \(bu 2
26820
+ \fBcolumn\fP \-\- 対象columnを指定します。
26821
+ .UNINDENT
26822
+ .UNINDENT
26823
+ .UNINDENT
26824
+ .INDENT 0.0
26825
+ .TP
26826
+ .B grn_rc grn_column_rename(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *column\fP, const char\fI\ *name\fP, unsigned int\fI\ name_size\fP)
26827
+ ctxが使用するdbにおいてcolumnに対応する名前をnameに更新します。columnは永続オブジェクトでなければいけません。
26828
+ .INDENT 7.0
26829
+ .TP
26830
+ .B Parameters
26831
+ .INDENT 7.0
26832
+ .IP \(bu 2
26833
+ \fBcolumn\fP \-\- 対象columnを指定します。
26834
+ .IP \(bu 2
26835
+ \fBname\fP \-\- 新しい名前を指定します。
26836
+ .IP \(bu 2
26837
+ \fBname_size\fP \-\- nameパラメータのsize(byte)を指定します。
26838
+ .UNINDENT
26839
+ .UNINDENT
26840
+ .UNINDENT
26841
+ .INDENT 0.0
26842
+ .TP
26843
+ .B int grn_column_name(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, char\fI\ *namebuf\fP, int\fI\ buf_size\fP)
26844
+ カラムobjの名前の長さを返します。buf_sizeの長さが名前の長さ以上であった場合は、namebufに該当する名前をコピーします。
26845
+ .INDENT 7.0
26846
+ .TP
26847
+ .B Parameters
26848
+ .INDENT 7.0
26849
+ .IP \(bu 2
26850
+ \fBobj\fP \-\- 対象objectを指定します。
26851
+ .IP \(bu 2
26852
+ \fBnamebuf\fP \-\- 名前を格納するバッファ(呼出側で準備する)を指定します。
26853
+ .IP \(bu 2
26854
+ \fBbuf_size\fP \-\- namebufのサイズ(byte長)を指定します。
26855
+ .UNINDENT
26856
+ .UNINDENT
26857
+ .UNINDENT
26858
+ .INDENT 0.0
26859
+ .TP
26860
+ .B int grn_column_index(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *column\fP, grn_operator\fI\ op\fP, grn_obj\fI\ **indexbuf\fP, int\fI\ buf_size\fP, int\fI\ *section\fP)
26861
+ columnに張られているindexのうち、opの操作を実行可能なものの数を返します。またそれらのidを、buf_sizeに指定された個数を上限としてindexbufに返します。
26862
+ .INDENT 7.0
26863
+ .TP
26864
+ .B Parameters
26865
+ .INDENT 7.0
26866
+ .IP \(bu 2
26867
+ \fBcolumn\fP \-\- 対象のcolumnを指定します。
26868
+ .IP \(bu 2
26869
+ \fBop\fP \-\- indexで実行したい操作を指定します。
26870
+ .IP \(bu 2
26871
+ \fBindexbuf\fP \-\- indexを格納するバッファ(呼出側で準備する)を指定します。
26872
+ .IP \(bu 2
26873
+ \fBbuf_size\fP \-\- indexbufのサイズ(byte長)を指定します。
26874
+ .IP \(bu 2
26875
+ \fBsection\fP \-\- section番号を格納するint長バッファ(呼出側で準備する)を指定します。
26876
+ .UNINDENT
26877
+ .UNINDENT
26878
+ .UNINDENT
26879
+ .SS \fBgrn_command_version\fP
26880
+ .SS Summary
26881
+ .sp
26882
+ TODO...
26883
+ .SS Example
26884
+ .sp
26885
+ TODO...
26886
+ .SS Reference
26887
+ .INDENT 0.0
26888
+ .TP
26889
+ .B grn_command_version
26890
+ .UNINDENT
26891
+ .INDENT 0.0
26892
+ .TP
26893
+ .B GRN_COMMAND_VERSION_MIN
26894
+ .UNINDENT
26895
+ .INDENT 0.0
26896
+ .TP
26897
+ .B GRN_COMMAND_VERSION_STABLE
26898
+ .UNINDENT
26899
+ .INDENT 0.0
26900
+ .TP
26901
+ .B GRN_COMMAND_VERSION_MAX
26902
+ .UNINDENT
26903
+ .INDENT 0.0
26904
+ .TP
26905
+ .B grn_command_version grn_get_default_command_version(void)
26906
+ デフォルトのcommand_versionを返します。
26907
+ .UNINDENT
26908
+ .INDENT 0.0
26909
+ .TP
26910
+ .B grn_rc grn_set_default_command_version(grn_command_version\fI\ version\fP)
26911
+ デフォルトのcommand_versionを変更します。
26912
+ .INDENT 7.0
26913
+ .TP
26914
+ .B Parameters
26915
+ .INDENT 7.0
26916
+ .IP \(bu 2
26917
+ \fBversion\fP \-\- 変更後のデフォルトのcommand_versionを指定します。
26918
+ .UNINDENT
26919
+ .UNINDENT
26920
+ .UNINDENT
26921
+ .SS \fBgrn_ctx\fP
26922
+ .SS Summary
26923
+ .sp
26924
+ \fBgrn_ctx\fP is the most important object. \fBgrn_ctx\fP
26925
+ keeps the current infomation such as:
26926
+ .INDENT 0.0
26927
+ .IP \(bu 2
26928
+ The last occurred error.
26929
+ .IP \(bu 2
26930
+ The current encoding.
26931
+ .IP \(bu 2
26932
+ The default thresholds. (e.g. \fImatch\-escalation\-threshold\fP)
26933
+ .IP \(bu 2
26934
+ The default command version. (See \fB/reference/command/command_version\fP)
26935
+ .UNINDENT
26936
+ .sp
26937
+ \fBgrn_ctx\fP provides platform features such as:
26938
+ .INDENT 0.0
26939
+ .IP \(bu 2
26940
+ Memory management.
26941
+ .IP \(bu 2
26942
+ Logging.
26943
+ .UNINDENT
26944
+ .sp
26945
+ Most APIs receive \fBgrn_ctx\fP as the first argument.
26946
+ .sp
26947
+ You can\(aqt use the same \fBgrn_ctx\fP from two or more threads. You
26948
+ need to create a \fBgrn_ctx\fP for a thread. You can use two or
26949
+ more \fBgrn_ctx\fP in a thread but it is not needed for usual
26950
+ use\-case.
26951
+ .SS Example
26952
+ .sp
26953
+ TODO...
26954
+ .SS Reference
26955
+ .INDENT 0.0
26956
+ .TP
26957
+ .B grn_ctx
26958
+ TODO...
26959
+ .UNINDENT
26960
+ .INDENT 0.0
26961
+ .TP
26962
+ .B grn_rc grn_ctx_init(grn_ctx\fI\ *ctx\fP, int\fI\ flags\fP)
26963
+ ctxを初期化します。
26964
+ .INDENT 7.0
26965
+ .TP
26966
+ .B Parameters
26967
+ .INDENT 7.0
26968
+ .IP \(bu 2
26969
+ \fBctx\fP \-\- 初期化するctx構造体へのポインタを指定します。
26970
+ .IP \(bu 2
26971
+ \fBflags\fP \-\- 初期化する \fBctx\fP のオプションを指定します。
26972
+ .UNINDENT
26973
+ .TP
26974
+ .B Returns
26975
+ \fBGRN_SUCCESS\fP on success, not \fBGRN_SUCCESS\fP on error.
26976
+ .UNINDENT
26977
+ .UNINDENT
26978
+ .INDENT 0.0
26979
+ .TP
26980
+ .B grn_rc grn_ctx_fin(grn_ctx\fI\ *ctx\fP)
26981
+ ctxの管理するメモリを解放し、使用を終了します。
26982
+ .sp
26983
+ If \fBctx\fP is initialized by \fBgrn_ctx_open()\fP not \fBgrn_ctx_init()\fP. You need also to call \fBgrn_ctx_close()\fP.
26984
+ .INDENT 7.0
26985
+ .TP
26986
+ .B Parameters
26987
+ .INDENT 7.0
26988
+ .IP \(bu 2
26989
+ \fBctx\fP \-\- 解放するctx構造体へのポインタを指定します。
26990
+ .UNINDENT
26991
+ .TP
26992
+ .B Returns
26993
+ \fBGRN_SUCCESS\fP on success, not \fBGRN_SUCCESS\fP on error.
26994
+ .UNINDENT
26995
+ .UNINDENT
26996
+ .INDENT 0.0
26997
+ .TP
26998
+ .B grn_ctx *grn_ctx_open(int\fI\ flags\fP)
26999
+ 初期化された \fBgrn_ctx\fP オブジェクトを返します。
27000
+ .sp
27001
+ \fBgrn_ctx_init()\fP で初期化された \fBgrn_ctx\fP オブジェクトは構造体の実体をAPIの呼び元で確保するのに対して、 \fBgrn_ctx_open()\fP ではgroongaライブラリの内部で、実体を確保します。
27002
+ どちらで初期化された \fBgrn_ctx\fP も、 \fBgrn_ctx_fin()\fP で解放できます。
27003
+ \fBgrn_ctx_open()\fP で確保した \fBgrn_ctx\fP 構造体に関しては、\fBgrn_ctx_fin()\fP で解放した後に、その \fBgrn_ctx\fP で作成した \fBgrn_obj\fP を \fBgrn_obj_close()\fP によって解放しても問題ありません。
27004
+ .INDENT 7.0
27005
+ .TP
27006
+ .B Parameters
27007
+ .INDENT 7.0
27008
+ .IP \(bu 2
27009
+ \fBflags\fP \-\- 初期化する \fBctx\fP のオプションを指定します。
27010
+ .UNINDENT
27011
+ .TP
27012
+ .B Returns
27013
+ 初期化された \fBgrn_ctx\fP オブジェクトを返します。
27014
+ .UNINDENT
27015
+ .UNINDENT
27016
+ .INDENT 0.0
27017
+ .TP
27018
+ .B grn_rc grn_ctx_close(grn_ctx\fI\ *ctx\fP)
27019
+ It calls \fBgrn_ctx_fin()\fP and frees allocated memory for \fBctx\fP by \fBgrn_ctx_open()\fP.
27020
+ .INDENT 7.0
27021
+ .TP
27022
+ .B Parameters
27023
+ .INDENT 7.0
27024
+ .IP \(bu 2
27025
+ \fBctx\fP \-\- no longer needed \fBgrn_ctx\fP.
27026
+ .UNINDENT
27027
+ .TP
27028
+ .B Returns
27029
+ \fBGRN_SUCCESS\fP on success, not \fBGRN_SUCCESS\fP on error.
27030
+ .UNINDENT
27031
+ .UNINDENT
27032
+ .INDENT 0.0
27033
+ .TP
27034
+ .B grn_rc grn_ctx_set_finalizer(grn_ctx\fI\ *ctx\fP, grn_proc_func\fI\ *func\fP)
27035
+ ctxを破棄するときに呼ばれる関数を設定します。
27036
+ .INDENT 7.0
27037
+ .TP
27038
+ .B Parameters
27039
+ .INDENT 7.0
27040
+ .IP \(bu 2
27041
+ \fBctx\fP \-\- 対象ctxを指定します。
27042
+ .IP \(bu 2
27043
+ \fBfunc\fP \-\- \fBctx\fP を破棄するときに呼ばれる関数を指定します。
27044
+ .UNINDENT
27045
+ .TP
27046
+ .B Returns
27047
+ \fBGRN_SUCCESS\fP on success, not \fBGRN_SUCCESS\fP on error.
27048
+ .UNINDENT
27049
+ .UNINDENT
27050
+ .INDENT 0.0
27051
+ .TP
27052
+ .B grn_command_version grn_ctx_get_command_version(grn_ctx\fI\ *ctx\fP)
27053
+ command_versionを返します。
27054
+ .UNINDENT
27055
+ .INDENT 0.0
27056
+ .TP
27057
+ .B grn_rc grn_ctx_set_command_version(grn_ctx\fI\ *ctx\fP, grn_command_version\fI\ version\fP)
27058
+ command_versionを変更します。
27059
+ .INDENT 7.0
27060
+ .TP
27061
+ .B Parameters
27062
+ .INDENT 7.0
27063
+ .IP \(bu 2
27064
+ \fBversion\fP \-\- 変更後のcommand_versionを指定します。
27065
+ .UNINDENT
27066
+ .UNINDENT
27067
+ .UNINDENT
27068
+ .INDENT 0.0
27069
+ .TP
27070
+ .B grn_rc grn_ctx_use(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *db\fP)
27071
+ ctxが操作対象とするdbを指定します。NULLを指定した場合は、dbを操作しない状態(init直後の状態)になります。
27072
+ .sp
27073
+ Don\(aqt use it with \fBgrn_ctx\fP that has \fBGRN_CTX_PER_DB\fP flag.
27074
+ .INDENT 7.0
27075
+ .TP
27076
+ .B Parameters
27077
+ .INDENT 7.0
27078
+ .IP \(bu 2
27079
+ \fBdb\fP \-\- ctxが使用するdbを指定します。
27080
+ .UNINDENT
27081
+ .UNINDENT
27082
+ .UNINDENT
27083
+ .INDENT 0.0
27084
+ .TP
27085
+ .B grn_obj *grn_ctx_db(grn_ctx\fI\ *ctx\fP)
27086
+ ctxが現在操作対象としているdbを返します。dbを使用していない場合はNULLを返します。
27087
+ .UNINDENT
27088
+ .INDENT 0.0
27089
+ .TP
27090
+ .B grn_obj *grn_ctx_get(grn_ctx\fI\ *ctx\fP, const char\fI\ *name\fP, int\fI\ name_size\fP)
27091
+ ctxが使用するdbからnameに対応するオブジェクトを検索して返す。nameに一致するオブジェクトが存在しなければNULLを返す。
27092
+ .INDENT 7.0
27093
+ .TP
27094
+ .B Parameters
27095
+ .INDENT 7.0
27096
+ .IP \(bu 2
27097
+ \fBname\fP \-\- 検索しようとするオブジェクトの名前。
27098
+ .IP \(bu 2
27099
+ \fBname_size\fP \-\- The number of bytes of name. If negative value is specified, name is assumed that NULL\-terminated string.
27100
+ .UNINDENT
27101
+ .UNINDENT
27102
+ .UNINDENT
27103
+ .INDENT 0.0
27104
+ .TP
27105
+ .B grn_obj *grn_ctx_at(grn_ctx\fI\ *ctx\fP, grn_id\fI\ id\fP)
27106
+ ctx、またはctxが使用するdbからidに対応するオブジェクトを検索して返す。idに一致するオブジェクトが存在しなければNULLを返す。
27107
+ .INDENT 7.0
27108
+ .TP
27109
+ .B Parameters
27110
+ .INDENT 7.0
27111
+ .IP \(bu 2
27112
+ \fBid\fP \-\- 検索しようとするオブジェクトのidを指定します。
27113
+ .UNINDENT
27114
+ .UNINDENT
27115
+ .UNINDENT
27116
+ .SS \fBgrn_db\fP
27117
+ .SS Summary
27118
+ .sp
27119
+ TODO...
27120
+ .SS Example
27121
+ .sp
27122
+ TODO...
27123
+ .SS Reference
27124
+ .sp
27125
+ TODO...
27126
+ .INDENT 0.0
27127
+ .TP
27128
+ .B grn_db
27129
+ TODO...
27130
+ .UNINDENT
27131
+ .INDENT 0.0
27132
+ .TP
27133
+ .B grn_db_create_optarg
27134
+ It is used for specifying options for \fBgrn_db_create()\fP.
27135
+ .UNINDENT
27136
+ .INDENT 0.0
27137
+ .TP
27138
+ .B char **grn_db_create_optarg.builtin_type_names
27139
+ 組み込み型の名前となるnul終端文字列の配列を指定する。
27140
+ .UNINDENT
27141
+ .INDENT 0.0
27142
+ .TP
27143
+ .B int grn_db_create_optarg.n_builtin_type_names
27144
+ n_builtin_type_namesには、optarg.builtin_type_namesで指定する文字列の数を
27145
+ 指定する。配列のoffsetはenum型grn_builtin_typeの値に対応する。
27146
+ .UNINDENT
27147
+ .INDENT 0.0
27148
+ .TP
27149
+ .B grn_obj *grn_db_create(grn_ctx\fI\ *ctx\fP, const char\fI\ *path\fP, grn_db_create_optarg\fI\ *optarg\fP)
27150
+ 新たなdbを作成します。
27151
+ .INDENT 7.0
27152
+ .TP
27153
+ .B Parameters
27154
+ .INDENT 7.0
27155
+ .IP \(bu 2
27156
+ \fBctx\fP \-\- 初期化済みの \fBgrn_ctx\fP を指定します。
27157
+ .IP \(bu 2
27158
+ \fBpath\fP \-\- 作成するdbを格納するファイルパスを指定します。NULLならtemporary dbとなります。NULL以外のパスを指定した場合はpersistent dbとなります。
27159
+ .IP \(bu 2
27160
+ \fBoptarg\fP \-\-
27161
+ .sp
27162
+ Currently, it is not used. It is just ignored.
27163
+ .sp
27164
+ 作成するdbの組み込み型の名前を変更する時に指定します。
27165
+ .sp
27166
+ optarg.builtin_type_namesには、組み込み型の名前となるnull終端文字列の配列を指定します。optarg.n_builtin_type_namesには、optarg.builtin_type_namesで指定する文字列の数を指定します。配列のoffsetはenum型grn_builtin_typeの値に対応します。
27167
+
27168
+ .UNINDENT
27169
+ .UNINDENT
27170
+ .UNINDENT
27171
+ .INDENT 0.0
27172
+ .TP
27173
+ .B grn_obj *grn_db_open(grn_ctx\fI\ *ctx\fP, const char\fI\ *path\fP)
27174
+ 既存のdbを開きます。
27175
+ .INDENT 7.0
27176
+ .TP
27177
+ .B Parameters
27178
+ .INDENT 7.0
27179
+ .IP \(bu 2
27180
+ \fBpath\fP \-\- 開こうとするdbを格納するファイルパスを指定します。
27181
+ .UNINDENT
27182
+ .UNINDENT
27183
+ .UNINDENT
27184
+ .INDENT 0.0
27185
+ .TP
27186
+ .B void grn_db_touch(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *db\fP)
27187
+ dbの内容の最終更新時刻を現在時刻にします。
27188
+ .sp
27189
+ 最終更新時刻はキャッシュが有効かどうかの判断などに利用されます。
27190
+ .INDENT 7.0
27191
+ .TP
27192
+ .B Parameters
27193
+ .INDENT 7.0
27194
+ .IP \(bu 2
27195
+ \fBdb\fP \-\- 内容が変更されたdbを指定します。
27196
+ .UNINDENT
27197
+ .UNINDENT
27198
+ .UNINDENT
27199
+ .INDENT 0.0
27200
+ .TP
27201
+ .B grn_obj *grn_obj_db(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP)
27202
+ objの属するdbを返します。
27203
+ .INDENT 7.0
27204
+ .TP
27205
+ .B Parameters
27206
+ .INDENT 7.0
27207
+ .IP \(bu 2
27208
+ \fBobj\fP \-\- 対象objectを指定します。
27209
+ .UNINDENT
27210
+ .UNINDENT
27211
+ .UNINDENT
27212
+ .SS \fBgrn_encoding\fP
27213
+ .SS Summary
27214
+ .sp
27215
+ TODO...
27216
+ .SS Example
27217
+ .sp
27218
+ TODO...
27219
+ .SS Reference
27220
+ .INDENT 0.0
27221
+ .TP
27222
+ .B grn_encoding
27223
+ TODO...
27224
+ .UNINDENT
27225
+ .INDENT 0.0
27226
+ .TP
27227
+ .B grn_encoding grn_get_default_encoding(void)
27228
+ デフォルトのencodingを返します。
27229
+ .UNINDENT
27230
+ .INDENT 0.0
27231
+ .TP
27232
+ .B grn_rc grn_set_default_encoding(grn_encoding\fI\ encoding\fP)
27233
+ デフォルトのencodingを変更します。
27234
+ .INDENT 7.0
27235
+ .TP
27236
+ .B Parameters
27237
+ .INDENT 7.0
27238
+ .IP \(bu 2
27239
+ \fBencoding\fP \-\- 変更後のデフォルトのencodingを指定します。
27240
+ .UNINDENT
27241
+ .UNINDENT
27242
+ .UNINDENT
27243
+ .INDENT 0.0
27244
+ .TP
27245
+ .B const char *grn_encoding_to_string(grn_encoding\fI\ encoding\fP)
27246
+ Returns string representation for the encoding. For example, \(aqgrn_encoding_to_string(\fBGRN_ENC_UTF8\fP)\(aq returns \(aq"utf8"\(aq.
27247
+ .sp
27248
+ "unknown" is returned for invalid encoding.
27249
+ .INDENT 7.0
27250
+ .TP
27251
+ .B Parameters
27252
+ .INDENT 7.0
27253
+ .IP \(bu 2
27254
+ \fBencoding\fP \-\- The encoding.
27255
+ .UNINDENT
27256
+ .UNINDENT
27257
+ .UNINDENT
27258
+ .INDENT 0.0
27259
+ .TP
27260
+ .B grn_encoding grn_encoding_parse(const char\fI\ *name\fP)
27261
+ Parses encoding name and returns grn_encoding. For example, \(aqgrn_encoding_parse("UTF8")\(aq returns \(aq\fBGRN_ENC_UTF8\fP\(aq.
27262
+ .sp
27263
+ \fBGRN_ENC_UTF8\fP is returned for invalid encoding name.
27264
+ .INDENT 7.0
27265
+ .TP
27266
+ .B Parameters
27267
+ .INDENT 7.0
27268
+ .IP \(bu 2
27269
+ \fBname\fP \-\- The encoding name.
27270
+ .UNINDENT
27271
+ .UNINDENT
27272
+ .UNINDENT
27273
+ .SS grn_expr
27274
+ .sp
27275
+ \fIgrn_expr\fP is an \fBgrn_obj\fP that represents an expression. Here
27276
+ is a list of what expression can do:
27277
+ .INDENT 0.0
27278
+ .INDENT 3.5
27279
+ .INDENT 0.0
27280
+ .IP \(bu 2
27281
+ Expression can apply some operations to a record by
27282
+ \fBgrn_expr_exec()\fP.
27283
+ .IP \(bu 2
27284
+ Expression can represents search condition. \fBgrn_table_select()\fP
27285
+ can select records that match against the search condition represented
27286
+ by expression.
27287
+ .UNINDENT
27288
+ .UNINDENT
27289
+ .UNINDENT
27290
+ .sp
27291
+ There are two string representations of expression:
27292
+ .INDENT 0.0
27293
+ .INDENT 3.5
27294
+ .INDENT 0.0
27295
+ .IP \(bu 2
27296
+ \fB/reference/grn_expr/query_syntax\fP
27297
+ .IP \(bu 2
27298
+ \fB/reference/grn_expr/script_syntax\fP
27299
+ .UNINDENT
27300
+ .UNINDENT
27301
+ .UNINDENT
27302
+ .sp
27303
+ \fBgrn_expr_parse()\fP parses string represented expression and
27304
+ appends the parsed expression to another expression.
27305
+ .SS Example
27306
+ .sp
27307
+ TODO...
27308
+ .SS Reference
27309
+ .INDENT 0.0
27310
+ .TP
27311
+ .B GRN_API grn_obj *grn_expr_create(grn_ctx\fI\ *ctx\fP, const char\fI\ *name\fP, unsigned int\fI\ name_size\fP)
27312
+ .UNINDENT
27313
+ .INDENT 0.0
27314
+ .TP
27315
+ .B GRN_API grn_rc grn_expr_close(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *expr\fP)
27316
+ .UNINDENT
27317
+ .INDENT 0.0
27318
+ .TP
27319
+ .B GRN_API grn_obj *grn_expr_add_var(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *expr\fP, const char\fI\ *name\fP, unsigned int\fI\ name_size\fP)
27320
+ .UNINDENT
27321
+ .INDENT 0.0
27322
+ .TP
27323
+ .B GRN_API grn_obj *grn_expr_get_var_by_offset(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *expr\fP, unsigned int\fI\ offset\fP)
27324
+ .UNINDENT
27325
+ .INDENT 0.0
27326
+ .TP
27327
+ .B GRN_API grn_obj *grn_expr_append_obj(grn_ctx *ctx, grn_obj *expr, grn_obj *obj, grn_operator op, int nargs);
27328
+ .UNINDENT
27329
+ .INDENT 0.0
27330
+ .TP
27331
+ .B GRN_API grn_obj *grn_expr_append_const(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *expr\fP, grn_obj\fI\ *obj\fP, grn_operator\fI\ op\fP, int\fI\ nargs\fP)
27332
+ .UNINDENT
27333
+ .INDENT 0.0
27334
+ .TP
27335
+ .B GRN_API grn_obj *grn_expr_append_const_str(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *expr\fP, const char\fI\ *str\fP, unsigned int\fI\ str_size\fP, grn_operator\fI\ op\fP, int\fI\ nargs\fP)
27336
+ .UNINDENT
27337
+ .INDENT 0.0
27338
+ .TP
27339
+ .B GRN_API grn_obj *grn_expr_append_const_int(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *expr\fP, int\fI\ i\fP, grn_operator\fI\ op\fP, int\fI\ nargs\fP)
27340
+ .UNINDENT
27341
+ .INDENT 0.0
27342
+ .TP
27343
+ .B GRN_API grn_rc grn_expr_append_op(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *expr\fP, grn_operator\fI\ op\fP, int\fI\ nargs\fP)
27344
+ .UNINDENT
27345
+ .INDENT 0.0
27346
+ .TP
27347
+ .B grn_rc grn_expr_syntax_escape(grn_ctx\fI\ *ctx\fP, const char\fI\ *string\fP, int\fI\ string_size\fP, const char\fI\ *target_characters\fP, char\fI\ escape_character\fP, grn_obj\fI\ *escaped_string\fP)
27348
+ Escapes \fBtarget_characters\fP in \fBstring\fP by \fBescape_character\fP.
27349
+ .INDENT 7.0
27350
+ .TP
27351
+ .B Parameters
27352
+ .INDENT 7.0
27353
+ .IP \(bu 2
27354
+ \fBctx\fP \-\- Its encoding must be the same encoding of \fBstring\fP.
27355
+ It is used for allocating buffer for \fBescaped_string\fP.
27356
+ .IP \(bu 2
27357
+ \fBstring\fP \-\- String expression representation.
27358
+ .IP \(bu 2
27359
+ \fBstring_size\fP \-\- The byte size of \fBstring\fP. \fB\-1\fP means \fBstring\fP
27360
+ is NULL terminated string.
27361
+ .IP \(bu 2
27362
+ \fBtarget_characters\fP \-\- NULL terminated escape target characters.
27363
+ For example, \fB"+\-><~*()\e"\e\e:"\fP is
27364
+ \fBtarget_characters\fP for
27365
+ \fB/reference/grn_expr/query_syntax\fP.
27366
+ .IP \(bu 2
27367
+ \fBescape_character\fP \-\- The character to use escape a character in
27368
+ \fBtarget_characters\fP. For example, \fB\e\e\fP
27369
+ (backslash) is \fBescaped_character\fP for
27370
+ \fB/reference/grn_expr/query_syntax\fP.
27371
+ .IP \(bu 2
27372
+ \fBescaped_string\fP \-\- The output of escaped \fBstring\fP. It should be
27373
+ text typed bulk.
27374
+ .UNINDENT
27375
+ .TP
27376
+ .B Returns
27377
+ \fBGRN_SUCCESS\fP on success, not \fBGRN_SUCCESS\fP on error.
27378
+ .UNINDENT
27379
+ .UNINDENT
27380
+ .INDENT 0.0
27381
+ .TP
27382
+ .B grn_rc grn_expr_syntax_escape_query(grn_ctx\fI\ *ctx\fP, const char\fI\ *query\fP, int\fI\ query_size\fP, grn_obj\fI\ *escaped_query\fP)
27383
+ Escapes special characters in
27384
+ \fB/reference/grn_expr/query_syntax\fP.
27385
+ .INDENT 7.0
27386
+ .TP
27387
+ .B Parameters
27388
+ .INDENT 7.0
27389
+ .IP \(bu 2
27390
+ \fBctx\fP \-\- Its encoding must be the same encoding of \fBquery\fP.
27391
+ It is used for allocating buffer for \fBescaped_query\fP.
27392
+ .IP \(bu 2
27393
+ \fBquery\fP \-\- String expression representation in
27394
+ \fB/reference/grn_expr/query_syntax\fP.
27395
+ .IP \(bu 2
27396
+ \fBquery_size\fP \-\- The byte size of \fBquery\fP. \fB\-1\fP means \fBquery\fP
27397
+ is NULL terminated string.
27398
+ .IP \(bu 2
27399
+ \fBescaped_query\fP \-\- The output of escaped \fBquery\fP. It should be
27400
+ text typed bulk.
27401
+ .UNINDENT
27402
+ .TP
27403
+ .B Returns
27404
+ \fBGRN_SUCCESS\fP on success, not \fBGRN_SUCCESS\fP on error.
27405
+ .UNINDENT
27406
+ .UNINDENT
27407
+ .INDENT 0.0
27408
+ .TP
27409
+ .B GRN_API grn_rc grn_expr_compile(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *expr\fP)
27410
+ .UNINDENT
27411
+ .INDENT 0.0
27412
+ .TP
27413
+ .B GRN_API grn_obj *grn_expr_exec(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *expr\fP, int\fI\ nargs\fP)
27414
+ .UNINDENT
27415
+ .INDENT 0.0
27416
+ .TP
27417
+ .B GRN_API grn_obj *grn_expr_alloc(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *expr\fP, grn_id\fI\ domain\fP, grn_obj_flags\fI\ flags\fP)
27418
+ .UNINDENT
27419
+ .SS \fBgrn_geo\fP
27420
+ .SS Summary
27421
+ .sp
27422
+ TODO...
27423
+ .SS Example
27424
+ .sp
27425
+ TODO...
27426
+ .SS Reference
27427
+ .INDENT 0.0
27428
+ .TP
27429
+ .B grn_geo_point
27430
+ .UNINDENT
27431
+ .INDENT 0.0
27432
+ .TP
27433
+ .B grn_rc grn_geo_select_in_rectangle(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *index\fP, grn_obj\fI\ *top_left_point\fP, grn_obj\fI\ *bottom_right_point\fP, grn_obj\fI\ *res\fP, grn_operator\fI\ op\fP)
27434
+ It selects records that are in the rectangle specified by top_left_point parameter and bottom_right_point parameter. Records are searched by index parameter. Found records are added to res parameter table with op parameter operation.
27435
+ .INDENT 7.0
27436
+ .TP
27437
+ .B Parameters
27438
+ .INDENT 7.0
27439
+ .IP \(bu 2
27440
+ \fBindex\fP \-\- the index column for TokyoGeoPoint or WGS84GeoPpoint type.
27441
+ .IP \(bu 2
27442
+ \fBtop_left_point\fP \-\- the top left point of the target rectangle. (ShortText, Text, LongText, TokyoGeoPoint or WGS84GeoPoint)
27443
+ .IP \(bu 2
27444
+ \fBbottom_right_point\fP \-\- the bottom right point of the target rectangle. (ShortText, Text, LongText, TokyoGeoPoint or WGS84GeoPoint)
27445
+ .IP \(bu 2
27446
+ \fBres\fP \-\- the table to store found record IDs. It must be \fBGRN_TABLE_HASH_KEY\fP type table.
27447
+ .IP \(bu 2
27448
+ \fBop\fP \-\- the operator for matched records.
27449
+ .UNINDENT
27450
+ .UNINDENT
27451
+ .UNINDENT
27452
+ .INDENT 0.0
27453
+ .TP
27454
+ .B int grn_geo_estimate_in_rectangle(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *index\fP, grn_obj\fI\ *top_left_point\fP, grn_obj\fI\ *bottom_right_point\fP)
27455
+ It estimates number of records in the rectangle specified by top_left_point parameter and bottom_right_point parameter. Number of records is estimated by index parameter. If an error is occurred, \-1 is returned.
27456
+ .INDENT 7.0
27457
+ .TP
27458
+ .B Parameters
27459
+ .INDENT 7.0
27460
+ .IP \(bu 2
27461
+ \fBindex\fP \-\- the index column for TokyoGeoPoint or WGS84GeoPpoint type.
27462
+ .IP \(bu 2
27463
+ \fBtop_left_point\fP \-\- the top left point of the target rectangle. (ShortText, Text, LongText, TokyoGeoPoint or WGS84GeoPoint)
27464
+ .IP \(bu 2
27465
+ \fBbottom_right_point\fP \-\- the bottom right point of the target rectangle. (ShortText, Text, LongText, TokyoGeoPoint or WGS84GeoPoint)
27466
+ .UNINDENT
27467
+ .UNINDENT
27468
+ .UNINDENT
27469
+ .INDENT 0.0
27470
+ .TP
27471
+ .B grn_obj *grn_geo_cursor_open_in_rectangle(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *index\fP, grn_obj\fI\ *top_left_point\fP, grn_obj\fI\ *bottom_right_point\fP, int\fI\ offset\fP, int\fI\ limit\fP)
27472
+ It opens a cursor to get records in the rectangle specfied by top_left_point parameter and bottom_right_point parameter.
27473
+ .INDENT 7.0
27474
+ .TP
27475
+ .B Parameters
27476
+ .INDENT 7.0
27477
+ .IP \(bu 2
27478
+ \fBindex\fP \-\- the index column for TokyoGeoPoint or WGS84GeoPpoint type.
27479
+ .IP \(bu 2
27480
+ \fBtop_left_point\fP \-\- the top left point of the target rectangle. (ShortText, Text, LongText, TokyoGeoPoint or WGS84GeoPoint)
27481
+ .IP \(bu 2
27482
+ \fBbottom_right_point\fP \-\- the bottom right point of the target rectangle. (ShortText, Text, LongText, TokyoGeoPoint or WGS84GeoPoint)
27483
+ .IP \(bu 2
27484
+ \fBoffset\fP \-\- the cursor returns records from offset parameter position. offset parameter is based on 0.
27485
+ .IP \(bu 2
27486
+ \fBlimit\fP \-\- the cursor returns at most limit parameter records. \-1 means no limit.
27487
+ .UNINDENT
27488
+ .UNINDENT
27489
+ .UNINDENT
27490
+ .INDENT 0.0
27491
+ .TP
27492
+ .B grn_posting *grn_geo_cursor_next(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *cursor\fP)
27493
+ It returns the next posting that has record ID. It returns NULL after all records are returned.
27494
+ .INDENT 7.0
27495
+ .TP
27496
+ .B Parameters
27497
+ .INDENT 7.0
27498
+ .IP \(bu 2
27499
+ \fBcursor\fP \-\- the geo cursor.
27500
+ .UNINDENT
27501
+ .UNINDENT
27502
+ .UNINDENT
27503
+ .SS \fBgrn_hook\fP
27504
+ .SS Summary
27505
+ .sp
27506
+ TODO...
27507
+ .SS Example
27508
+ .sp
27509
+ TODO...
27510
+ .SS Reference
27511
+ .INDENT 0.0
27512
+ .TP
27513
+ .B grn_hook_entry
27514
+ TODO...
27515
+ .UNINDENT
27516
+ .INDENT 0.0
27517
+ .TP
27518
+ .B grn_rc grn_obj_add_hook(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, grn_hook_entry\fI\ entry\fP, int\fI\ offset\fP, grn_obj\fI\ *proc\fP, grn_obj\fI\ *data\fP)
27519
+ objに対してhookを追加します。
27520
+ .INDENT 7.0
27521
+ .TP
27522
+ .B Parameters
27523
+ .INDENT 7.0
27524
+ .IP \(bu 2
27525
+ \fBobj\fP \-\- 対象objectを指定します。
27526
+ .IP \(bu 2
27527
+ \fBentry\fP \-\-
27528
+ .sp
27529
+ \fBGRN_HOOK_GET\fP は、objectの参照時に呼び出されるhookを定義します。
27530
+ .sp
27531
+ \fBGRN_HOOK_SET\fP は、objectの更新時に呼び出されるhookを定義します。
27532
+ .sp
27533
+ \fBGRN_HOOK_SELECT\fP は、検索処理の実行中に適時呼び出され、処理の実行状況を調べたり、実行の中断を指示することができます。
27534
+
27535
+ .IP \(bu 2
27536
+ \fBoffset\fP \-\-
27537
+ .sp
27538
+ hookの実行順位。offsetに対応するhookの直前に新たなhookを挿入します。
27539
+ .sp
27540
+ 0を指定した場合は先頭に挿入されます。\-1を指定した場合は末尾に挿入されます。
27541
+ .sp
27542
+ objectに複数のhookが定義されている場合は順位の順に呼び出されます。
27543
+
27544
+ .IP \(bu 2
27545
+ \fBproc\fP \-\- 手続きを指定します。
27546
+ .IP \(bu 2
27547
+ \fBdata\fP \-\- hook固有情報を指定します。
27548
+ .UNINDENT
27549
+ .UNINDENT
27550
+ .UNINDENT
27551
+ .INDENT 0.0
27552
+ .TP
27553
+ .B int grn_obj_get_nhooks(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, grn_hook_entry\fI\ entry\fP)
27554
+ objに定義されているhookの数を返します。
27555
+ .INDENT 7.0
27556
+ .TP
27557
+ .B Parameters
27558
+ .INDENT 7.0
27559
+ .IP \(bu 2
27560
+ \fBobj\fP \-\- 対象objectを指定します。
27561
+ .IP \(bu 2
27562
+ \fBentry\fP \-\- hookタイプを指定します。
27563
+ .UNINDENT
27564
+ .UNINDENT
27565
+ .UNINDENT
27566
+ .INDENT 0.0
27567
+ .TP
27568
+ .B grn_obj *grn_obj_get_hook(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, grn_hook_entry\fI\ entry\fP, int\fI\ offset\fP, grn_obj\fI\ *data\fP)
27569
+ objに定義されているhookの手続き(proc)を返します。hook固有情報が定義されている場合は、その内容をdataにコピーして返します。
27570
+ .INDENT 7.0
27571
+ .TP
27572
+ .B Parameters
27573
+ .INDENT 7.0
27574
+ .IP \(bu 2
27575
+ \fBobj\fP \-\- 対象objectを指定します。
27576
+ .IP \(bu 2
27577
+ \fBentry\fP \-\- hookタイプを指定します。
27578
+ .IP \(bu 2
27579
+ \fBoffset\fP \-\- 実行順位を指定します。
27580
+ .IP \(bu 2
27581
+ \fBdata\fP \-\- hook固有情報格納バッファを指定します。
27582
+ .UNINDENT
27583
+ .UNINDENT
27584
+ .UNINDENT
27585
+ .INDENT 0.0
27586
+ .TP
27587
+ .B grn_rc grn_obj_delete_hook(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, grn_hook_entry\fI\ entry\fP, int\fI\ offset\fP)
27588
+ objに定義されているhookを削除します。
27589
+ .INDENT 7.0
27590
+ .TP
27591
+ .B Parameters
27592
+ .INDENT 7.0
27593
+ .IP \(bu 2
27594
+ \fBobj\fP \-\- 対象objectを指定します。
27595
+ .IP \(bu 2
27596
+ \fBentry\fP \-\- hookタイプを指定します。
27597
+ .IP \(bu 2
27598
+ \fBoffset\fP \-\- 実行順位を指定します。
27599
+ .UNINDENT
27600
+ .UNINDENT
27601
+ .UNINDENT
27602
+ .SS \fBgrn_ii\fP
27603
+ .SS Summary
27604
+ .sp
27605
+ buffered index builder
27606
+ .sp
27607
+ 特定のアプリケーション用に準備した内部APIです。
27608
+ .sp
27609
+ TODO...
27610
+ .SS Example
27611
+ .sp
27612
+ TODO...
27613
+ .SS Reference
27614
+ .INDENT 0.0
27615
+ .TP
27616
+ .B grn_ii
27617
+ .UNINDENT
27618
+ .INDENT 0.0
27619
+ .TP
27620
+ .B grn_ii_buffer
27621
+ .UNINDENT
27622
+ .INDENT 0.0
27623
+ .TP
27624
+ .B grn_ii_buffer *grn_ii_buffer_open(grn_ctx\fI\ *ctx\fP, grn_ii\fI\ *ii\fP, long long unsigned int\fI\ update_buffer_size\fP)
27625
+ .UNINDENT
27626
+ .INDENT 0.0
27627
+ .TP
27628
+ .B grn_rc grn_ii_buffer_append(grn_ctx\fI\ *ctx\fP, grn_ii_buffer\fI\ *ii_buffer\fP, grn_id\fI\ rid\fP, unsigned int\fI\ section\fP, grn_obj\fI\ *value\fP)
27629
+ .UNINDENT
27630
+ .INDENT 0.0
27631
+ .TP
27632
+ .B grn_rc grn_ii_buffer_commit(grn_ctx\fI\ *ctx\fP, grn_ii_buffer\fI\ *ii_buffer\fP)
27633
+ .UNINDENT
27634
+ .INDENT 0.0
27635
+ .TP
27636
+ .B grn_rc grn_ii_buffer_close(grn_ctx\fI\ *ctx\fP, grn_ii_buffer\fI\ *ii_buffer\fP)
27637
+ .UNINDENT
27638
+ .SS \fBgrn_index_cursor\fP
27639
+ .SS Summary
27640
+ .sp
27641
+ TODO...
27642
+ .SS Example
27643
+ .sp
27644
+ TODO...
27645
+ .SS Reference
27646
+ .INDENT 0.0
27647
+ .TP
27648
+ .B grn_obj *grn_index_cursor_open(grn_ctx\fI\ *ctx\fP, grn_table_cursor\fI\ *tc\fP, grn_obj\fI\ *index\fP, grn_id\fI\ rid_min\fP, grn_id\fI\ rid_max\fP, int\fI\ flags\fP)
27649
+ \fBgrn_table_cursor\fP から取得できるそれぞれのレコードについて、 \fBGRN_OBJ_COLUMN_INDEX\fP 型のカラムの値を順番に取り出すためのカーソルを生成して返します。
27650
+ .sp
27651
+ rid_min, rid_maxを指定して取得するレコードidの値を制限することができます。
27652
+ .sp
27653
+ 戻り値であるgrn_index_cursorは \fBgrn_obj_close()\fP を使って解放します。
27654
+ .INDENT 7.0
27655
+ .TP
27656
+ .B Parameters
27657
+ .INDENT 7.0
27658
+ .IP \(bu 2
27659
+ \fBtc\fP \-\- 対象cursorを指定します。
27660
+ .IP \(bu 2
27661
+ \fBindex\fP \-\- 対象インデックスカラムを指定します。
27662
+ .IP \(bu 2
27663
+ \fBrid_min\fP \-\- 出力するレコードidの下限を指定します。
27664
+ .IP \(bu 2
27665
+ \fBrid_max\fP \-\- 出力するレコードidの上限を指定します。
27666
+ .UNINDENT
27667
+ .UNINDENT
27668
+ .UNINDENT
27669
+ .INDENT 0.0
27670
+ .TP
27671
+ .B grn_posting *grn_index_cursor_next(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *ic\fP, grn_id\fI\ *tid\fP)
27672
+ cursorの範囲内のインデックスの値を順番に取り出します。
27673
+ .sp
27674
+ tidにNULL以外を指定した場合は、index_cursorを作成するときに指定したtable_cursorの現在の対象レコードのidを返します。
27675
+ .sp
27676
+ 戻り値である \fBgrn_posting\fP 構造体は解放する必要はありません。
27677
+ .INDENT 7.0
27678
+ .TP
27679
+ .B Parameters
27680
+ .INDENT 7.0
27681
+ .IP \(bu 2
27682
+ \fBic\fP \-\- 対象cursorを指定します。
27683
+ .IP \(bu 2
27684
+ \fBtid\fP \-\- テーブルレコードIDを指定します。
27685
+ .UNINDENT
27686
+ .UNINDENT
27687
+ .UNINDENT
27688
+ .SS \fBgrn_info\fP
27689
+ .SS Summary
27690
+ .sp
27691
+ TODO...
27692
+ .SS Example
27693
+ .sp
27694
+ TODO...
27695
+ .SS Reference
27696
+ .INDENT 0.0
27697
+ .TP
27698
+ .B grn_info_type
27699
+ TODO...
27700
+ .UNINDENT
27701
+ .INDENT 0.0
27702
+ .TP
27703
+ .B grn_obj *grn_obj_get_info(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, grn_info_type\fI\ type\fP, grn_obj\fI\ *valuebuf\fP)
27704
+ objのtypeに対応する情報をvaluebufに格納します。
27705
+ .INDENT 7.0
27706
+ .TP
27707
+ .B Parameters
27708
+ .INDENT 7.0
27709
+ .IP \(bu 2
27710
+ \fBobj\fP \-\- 対象objを指定します。
27711
+ .IP \(bu 2
27712
+ \fBtype\fP \-\- 取得する情報の種類を指定します。
27713
+ .IP \(bu 2
27714
+ \fBvaluebuf\fP \-\- 値を格納するバッファ(呼出側で準備)を指定します。
27715
+ .UNINDENT
27716
+ .UNINDENT
27717
+ .UNINDENT
27718
+ .INDENT 0.0
27719
+ .TP
27720
+ .B grn_rc grn_obj_set_info(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, grn_info_type\fI\ type\fP, grn_obj\fI\ *value\fP)
27721
+ objのtypeに対応する情報をvalueの内容に更新します。
27722
+ .INDENT 7.0
27723
+ .TP
27724
+ .B Parameters
27725
+ .INDENT 7.0
27726
+ .IP \(bu 2
27727
+ \fBobj\fP \-\- 対象objを指定します。
27728
+ .IP \(bu 2
27729
+ \fBtype\fP \-\- 設定する情報の種類を指定します。
27730
+ .UNINDENT
27731
+ .UNINDENT
27732
+ .UNINDENT
27733
+ .INDENT 0.0
27734
+ .TP
27735
+ .B grn_obj *grn_obj_get_element_info(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, grn_id\fI\ id\fP, grn_info_type\fI\ type\fP, grn_obj\fI\ *value\fP)
27736
+ objのidに対応するレコードの、typeに対応する情報をvaluebufに格納します。呼出側ではtypeに応じて十分なサイズのバッファを確保しなければいけません。
27737
+ .INDENT 7.0
27738
+ .TP
27739
+ .B Parameters
27740
+ .INDENT 7.0
27741
+ .IP \(bu 2
27742
+ \fBobj\fP \-\- 対象objを指定します。
27743
+ .IP \(bu 2
27744
+ \fBid\fP \-\- 対象IDを指定します。
27745
+ .IP \(bu 2
27746
+ \fBtype\fP \-\- 取得する情報の種類を指定します。
27747
+ .IP \(bu 2
27748
+ \fBvalue\fP \-\- 値を格納するバッファ(呼出側で準備)を指定します。
27749
+ .UNINDENT
27750
+ .UNINDENT
27751
+ .UNINDENT
27752
+ .INDENT 0.0
27753
+ .TP
27754
+ .B grn_rc grn_obj_set_element_info(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, grn_id\fI\ id\fP, grn_info_type\fI\ type\fP, grn_obj\fI\ *value\fP)
27755
+ objのidに対応するレコードのtypeに対応する情報をvalueの内容に更新します。
27756
+ .INDENT 7.0
27757
+ .TP
27758
+ .B Parameters
27759
+ .INDENT 7.0
27760
+ .IP \(bu 2
27761
+ \fBobj\fP \-\- 対象objectを指定します。
27762
+ .IP \(bu 2
27763
+ \fBid\fP \-\- 対象IDを指定します。
27764
+ .IP \(bu 2
27765
+ \fBtype\fP \-\- 設定する情報の種類を指定します。
27766
+ .IP \(bu 2
27767
+ \fBvalue\fP \-\- 設定しようとする値を指定します。
27768
+ .UNINDENT
27769
+ .UNINDENT
27770
+ .UNINDENT
27771
+ .SS \fBgrn_match_escalation\fP
27772
+ .SS Summary
27773
+ .sp
27774
+ TODO...
27775
+ .SS Example
27776
+ .sp
27777
+ TODO...
27778
+ .SS Reference
27779
+ .INDENT 0.0
27780
+ .TP
27781
+ .B long long int grn_ctx_get_match_escalation_threshold(grn_ctx\fI\ *ctx\fP)
27782
+ 検索の挙動をエスカレーションする閾値を返します。エスカレーションの詳細は検索の仕様に関するドキュメントを参照してください。
27783
+ .UNINDENT
27784
+ .INDENT 0.0
27785
+ .TP
27786
+ .B grn_rc grn_ctx_set_match_escalation_threshold(grn_ctx\fI\ *ctx\fP, long long int\fI\ threshold\fP)
27787
+ 検索の挙動をエスカレーションする閾値を変更します。エスカレーションの詳細は検索の仕様に関するドキュメントを参照してください。
27788
+ .INDENT 7.0
27789
+ .TP
27790
+ .B Parameters
27791
+ .INDENT 7.0
27792
+ .IP \(bu 2
27793
+ \fBthreshold\fP \-\- 変更後の検索の挙動をエスカレーションする閾値を指定します。
27794
+ .UNINDENT
27795
+ .UNINDENT
27796
+ .UNINDENT
27797
+ .INDENT 0.0
27798
+ .TP
27799
+ .B long long int grn_get_default_match_escalation_threshold(void)
27800
+ デフォルトの検索の挙動をエスカレーションする閾値を返します。エスカレーションの詳細は検索の仕様に関するドキュメントを参照してください。
27801
+ .UNINDENT
27802
+ .INDENT 0.0
27803
+ .TP
27804
+ .B grn_rc grn_set_default_match_escalation_threshold(long long int\fI\ threshold\fP)
27805
+ デフォルトの検索の挙動をエスカレーションする閾値を変更します。エスカレーションの詳細は詳細は検索の仕様に関するドキュメントを参照してください。
27806
+ .INDENT 7.0
27807
+ .TP
27808
+ .B Parameters
27809
+ .INDENT 7.0
27810
+ .IP \(bu 2
27811
+ \fBthreshold\fP \-\- 変更後のデフォルトの検索の挙動をエスカレーションする閾値を指定します。
27812
+ .UNINDENT
27813
+ .UNINDENT
27814
+ .UNINDENT
27815
+ .SS \fBgrn_obj\fP
27816
+ .SS Summary
27817
+ .sp
27818
+ TODO...
27819
+ .SS Example
27820
+ .sp
27821
+ TODO...
27822
+ .SS Reference
27823
+ .INDENT 0.0
27824
+ .TP
27825
+ .B grn_obj
27826
+ TODO...
27827
+ .UNINDENT
27828
+ .INDENT 0.0
27829
+ .TP
27830
+ .B grn_obj *grn_obj_column(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP, const char\fI\ *name\fP, unsigned int\fI\ name_size\fP)
27831
+ nameがカラム名の場合、それに対応するtableのカラムを返します。対応するカラムが存在しなければNULLを返します。
27832
+ .sp
27833
+ nameはアクセサ文字列の場合、それに対応するaccessorを返します。アクセサ文字列とは、カラム名等を\(aq.\(aqで連結した文字列です。\(aq_id\(aq, \(aq_key\(aqは特殊なアクセサで、それぞれレコードID/keyを返します。例) \(aqcol1\(aq / \(aqcol2.col3\(aq / \(aqcol2._id\(aq
27834
+ .INDENT 7.0
27835
+ .TP
27836
+ .B Parameters
27837
+ .INDENT 7.0
27838
+ .IP \(bu 2
27839
+ \fBtable\fP \-\- 対象tableを指定します。
27840
+ .IP \(bu 2
27841
+ \fBname\fP \-\- カラム名を指定します。
27842
+ .UNINDENT
27843
+ .UNINDENT
27844
+ .UNINDENT
27845
+ .INDENT 0.0
27846
+ .TP
27847
+ .B grn_bool grn_obj_is_builtin(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP)
27848
+ Check whether groonga built\-in object.
27849
+ .INDENT 7.0
27850
+ .TP
27851
+ .B Parameters
27852
+ .INDENT 7.0
27853
+ .IP \(bu 2
27854
+ \fBctx\fP \-\- context
27855
+ .IP \(bu 2
27856
+ \fBobj\fP \-\- target object
27857
+ .UNINDENT
27858
+ .TP
27859
+ .B Returns
27860
+ \fBGRN_TRUE\fP for built\-in groonga object, \fBGRN_FALSE\fP otherwise.
27861
+ .UNINDENT
27862
+ .UNINDENT
27863
+ .INDENT 0.0
27864
+ .TP
27865
+ .B grn_obj *grn_obj_get_value(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, grn_id\fI\ id\fP, grn_obj\fI\ *value\fP)
27866
+ objのIDに対応するレコードのvalueを取得します。valueを戻り値として返します。
27867
+ .INDENT 7.0
27868
+ .TP
27869
+ .B Parameters
27870
+ .INDENT 7.0
27871
+ .IP \(bu 2
27872
+ \fBobj\fP \-\- 対象objectを指定します。
27873
+ .IP \(bu 2
27874
+ \fBid\fP \-\- 対象レコードのIDを指定します。
27875
+ .IP \(bu 2
27876
+ \fBvalue\fP \-\- 値を格納するバッファ(呼出側で準備する)を指定します。
27877
+ .UNINDENT
27878
+ .UNINDENT
27879
+ .UNINDENT
27880
+ .INDENT 0.0
27881
+ .TP
27882
+ .B int grn_obj_get_values(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, grn_id\fI\ offset\fP, void\fI\ **values\fP)
27883
+ objに指定されたカラムについて、offsetに指定されたレコードIDを開始位置として、IDが連続するレコードに対応するカラム値が昇順に格納された配列へのポインタをvaluesにセットします。
27884
+ .sp
27885
+ 取得できた件数が戻り値として返されます。エラーが発生した場合は \-1 が返されます。
27886
+ .sp
27887
+ \fBNOTE:\fP
27888
+ .INDENT 7.0
27889
+ .INDENT 3.5
27890
+ 値が固定長であるカラムのみがobjに指定できます。範囲内のIDに対応するレコードが有効であるとは限りません。delete操作を実行したことのあるテーブルに対しては、\fBgrn_table_at()\fP などによって各レコードの存否を別途確認しなければなりません。
27891
+ .UNINDENT
27892
+ .UNINDENT
27893
+ .INDENT 7.0
27894
+ .TP
27895
+ .B Parameters
27896
+ .INDENT 7.0
27897
+ .IP \(bu 2
27898
+ \fBobj\fP \-\- 対象objectを指定します。
27899
+ .IP \(bu 2
27900
+ \fBoffset\fP \-\- 値を取得する範囲の開始位置となるレコードIDを指定します。
27901
+ .IP \(bu 2
27902
+ \fBvalues\fP \-\- 値の配列がセットされます。
27903
+ .UNINDENT
27904
+ .UNINDENT
27905
+ .UNINDENT
27906
+ .INDENT 0.0
27907
+ .TP
27908
+ .B grn_rc grn_obj_set_value(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, grn_id\fI\ id\fP, grn_obj\fI\ *value\fP, int\fI\ flags\fP)
27909
+ objのIDに対応するレコードの値を更新します。対応するレコードが存在しない場合は \fBGRN_INVALID_ARGUMENT\fP を返します。
27910
+ .INDENT 7.0
27911
+ .TP
27912
+ .B Parameters
27913
+ .INDENT 7.0
27914
+ .IP \(bu 2
27915
+ \fBobj\fP \-\- 対象objectを指定します。
27916
+ .IP \(bu 2
27917
+ \fBid\fP \-\- 対象レコードのIDを指定します。
27918
+ .IP \(bu 2
27919
+ \fBvalue\fP \-\- 格納する値を指定します。
27920
+ .IP \(bu 2
27921
+ \fBflags\fP \-\-
27922
+ .sp
27923
+ 以下のいずれかの形式が使用できます。
27924
+ .INDENT 2.0
27925
+ .INDENT 2.0
27926
+ .IP \(bu 2
27927
+ \fBGRN_OBJ_SET\fP
27928
+ .IP \(bu 2
27929
+ \fBGRN_OBJ_INCR\fP
27930
+ .IP \(bu 2
27931
+ \fBGRN_OBJ_DECR\fP
27932
+ .UNINDENT
27933
+ .INDENT 2.0
27934
+ .IP \(bu 2
27935
+ \fBGRN_OBJ_APPEND\fP
27936
+ .IP \(bu 2
27937
+ \fBGRN_OBJ_PREPEND\fP
27938
+ .IP \(bu 2
27939
+ \fBGRN_OBJ_GET\fP
27940
+ .UNINDENT
27941
+ .INDENT 2.0
27942
+ .IP \(bu 2
27943
+ \fBGRN_OBJ_COMPARE\fP
27944
+ .IP \(bu 2
27945
+ \fBGRN_OBJ_LOCK\fP
27946
+ .IP \(bu 2
27947
+ \fBGRN_OBJ_UNLOCK\fP
27948
+ .UNINDENT
27949
+ .UNINDENT
27950
+
27951
+ .UNINDENT
27952
+ .UNINDENT
27953
+ .UNINDENT
27954
+ .INDENT 0.0
27955
+ .TP
27956
+ .B GRN_OBJ_SET_MASK
27957
+ .UNINDENT
27958
+ .INDENT 0.0
27959
+ .TP
27960
+ .B GRN_OBJ_SET
27961
+ レコードの値をvalueと置き換えます。
27962
+ .UNINDENT
27963
+ .INDENT 0.0
27964
+ .TP
27965
+ .B GRN_OBJ_INCR
27966
+ レコードの値にvalueを加算します。
27967
+ .UNINDENT
27968
+ .INDENT 0.0
27969
+ .TP
27970
+ .B GRN_OBJ_DECR
27971
+ レコードの値にvalueを減算します。
27972
+ .UNINDENT
27973
+ .INDENT 0.0
27974
+ .TP
27975
+ .B GRN_OBJ_APPEND
27976
+ レコードの値の末尾にvalueを追加します。
27977
+ .UNINDENT
27978
+ .INDENT 0.0
27979
+ .TP
27980
+ .B GRN_OBJ_PREPEND
27981
+ レコードの値の先頭にvalueを追加します。
27982
+ .UNINDENT
27983
+ .INDENT 0.0
27984
+ .TP
27985
+ .B GRN_OBJ_GET
27986
+ 新しいレコードの値をvalueにセットします。
27987
+ .UNINDENT
27988
+ .INDENT 0.0
27989
+ .TP
27990
+ .B GRN_OBJ_COMPARE
27991
+ レコードの値とvalueが等しいか調べます。
27992
+ .UNINDENT
27993
+ .INDENT 0.0
27994
+ .TP
27995
+ .B GRN_OBJ_LOCK
27996
+ 当該レコードをロックします。\fBGRN_OBJ_COMPARE\fP と共に指定された場合は、レコードの値とvalueが等しい場合に限ってロックします。
27997
+ .UNINDENT
27998
+ .INDENT 0.0
27999
+ .TP
28000
+ .B GRN_OBJ_UNLOCK
28001
+ 当該レコードのロックを解除します。
28002
+ .UNINDENT
28003
+ .INDENT 0.0
28004
+ .TP
28005
+ .B grn_rc grn_obj_remove(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP)
28006
+ objをメモリから解放し、それが永続オブジェクトであった場合は、該当するファイル一式を削除します。
28007
+ .INDENT 7.0
28008
+ .TP
28009
+ .B Parameters
28010
+ .INDENT 7.0
28011
+ .IP \(bu 2
28012
+ \fBobj\fP \-\- 対象objectを指定します。
28013
+ .UNINDENT
28014
+ .UNINDENT
28015
+ .UNINDENT
28016
+ .INDENT 0.0
28017
+ .TP
28018
+ .B grn_rc grn_obj_rename(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, const char\fI\ *name\fP, unsigned int\fI\ name_size\fP)
28019
+ ctxが使用するdbにおいてobjに対応する名前をnameに更新します。objは永続オブジェクトでなければいけません。
28020
+ .INDENT 7.0
28021
+ .TP
28022
+ .B Parameters
28023
+ .INDENT 7.0
28024
+ .IP \(bu 2
28025
+ \fBobj\fP \-\- 対象objectを指定します。
28026
+ .IP \(bu 2
28027
+ \fBname\fP \-\- 新しい名前を指定します。
28028
+ .IP \(bu 2
28029
+ \fBname_size\fP \-\- nameパラメータのsize(byte)を指定します。
28030
+ .UNINDENT
28031
+ .UNINDENT
28032
+ .UNINDENT
28033
+ .INDENT 0.0
28034
+ .TP
28035
+ .B grn_rc grn_obj_close(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP)
28036
+ 一時的なobjectであるobjをメモリから解放します。objに属するobjectも再帰的にメモリから解放されます。
28037
+ .sp
28038
+ 永続的な、table, column, exprなどは解放してはいけません。一般的には、一時的か永続的かを気にしなくてよい \fBgrn_obj_unlink()\fP を用いるべきです。
28039
+ .INDENT 7.0
28040
+ .TP
28041
+ .B Parameters
28042
+ .INDENT 7.0
28043
+ .IP \(bu 2
28044
+ \fBobj\fP \-\- 対象objectを指定します。
28045
+ .UNINDENT
28046
+ .UNINDENT
28047
+ .UNINDENT
28048
+ .INDENT 0.0
28049
+ .TP
28050
+ .B grn_rc grn_obj_reinit(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, grn_id\fI\ domain\fP, unsigned char\fI\ flags\fP)
28051
+ objの型を変更します。
28052
+ .sp
28053
+ objは \fBGRN_OBJ_INIT()\fP マクロなどで初期化済みでなければいけません。
28054
+ .INDENT 7.0
28055
+ .TP
28056
+ .B Parameters
28057
+ .INDENT 7.0
28058
+ .IP \(bu 2
28059
+ \fBobj\fP \-\- 対象objectを指定します。
28060
+ .IP \(bu 2
28061
+ \fBdomain\fP \-\- 変更後のobjの型を指定します。
28062
+ .IP \(bu 2
28063
+ \fBflags\fP \-\- \fBGRN_OBJ_VECTOR\fP を指定するとdomain型の値のベクタを格納するオブジェクトになります。
28064
+ .UNINDENT
28065
+ .UNINDENT
28066
+ .UNINDENT
28067
+ .INDENT 0.0
28068
+ .TP
28069
+ .B void grn_obj_unlink(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP)
28070
+ objをメモリから解放します。objに属するobjectも再帰的にメモリから解放されます。
28071
+ .UNINDENT
28072
+ .INDENT 0.0
28073
+ .TP
28074
+ .B const char *grn_obj_path(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP)
28075
+ objに対応するファイルパスを返します。一時objectならNULLを返します。
28076
+ .INDENT 7.0
28077
+ .TP
28078
+ .B Parameters
28079
+ .INDENT 7.0
28080
+ .IP \(bu 2
28081
+ \fBobj\fP \-\- 対象objectを指定します。
28082
+ .UNINDENT
28083
+ .UNINDENT
28084
+ .UNINDENT
28085
+ .INDENT 0.0
28086
+ .TP
28087
+ .B int grn_obj_name(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, char\fI\ *namebuf\fP, int\fI\ buf_size\fP)
28088
+ objの名前の長さを返します。無名objectなら0を返します。
28089
+ .sp
28090
+ 名前付きのobjectであり、buf_sizeの長さが名前の長以上であった場合は、namebufに該当する名前をコピーします。
28091
+ .INDENT 7.0
28092
+ .TP
28093
+ .B Parameters
28094
+ .INDENT 7.0
28095
+ .IP \(bu 2
28096
+ \fBobj\fP \-\- 対象objectを指定します。
28097
+ .IP \(bu 2
28098
+ \fBnamebuf\fP \-\- 名前を格納するバッファ(呼出側で準備する)を指定します。
28099
+ .IP \(bu 2
28100
+ \fBbuf_size\fP \-\- namebufのサイズ(byte長)を指定します。
28101
+ .UNINDENT
28102
+ .UNINDENT
28103
+ .UNINDENT
28104
+ .INDENT 0.0
28105
+ .TP
28106
+ .B grn_id grn_obj_get_range(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP)
28107
+ objパラメータのとる値の範囲を表わしているオブジェクトのIDを返します。例えば、\fBgrn_builtin_type\fP にある \fBGRN_DB_INT\fP などを返します。
28108
+ .INDENT 7.0
28109
+ .TP
28110
+ .B Parameters
28111
+ .INDENT 7.0
28112
+ .IP \(bu 2
28113
+ \fBobj\fP \-\- 対象objectを指定します。
28114
+ .UNINDENT
28115
+ .UNINDENT
28116
+ .UNINDENT
28117
+ .INDENT 0.0
28118
+ .TP
28119
+ .B int grn_obj_expire(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, int\fI\ threshold\fP)
28120
+ objの占有するメモリのうち、可能な領域をthresholdを指標として解放します。
28121
+ .INDENT 7.0
28122
+ .TP
28123
+ .B Parameters
28124
+ .INDENT 7.0
28125
+ .IP \(bu 2
28126
+ \fBobj\fP \-\- 対象objectを指定します。
28127
+ .UNINDENT
28128
+ .UNINDENT
28129
+ .UNINDENT
28130
+ .INDENT 0.0
28131
+ .TP
28132
+ .B int grn_obj_check(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP)
28133
+ objに対応するファイルの整合性を検査します。
28134
+ .INDENT 7.0
28135
+ .TP
28136
+ .B Parameters
28137
+ .INDENT 7.0
28138
+ .IP \(bu 2
28139
+ \fBobj\fP \-\- 対象objectを指定します。
28140
+ .UNINDENT
28141
+ .UNINDENT
28142
+ .UNINDENT
28143
+ .INDENT 0.0
28144
+ .TP
28145
+ .B grn_rc grn_obj_lock(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, grn_id\fI\ id\fP, int\fI\ timeout\fP)
28146
+ objをlockします。timeout(秒)経過してもlockを取得できない場合は \fBGRN_RESOURCE_DEADLOCK_AVOIDED\fP を返します。
28147
+ .INDENT 7.0
28148
+ .TP
28149
+ .B Parameters
28150
+ .INDENT 7.0
28151
+ .IP \(bu 2
28152
+ \fBobj\fP \-\- 対象objectを指定します。
28153
+ .UNINDENT
28154
+ .UNINDENT
28155
+ .UNINDENT
28156
+ .INDENT 0.0
28157
+ .TP
28158
+ .B grn_rc grn_obj_unlock(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, grn_id\fI\ id\fP)
28159
+ objをunlockします。
28160
+ .INDENT 7.0
28161
+ .TP
28162
+ .B Parameters
28163
+ .INDENT 7.0
28164
+ .IP \(bu 2
28165
+ \fBobj\fP \-\- 対象objectを指定します。
28166
+ .UNINDENT
28167
+ .UNINDENT
28168
+ .UNINDENT
28169
+ .INDENT 0.0
28170
+ .TP
28171
+ .B grn_rc grn_obj_clear_lock(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP)
28172
+ 強制的にロックをクリアします。
28173
+ .INDENT 7.0
28174
+ .TP
28175
+ .B Parameters
28176
+ .INDENT 7.0
28177
+ .IP \(bu 2
28178
+ \fBobj\fP \-\- 対象objectを指定します。
28179
+ .UNINDENT
28180
+ .UNINDENT
28181
+ .UNINDENT
28182
+ .INDENT 0.0
28183
+ .TP
28184
+ .B unsigned int grn_obj_is_locked(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP)
28185
+ objが現在lockされていれば0以外の値を返します。
28186
+ .INDENT 7.0
28187
+ .TP
28188
+ .B Parameters
28189
+ .INDENT 7.0
28190
+ .IP \(bu 2
28191
+ \fBobj\fP \-\- 対象objectを指定します。
28192
+ .UNINDENT
28193
+ .UNINDENT
28194
+ .UNINDENT
28195
+ .INDENT 0.0
28196
+ .TP
28197
+ .B int grn_obj_defrag(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, int\fI\ threshold\fP)
28198
+ objの占有するDBファイル領域のうち、可能な領域をthresholdを指標としてフラグメントの解消を行います。
28199
+ .sp
28200
+ フラグメント解消が実行されたセグメントの数を返します。
28201
+ .INDENT 7.0
28202
+ .TP
28203
+ .B Parameters
28204
+ .INDENT 7.0
28205
+ .IP \(bu 2
28206
+ \fBobj\fP \-\- 対象objectを指定します。
28207
+ .UNINDENT
28208
+ .UNINDENT
28209
+ .UNINDENT
28210
+ .INDENT 0.0
28211
+ .TP
28212
+ .B grn_id grn_obj_id(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP)
28213
+ objのidを返します。
28214
+ .INDENT 7.0
28215
+ .TP
28216
+ .B Parameters
28217
+ .INDENT 7.0
28218
+ .IP \(bu 2
28219
+ \fBobj\fP \-\- 対象objectを指定します。
28220
+ .UNINDENT
28221
+ .UNINDENT
28222
+ .UNINDENT
28223
+ .INDENT 0.0
28224
+ .TP
28225
+ .B grn_rc grn_obj_delete_by_id(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *db\fP, grn_id\fI\ id\fP, grn_bool\fI\ removep\fP)
28226
+ dbからidに対応するテーブルやカラムなどを削除します。mroonga向けに用意した内部APIです。
28227
+ .INDENT 7.0
28228
+ .TP
28229
+ .B Parameters
28230
+ .INDENT 7.0
28231
+ .IP \(bu 2
28232
+ \fBdb\fP \-\- The target database.
28233
+ .IP \(bu 2
28234
+ \fBid\fP \-\- The object (table, column and so on) ID to be deleted.
28235
+ .IP \(bu 2
28236
+ \fBremovep\fP \-\- If \fBGRN_TRUE\fP, clear object cache and remove relation between ID and key in database. Otherwise, just clear object cache.
28237
+ .UNINDENT
28238
+ .UNINDENT
28239
+ .UNINDENT
28240
+ .INDENT 0.0
28241
+ .TP
28242
+ .B grn_rc grn_obj_path_by_id(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *db\fP, grn_id\fI\ id\fP, char\fI\ *buffer\fP)
28243
+ dbのidに対応するpathを返します。mroonga向けに用意した内部APIです。
28244
+ .INDENT 7.0
28245
+ .TP
28246
+ .B Parameters
28247
+ .INDENT 7.0
28248
+ .IP \(bu 2
28249
+ \fBdb\fP \-\- The target database.
28250
+ .IP \(bu 2
28251
+ \fBid\fP \-\- The object (table, column and so on) ID to be deleted.
28252
+ .IP \(bu 2
28253
+ \fBbuffer\fP \-\- path string corresponding to the id will be set in this buffer.
28254
+ .UNINDENT
28255
+ .UNINDENT
28256
+ .UNINDENT
28257
+ .SS \fBgrn_proc\fP
28258
+ .SS Summary
28259
+ .sp
28260
+ TODO...
28261
+ .SS Example
28262
+ .sp
28263
+ TODO...
28264
+ .SS Reference
28265
+ .INDENT 0.0
28266
+ .TP
28267
+ .B grn_proc_type
28268
+ TODO...
28269
+ .UNINDENT
28270
+ .INDENT 0.0
28271
+ .TP
28272
+ .B grn_proc_func
28273
+ TODO...
28274
+ .UNINDENT
28275
+ .INDENT 0.0
28276
+ .TP
28277
+ .B grn_obj *grn_proc_create(grn_ctx\fI\ *ctx\fP, const char\fI\ *name\fP, int\fI\ name_size\fP, grn_proc_type\fI\ type\fP, grn_proc_func\fI\ *init\fP, grn_proc_func\fI\ *next\fP, grn_proc_func\fI\ *fin\fP, unsigned int\fI\ nvars\fP, grn_expr_var\fI\ *vars\fP)
28278
+ nameに対応する新たなproc(手続き)をctxが使用するdbに定義します。
28279
+ .INDENT 7.0
28280
+ .TP
28281
+ .B Parameters
28282
+ .INDENT 7.0
28283
+ .IP \(bu 2
28284
+ \fBname\fP \-\- 作成するprocの名前を指定します。
28285
+ .IP \(bu 2
28286
+ \fBname_size\fP \-\- The number of bytes of name parameter. If negative value is specified, name parameter is assumed that NULL\-terminated string.
28287
+ .IP \(bu 2
28288
+ \fBtype\fP \-\- procの種類を指定します。
28289
+ .IP \(bu 2
28290
+ \fBinit\fP \-\- 初期化関数のポインタを指定します。
28291
+ .IP \(bu 2
28292
+ \fBnext\fP \-\- 実処理関数のポインタを指定します。
28293
+ .IP \(bu 2
28294
+ \fBfin\fP \-\- 終了関数のポインタを指定します。
28295
+ .IP \(bu 2
28296
+ \fBnvars\fP \-\- procで使用する変数の数を指定します。
28297
+ .IP \(bu 2
28298
+ \fBvars\fP \-\- procで使用する変数の定義を指定します。( \fBgrn_expr_var\fP 構造体の配列)
28299
+ .UNINDENT
28300
+ .UNINDENT
28301
+ .UNINDENT
28302
+ .INDENT 0.0
28303
+ .TP
28304
+ .B grn_obj *grn_proc_get_info(grn_ctx\fI\ *ctx\fP, grn_user_data\fI\ *user_data\fP, grn_expr_var\fI\ **vars\fP, unsigned int\fI\ *nvars\fP, grn_obj\fI\ **caller\fP)
28305
+ user_dataをキーとして、現在実行中の \fBgrn_proc_func\fP 関数および定義されている変数( \fBgrn_expr_var\fP )の配列とその数を取得します。
28306
+ .INDENT 7.0
28307
+ .TP
28308
+ .B Parameters
28309
+ .INDENT 7.0
28310
+ .IP \(bu 2
28311
+ \fBuser_data\fP \-\- \fBgrn_proc_func\fP に渡されたuser_dataを指定します。
28312
+ .IP \(bu 2
28313
+ \fBnvars\fP \-\- 変数の数を取得します。
28314
+ .UNINDENT
28315
+ .UNINDENT
28316
+ .UNINDENT
28317
+ .INDENT 0.0
28318
+ .TP
28319
+ .B grn_rc grn_obj_set_finalizer(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, grn_proc_func\fI\ *func\fP)
28320
+ objectを破棄するときに呼ばれる関数を設定します。
28321
+ .sp
28322
+ table, column, proc, exprのみ設定可能です。
28323
+ .INDENT 7.0
28324
+ .TP
28325
+ .B Parameters
28326
+ .INDENT 7.0
28327
+ .IP \(bu 2
28328
+ \fBobj\fP \-\- 対象objectを指定します。
28329
+ .IP \(bu 2
28330
+ \fBfunc\fP \-\- objectを破棄するときに呼ばれる関数を指定します。
28331
+ .UNINDENT
28332
+ .UNINDENT
28333
+ .UNINDENT
28334
+ .SS \fBgrn_search\fP
28335
+ .SS Summary
28336
+ .sp
28337
+ TODO...
28338
+ .SS Example
28339
+ .sp
28340
+ TODO...
28341
+ .SS Reference
28342
+ .INDENT 0.0
28343
+ .TP
28344
+ .B grn_search_optarg
28345
+ .UNINDENT
28346
+ .INDENT 0.0
28347
+ .TP
28348
+ .B grn_rc grn_obj_search(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP, grn_obj\fI\ *query\fP, grn_obj\fI\ *res\fP, grn_operator\fI\ op\fP, grn_search_optarg\fI\ *optarg\fP)
28349
+ objを対象としてqueryにマッチするレコードを検索し、opの指定に従ってresにレコードを追加あるいは削除します。
28350
+ .INDENT 7.0
28351
+ .TP
28352
+ .B Parameters
28353
+ .INDENT 7.0
28354
+ .IP \(bu 2
28355
+ \fBobj\fP \-\- 検索対象のobjectを指定します。
28356
+ .IP \(bu 2
28357
+ \fBquery\fP \-\- 検索クエリを指定します。
28358
+ .IP \(bu 2
28359
+ \fBres\fP \-\- 検索結果を格納するテーブルを指定します。
28360
+ .IP \(bu 2
28361
+ \fBop\fP \-\- \fBGRN_OP_OR\fP, \fBGRN_OP_AND\fP, \fBGRN_OP_AND_NOT\fP, \fBGRN_OP_ADJUST\fP のいずれかを指定します。
28362
+ .IP \(bu 2
28363
+ \fBoptarg\fP \-\- 詳細検索条件を指定します。
28364
+ .UNINDENT
28365
+ .UNINDENT
28366
+ .UNINDENT
28367
+ .SS \fBgrn_table\fP
28368
+ .SS Summary
28369
+ .sp
28370
+ TODO...
28371
+ .SS Example
28372
+ .sp
28373
+ TODO...
28374
+ .SS Reference
28375
+ .INDENT 0.0
28376
+ .TP
28377
+ .B grn_obj *grn_table_create(grn_ctx\fI\ *ctx\fP, const char\fI\ *name\fP, unsigned int\fI\ name_size\fP, const char\fI\ *path\fP, grn_obj_flags\fI\ flags\fP, grn_obj\fI\ *key_type\fP, grn_obj\fI\ *value_type\fP)
28378
+ nameパラメータに対応する新たなtableをctxが使用するdbに定義します。
28379
+ .INDENT 7.0
28380
+ .TP
28381
+ .B Parameters
28382
+ .INDENT 7.0
28383
+ .IP \(bu 2
28384
+ \fBname\fP \-\-
28385
+ .sp
28386
+ 作成するtableの名前を指定します。NULLなら無名tableとなります。
28387
+ .sp
28388
+ persistent dbに対して名前をありのtableを作成するときには、flagsに \fBGRN_OBJ_PERSISTENT\fP が指定されていなけれなりません。
28389
+
28390
+ .IP \(bu 2
28391
+ \fBpath\fP \-\- 作成するtableのファイルパスを指定します。
28392
+ flagsに \fBGRN_OBJ_PERSISTENT\fP が指定されている場合のみ有効です。
28393
+ NULLなら自動的にファイルパスが付与されます。
28394
+ .IP \(bu 2
28395
+ \fBflags\fP \-\-
28396
+ .sp
28397
+ \fBGRN_OBJ_PERSISTENT\fP を指定すると永続tableとなります。
28398
+ .sp
28399
+ \fBGRN_OBJ_TABLE_PAT_KEY\fP, \fBGRN_OBJ_TABLE_HASH_KEY\fP, \fBGRN_OBJ_TABLE_NO_KEY\fP のいずれかを指定します。
28400
+ .sp
28401
+ \fBGRN_OBJ_KEY_NORMALIZE\fP を指定すると正規化された文字列がkeyとなります。
28402
+ .sp
28403
+ \fBGRN_OBJ_KEY_WITH_SIS\fP を指定するとkey文字列の全suffixが自動的に登録されます。
28404
+
28405
+ .IP \(bu 2
28406
+ \fBkey_type\fP \-\-
28407
+ .sp
28408
+ keyの型を指定します。\fBGRN_OBJ_TABLE_NO_KEY\fP が指定された場合は無効です。
28409
+ 既存のtypeあるいはtableを指定できます。
28410
+ .sp
28411
+ key_typeにtable Aを指定してtable Bを作成した場合、Bは必ずAのサブセットとなります。
28412
+
28413
+ .IP \(bu 2
28414
+ \fBvalue_type\fP \-\- keyに対応する値を格納する領域の型を指定します。
28415
+ tableはcolumnとは別に、keyに対応する値を格納する領域を一つだけ持つことができます。
28416
+ .UNINDENT
28417
+ .UNINDENT
28418
+ .UNINDENT
28419
+ .INDENT 0.0
28420
+ .TP
28421
+ .B grn_id grn_table_add(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP, const void\fI\ *key\fP, unsigned int\fI\ key_size\fP, int\fI\ *added\fP)
28422
+ keyに対応する新しいrecordをtableに追加し、そのIDを返します。keyに対応するrecordがすでにtableに存在するならば、そのrecordのIDを返します。
28423
+ .sp
28424
+ \fBGRN_OBJ_TABLE_NO_KEY\fP が指定されたtableでは、key, key_size は無視されます。
28425
+ .INDENT 7.0
28426
+ .TP
28427
+ .B Parameters
28428
+ .INDENT 7.0
28429
+ .IP \(bu 2
28430
+ \fBtable\fP \-\- 対象tableを指定します。
28431
+ .IP \(bu 2
28432
+ \fBkey\fP \-\- 検索keyを指定します。
28433
+ .IP \(bu 2
28434
+ \fBadded\fP \-\- NULL以外の値が指定された場合、新たにrecordが追加された時には1が、既存recordだった時には0がセットされます。
28435
+ .UNINDENT
28436
+ .UNINDENT
28437
+ .UNINDENT
28438
+ .INDENT 0.0
28439
+ .TP
28440
+ .B grn_id grn_table_get(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP, const void\fI\ *key\fP, unsigned int\fI\ key_size\fP)
28441
+ It finds a record that has key parameter and returns ID of the found record. If table parameter is a database, it finds an object (table, column and so on) that has key parameter and returns ID of the found object.
28442
+ .INDENT 7.0
28443
+ .TP
28444
+ .B Parameters
28445
+ .INDENT 7.0
28446
+ .IP \(bu 2
28447
+ \fBtable\fP \-\- The table or database.
28448
+ .IP \(bu 2
28449
+ \fBkey\fP \-\- The record or object key to be found.
28450
+ .UNINDENT
28451
+ .UNINDENT
28452
+ .UNINDENT
28453
+ .INDENT 0.0
28454
+ .TP
28455
+ .B grn_id grn_table_at(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP, grn_id\fI\ id\fP)
28456
+ tableにidに対応するrecordが存在するか確認し、存在すれば指定されたIDを、存在しなければ \fBGRN_ID_NIL\fP を返します。
28457
+ .sp
28458
+ 注意: 実行には相応のコストがかかるのであまり頻繁に呼ばないようにして下さい。
28459
+ .INDENT 7.0
28460
+ .TP
28461
+ .B Parameters
28462
+ .INDENT 7.0
28463
+ .IP \(bu 2
28464
+ \fBtable\fP \-\- 対象tableを指定します。
28465
+ .IP \(bu 2
28466
+ \fBid\fP \-\- 検索idを指定します。
28467
+ .UNINDENT
28468
+ .UNINDENT
28469
+ .UNINDENT
28470
+ .INDENT 0.0
28471
+ .TP
28472
+ .B grn_id grn_table_lcp_search(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP, const void\fI\ *key\fP, unsigned int\fI\ key_size\fP)
28473
+ tableが \fBGRN_TABLE_PAT_KEY\fP もしくは \fBGRN_TABLE_DAT_KEY\fP を指定して作ったtableなら、longest common prefix searchを行い、対応するIDを返します。
28474
+ .sp
28475
+ tableが \fBGRN_TABLE_HASH_KEY\fP を指定して作ったtableなら、完全に一致するキーを検索し、対応するIDを返します。
28476
+ .INDENT 7.0
28477
+ .TP
28478
+ .B Parameters
28479
+ .INDENT 7.0
28480
+ .IP \(bu 2
28481
+ \fBtable\fP \-\- 対象tableを指定します。
28482
+ .IP \(bu 2
28483
+ \fBkey\fP \-\- 検索keyを指定します。
28484
+ .UNINDENT
28485
+ .UNINDENT
28486
+ .UNINDENT
28487
+ .INDENT 0.0
28488
+ .TP
28489
+ .B int grn_table_get_key(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP, grn_id\fI\ id\fP, void\fI\ *keybuf\fP, int\fI\ buf_size\fP)
28490
+ tableのIDに対応するレコードのkeyを取得します。
28491
+ .sp
28492
+ 対応するレコードが存在する場合はkey長を返します。見つからない場合は0を返します。対応するキーの検索に成功し、またbuf_sizeの長さがkey長以上であった場合は、keybufに該当するkeyをコピーします。
28493
+ .INDENT 7.0
28494
+ .TP
28495
+ .B Parameters
28496
+ .INDENT 7.0
28497
+ .IP \(bu 2
28498
+ \fBtable\fP \-\- 対象tableを指定します。
28499
+ .IP \(bu 2
28500
+ \fBid\fP \-\- 対象レコードのIDを指定します。
28501
+ .IP \(bu 2
28502
+ \fBkeybuf\fP \-\- keyを格納するバッファ(呼出側で準備する)を指定します。
28503
+ .IP \(bu 2
28504
+ \fBbuf_size\fP \-\- keybufのサイズ(byte長)を指定します。
28505
+ .UNINDENT
28506
+ .UNINDENT
28507
+ .UNINDENT
28508
+ .INDENT 0.0
28509
+ .TP
28510
+ .B grn_rc grn_table_delete(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP, const void\fI\ *key\fP, unsigned int\fI\ key_size\fP)
28511
+ tableのkeyに対応するレコードを削除します。対応するレコードが存在しない場合は \fBGRN_INVALID_ARGUMENT\fP を返します。
28512
+ .INDENT 7.0
28513
+ .TP
28514
+ .B Parameters
28515
+ .INDENT 7.0
28516
+ .IP \(bu 2
28517
+ \fBtable\fP \-\- 対象tableを指定します。
28518
+ .IP \(bu 2
28519
+ \fBkey\fP \-\- 検索keyを指定します。
28520
+ .IP \(bu 2
28521
+ \fBkey_size\fP \-\- 検索keyのサイズを指定します。
28522
+ .UNINDENT
28523
+ .UNINDENT
28524
+ .UNINDENT
28525
+ .INDENT 0.0
28526
+ .TP
28527
+ .B grn_rc grn_table_delete_by_id(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP, grn_id\fI\ id\fP)
28528
+ tableのidに対応するレコードを削除します。対応するレコードが存在しない場合は \fBGRN_INVALID_ARGUMENT\fP を返します。
28529
+ .INDENT 7.0
28530
+ .TP
28531
+ .B Parameters
28532
+ .INDENT 7.0
28533
+ .IP \(bu 2
28534
+ \fBtable\fP \-\- 対象tableを指定します。
28535
+ .IP \(bu 2
28536
+ \fBid\fP \-\- レコードIDを指定します。
28537
+ .UNINDENT
28538
+ .UNINDENT
28539
+ .UNINDENT
28540
+ .INDENT 0.0
28541
+ .TP
28542
+ .B grn_rc grn_table_update_by_id(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP, grn_id\fI\ id\fP, const void\fI\ *dest_key\fP, unsigned int\fI\ dest_key_size\fP)
28543
+ tableのidに対応するレコードのkeyを変更します。新しいkeyとそのbyte長をdest_keyとdest_key_sizeに指定します。
28544
+ .sp
28545
+ この操作は、\fBGRN_TABLE_DAT_KEY\fP 型のテーブルのみ使用できます。
28546
+ .INDENT 7.0
28547
+ .TP
28548
+ .B Parameters
28549
+ .INDENT 7.0
28550
+ .IP \(bu 2
28551
+ \fBtable\fP \-\- 対象tableを指定します。
28552
+ .IP \(bu 2
28553
+ \fBid\fP \-\- レコードIDを指定します。
28554
+ .UNINDENT
28555
+ .UNINDENT
28556
+ .UNINDENT
28557
+ .INDENT 0.0
28558
+ .TP
28559
+ .B grn_rc grn_table_update(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP, const void\fI\ *src_key\fP, unsigned int\fI\ src_key_size\fP, const void\fI\ *dest_key\fP, unsigned int\fI\ dest_key_size\fP)
28560
+ tableのsrc_keyに対応するレコードのkeyを変更します。新しいkeyとそのbyte長をdest_keyとdest_key_sizeに指定します。
28561
+ .sp
28562
+ この操作は、\fBGRN_TABLE_DAT_KEY\fP 型のテーブルのみ使用できます。
28563
+ .INDENT 7.0
28564
+ .TP
28565
+ .B Parameters
28566
+ .INDENT 7.0
28567
+ .IP \(bu 2
28568
+ \fBtable\fP \-\- 対象tableを指定します。
28569
+ .IP \(bu 2
28570
+ \fBsrc_key\fP \-\- 対象レコードのkeyを指定します。
28571
+ .IP \(bu 2
28572
+ \fBsrc_key_size\fP \-\- 対象レコードのkeyの長さ(byte)を指定します。
28573
+ .IP \(bu 2
28574
+ \fBdest_key\fP \-\- 変更後のkeyを指定します。
28575
+ .IP \(bu 2
28576
+ \fBdest_key_size\fP \-\- 変更後のkeyの長さ(byte)を指定します。
28577
+ .UNINDENT
28578
+ .UNINDENT
28579
+ .UNINDENT
28580
+ .INDENT 0.0
28581
+ .TP
28582
+ .B grn_rc grn_table_truncate(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP)
28583
+ tableの全レコードを一括して削除します。
28584
+ .sp
28585
+ 注意: multithread環境では他のthreadのアクセスによって、存在しないアドレスへアクセスし、SIGSEGVが発生する可能性があります。
28586
+ .INDENT 7.0
28587
+ .TP
28588
+ .B Parameters
28589
+ .INDENT 7.0
28590
+ .IP \(bu 2
28591
+ \fBtable\fP \-\- 対象tableを指定します。
28592
+ .UNINDENT
28593
+ .UNINDENT
28594
+ .UNINDENT
28595
+ .INDENT 0.0
28596
+ .TP
28597
+ .B grn_table_sort_key
28598
+ TODO...
28599
+ .UNINDENT
28600
+ .INDENT 0.0
28601
+ .TP
28602
+ .B grn_table_sort_flags
28603
+ TODO...
28604
+ .UNINDENT
28605
+ .INDENT 0.0
28606
+ .TP
28607
+ .B int grn_table_sort(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP, int\fI\ offset\fP, int\fI\ limit\fP, grn_obj\fI\ *result\fP, grn_table_sort_key\fI\ *keys\fP, int\fI\ n_keys\fP)
28608
+ table内のレコードをソートし、上位limit個の要素をresultに格納します。
28609
+ .sp
28610
+ keys.keyには、tableのcolumn,accessor,procのいずれかが指定できます。keys.flagsには、\fBGRN_TABLE_SORT_ASC\fP / \fBGRN_TABLE_SORT_DESC\fP のいずれかを指定できます。\fBGRN_TABLE_SORT_ASC\fP では昇順、\fBGRN_TABLE_SORT_DESC\fP では降順でソートされます。keys.offsetは、内部利用のためのメンバです。
28611
+ .INDENT 7.0
28612
+ .TP
28613
+ .B Parameters
28614
+ .INDENT 7.0
28615
+ .IP \(bu 2
28616
+ \fBtable\fP \-\- 対象tableを指定します。
28617
+ .IP \(bu 2
28618
+ \fBoffset\fP \-\- sortされたレコードのうち、(0ベースで)offset番目から順にresにレコードを格納します。
28619
+ .IP \(bu 2
28620
+ \fBlimit\fP \-\- resに格納するレコードの上限を指定します。
28621
+ .IP \(bu 2
28622
+ \fBresult\fP \-\- 結果を格納するtableを指定します。
28623
+ .IP \(bu 2
28624
+ \fBkeys\fP \-\- ソートキー配列へのポインタを指定します。
28625
+ .IP \(bu 2
28626
+ \fBn_keys\fP \-\- ソートキー配列のサイズを指定します。
28627
+ .UNINDENT
28628
+ .UNINDENT
28629
+ .UNINDENT
28630
+ .INDENT 0.0
28631
+ .TP
28632
+ .B grn_table_group_result
28633
+ TODO...
28634
+ .UNINDENT
28635
+ .INDENT 0.0
28636
+ .TP
28637
+ .B grn_table_group_flags
28638
+ TODO...
28639
+ .UNINDENT
28640
+ .INDENT 0.0
28641
+ .TP
28642
+ .B grn_rc grn_table_group(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP, grn_table_sort_key\fI\ *keys\fP, int\fI\ n_keys\fP, grn_table_group_result\fI\ *results\fP, int\fI\ n_results\fP)
28643
+ tableのレコードを特定の条件でグループ化します。
28644
+ .INDENT 7.0
28645
+ .TP
28646
+ .B Parameters
28647
+ .INDENT 7.0
28648
+ .IP \(bu 2
28649
+ \fBtable\fP \-\- 対象tableを指定します。
28650
+ .IP \(bu 2
28651
+ \fBkeys\fP \-\- group化キー構造体の配列へのポインタを指定します。
28652
+ .IP \(bu 2
28653
+ \fBn_keys\fP \-\- group化キー構造体の配列のサイズを指定します。
28654
+ .IP \(bu 2
28655
+ \fBresults\fP \-\- group化の結果を格納する構造体の配列へのポインタを指定します。
28656
+ .IP \(bu 2
28657
+ \fBn_results\fP \-\- group化の結果を格納する構造体の配列のサイズを指定します。
28658
+ .UNINDENT
28659
+ .UNINDENT
28660
+ .UNINDENT
28661
+ .INDENT 0.0
28662
+ .TP
28663
+ .B grn_rc grn_table_setoperation(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table1\fP, grn_obj\fI\ *table2\fP, grn_obj\fI\ *res\fP, grn_operator\fI\ op\fP)
28664
+ table1とtable2をopの指定に従って集合演算した結果をresに格納します。
28665
+ .sp
28666
+ resにtable1あるいはtable2そのものを指定した場合を除けば、table1, table2は破壊されません。
28667
+ .INDENT 7.0
28668
+ .TP
28669
+ .B Parameters
28670
+ .INDENT 7.0
28671
+ .IP \(bu 2
28672
+ \fBtable1\fP \-\- 対象table1を指定します。
28673
+ .IP \(bu 2
28674
+ \fBtable2\fP \-\- 対象table2を指定します。
28675
+ .IP \(bu 2
28676
+ \fBres\fP \-\- 結果を格納するtableを指定します。
28677
+ .IP \(bu 2
28678
+ \fBop\fP \-\- 実行する演算の種類を指定します。
28679
+ .UNINDENT
28680
+ .UNINDENT
28681
+ .UNINDENT
28682
+ .INDENT 0.0
28683
+ .TP
28684
+ .B grn_rc grn_table_difference(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table1\fP, grn_obj\fI\ *table2\fP, grn_obj\fI\ *res1\fP, grn_obj\fI\ *res2\fP)
28685
+ table1とtable2から重複するレコードを取り除いた結果をそれぞれres1, res2に格納します。
28686
+ .INDENT 7.0
28687
+ .TP
28688
+ .B Parameters
28689
+ .INDENT 7.0
28690
+ .IP \(bu 2
28691
+ \fBtable1\fP \-\- 対象table1を指定します。
28692
+ .IP \(bu 2
28693
+ \fBtable2\fP \-\- 対象table2を指定します。
28694
+ .IP \(bu 2
28695
+ \fBres1\fP \-\- 結果を格納するtableを指定します。
28696
+ .IP \(bu 2
28697
+ \fBres2\fP \-\- 結果を格納するtableを指定します。
28698
+ .UNINDENT
28699
+ .UNINDENT
28700
+ .UNINDENT
28701
+ .INDENT 0.0
28702
+ .TP
28703
+ .B int grn_table_columns(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP, const char\fI\ *name\fP, unsigned int\fI\ name_size\fP, grn_obj\fI\ *res\fP)
28704
+ nameパラメータから始まるtableのカラムIDをresパラメータに格納します。name_sizeパラメータが0の場合はすべてのカラムIDを格納します。
28705
+ .INDENT 7.0
28706
+ .TP
28707
+ .B Parameters
28708
+ .INDENT 7.0
28709
+ .IP \(bu 2
28710
+ \fBtable\fP \-\- 対象tableを指定します。
28711
+ .IP \(bu 2
28712
+ \fBname\fP \-\- 取得したいカラム名のprefixを指定します。
28713
+ .IP \(bu 2
28714
+ \fBname_size\fP \-\- nameパラメータの長さを指定します。
28715
+ .IP \(bu 2
28716
+ \fBres\fP \-\- 結果を格納する \fBGRN_TABLE_HASH_KEY\fP のtableを指定します。
28717
+ .UNINDENT
28718
+ .TP
28719
+ .B Returns
28720
+ 格納したカラムIDの数を返します。
28721
+ .UNINDENT
28722
+ .UNINDENT
28723
+ .INDENT 0.0
28724
+ .TP
28725
+ .B unsigned int grn_table_size(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP)
28726
+ tableに登録されているレコードの件数を返します。
28727
+ .INDENT 7.0
28728
+ .TP
28729
+ .B Parameters
28730
+ .INDENT 7.0
28731
+ .IP \(bu 2
28732
+ \fBtable\fP \-\- 対象tableを指定します。
28733
+ .UNINDENT
28734
+ .UNINDENT
28735
+ .UNINDENT
28736
+ .INDENT 0.0
28737
+ .TP
28738
+ .B grn_rc grn_table_rename(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP, const char\fI\ *name\fP, unsigned int\fI\ name_size\fP)
28739
+ ctxが使用するdbにおいてtableに対応する名前をnameに更新します。tableの全てのcolumnも同時に名前が変更されます。tableは永続オブジェクトでなければいけません。
28740
+ .INDENT 7.0
28741
+ .TP
28742
+ .B Parameters
28743
+ .INDENT 7.0
28744
+ .IP \(bu 2
28745
+ \fBname_size\fP \-\- nameパラメータのsize(byte)を指定します。
28746
+ .UNINDENT
28747
+ .UNINDENT
28748
+ .UNINDENT
28749
+ .SS \fBgrn_table_cursor\fP
28750
+ .SS Summary
28751
+ .sp
28752
+ TODO...
28753
+ .SS Example
28754
+ .sp
28755
+ TODO...
28756
+ .SS Reference
28757
+ .INDENT 0.0
28758
+ .TP
28759
+ .B grn_table_cursor
28760
+ TODO...
28761
+ .UNINDENT
28762
+ .INDENT 0.0
28763
+ .TP
28764
+ .B grn_table_cursor *grn_table_cursor_open(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *table\fP, const void\fI\ *min\fP, unsigned int\fI\ min_size\fP, const void\fI\ *max\fP, unsigned int\fI\ max_size\fP, int\fI\ offset\fP, int\fI\ limit\fP, int\fI\ flags\fP)
28765
+ tableに登録されているレコードを順番に取り出すためのカーソルを生成して返します。
28766
+ .INDENT 7.0
28767
+ .TP
28768
+ .B Parameters
28769
+ .INDENT 7.0
28770
+ .IP \(bu 2
28771
+ \fBtable\fP \-\- 対象tableを指定します。
28772
+ .IP \(bu 2
28773
+ \fBmin\fP \-\- keyの下限を指定します。(NULLは下限なしと見なします。) \fBGRN_CURSOR_PREFIX\fP については後述。
28774
+ .IP \(bu 2
28775
+ \fBmin_size\fP \-\- minのsizeを指定します。\fBGRN_CURSOR_PREFIX\fP については後述。
28776
+ .IP \(bu 2
28777
+ \fBmax\fP \-\- keyの上限を指定します。(NULLは上限なしと見なします。) \fBGRN_CURSOR_PREFIX\fP については後述。
28778
+ .IP \(bu 2
28779
+ \fBmax_size\fP \-\- maxのsizeを指定します。\fBGRN_CURSOR_PREFIX\fP については無視される場合があります。
28780
+ .IP \(bu 2
28781
+ \fBflags\fP \-\-
28782
+ .sp
28783
+ \fBGRN_CURSOR_ASCENDING\fP を指定すると昇順にレコードを取り出します。
28784
+ .sp
28785
+ \fBGRN_CURSOR_DESCENDING\fP を指定すると降順にレコードを取り出します。(下記 \fBGRN_CURSOR_PREFIX\fP を指定し、keyが近いレコードを取得する場合、もしくは、common prefix searchを行う場合には、\fBGRN_CURSOR_ASCENDING\fP / \fBGRN_CURSOR_DESCENDING\fP は無視されます。)
28786
+ .sp
28787
+ \fBGRN_CURSOR_GT\fP を指定するとminに一致したkeyをcursorの範囲に含みません。(minがNULLの場合もしくは、下記 \fBGRN_CURSOR_PREFIX\fP を指定し、keyが近いレコードを取得する場合、もしくは、common prefix searchを行う場合には、\fBGRN_CURSOR_GT\fP は無視されます。)
28788
+ .sp
28789
+ \fBGRN_CURSOR_LT\fP を指定するとmaxに一致したkeyをcursorの範囲に含みません。(maxがNULLの場合もしくは、下記 \fBGRN_CURSOR_PREFIX\fP を指定した場合には、\fBGRN_CURSOR_LT\fP は無視されます。)
28790
+ .sp
28791
+ \fBGRN_CURSOR_BY_ID\fP を指定するとID順にレコードを取り出します。(下記 \fBGRN_CURSOR_PREFIX\fP を指定した場合には、\fBGRN_CURSOR_BY_ID\fP は無視されます。) \fBGRN_OBJ_TABLE_PAT_KEY\fP を指定したtableについては、\fBGRN_CURSOR_BY_KEY\fP を指定するとkey順にレコードを取り出します。( \fBGRN_OBJ_TABLE_HASH_KEY\fP , \fBGRN_OBJ_TABLE_NO_KEY\fP を指定したテーブルでは \fBGRN_CURSOR_BY_KEY\fP は無視されます。)
28792
+ .sp
28793
+ \fBGRN_CURSOR_PREFIX\fP を指定すると、 \fBGRN_OBJ_TABLE_PAT_KEY\fP を指定したテーブルに関する下記のレコードを取り出すカーソルが作成されます。maxがNULLの場合には、keyがminと前方一致するレコードを取り出します。max_sizeパラメータは無視されます。
28794
+ .sp
28795
+ maxとmax_sizeが指定され、かつ、テーブルのkeyがShortText型である場合、maxとcommon prefix searchを行い、common prefixがmin_sizeバイト以上のレコードを取り出します。minは無視されます。
28796
+ .sp
28797
+ maxとmax_sizeが指定され、かつ、テーブルのkeyが固定長型の場合、maxとPAT木上で近い位置にあるノードから順番にレコードを取り出します。ただし、keyのパトリシア木で、min_sizeバイト未満のビットに対するノードで、maxと異なった方向にあるノードに対応するレコードについては取り出しません。PAT木上で位置が近いこととkeyの値が近いことは同一ではありません。この場合、maxで与えられるポインタが指す値は、対象テーブルのkeyサイズと同じか超える幅である必要があります。minは無視されます。
28798
+ .sp
28799
+ \fBGRN_CURSOR_BY_ID\fP / \fBGRN_CURSOR_BY_KEY\fP / \fBGRN_CURSOR_PREFIX\fP の3フラグは、同時に指定することができません。
28800
+ .sp
28801
+ \fBGRN_OBJ_TABLE_PAT_KEY\fP を指定して作ったテーブルで、\fBGRN_CURSOR_PREFIX\fP と \fBGRN_CURSOR_RK\fP を指定すると、半角小文字のアルファベット文字列から、それを旧JIS X 4063:2000規格に従って全角カタカナに変換した文字列に前方一致する値をkeyとするレコードを取り出します。\fBGRN_ENC_UTF8\fP のみをサポートしています。\fBGRN_CURSOR_ASCENDING\fP / \fBGRN_CURSOR_DESCENDING\fP は無効であり、レコードをkey値の昇降順で取り出すことはできません。
28802
+
28803
+ .IP \(bu 2
28804
+ \fBoffset\fP \-\-
28805
+ .sp
28806
+ 該当する範囲のレコードのうち、(0ベースで)offset番目からレコードを取り出します。
28807
+ .sp
28808
+ \fBGRN_CURSOR_PREFIX\fP を指定したときは負の数を指定することはできません。
28809
+
28810
+ .IP \(bu 2
28811
+ \fBlimit\fP \-\-
28812
+ .sp
28813
+ 該当する範囲のレコードのうち、limit件のみを取り出します。\-1が指定された場合は、全件が指定されたものとみなします。
25741
28814
  .sp
25742
- .nf
25743
- .ft C
25744
- 2011\-07\-05 06:25:18.345734
25745
- .ft P
25746
- .fi
28815
+ \fBGRN_CURSOR_PREFIX\fP を指定したときは\-1より小さい負の数を指定することはできません。
28816
+
28817
+ .UNINDENT
25747
28818
  .UNINDENT
25748
28819
  .UNINDENT
28820
+ .INDENT 0.0
25749
28821
  .TP
25750
- .B ID
25751
- ID of a thread. Groonga process creates threads to process
25752
- requests concurrently. Each thread outputs some logs for a
25753
- request. This ID can be used to extract a log sequence by
25754
- a thread.
25755
- .sp
25756
- Example:
28822
+ .B grn_rc grn_table_cursor_close(grn_ctx\fI\ *ctx\fP, grn_table_cursor\fI\ *tc\fP)
28823
+ \fBgrn_table_cursor_open()\fP で生成したcursorを解放します。
25757
28824
  .INDENT 7.0
25758
- .INDENT 3.5
25759
- .sp
25760
- .nf
25761
- .ft C
25762
- 45ea3034
25763
- .ft P
25764
- .fi
28825
+ .TP
28826
+ .B Parameters
28827
+ .INDENT 7.0
28828
+ .IP \(bu 2
28829
+ \fBtc\fP \-\- 対象cursorを指定します。
25765
28830
  .UNINDENT
25766
28831
  .UNINDENT
25767
28832
  .UNINDENT
25768
28833
  .INDENT 0.0
25769
28834
  .TP
25770
- .B >
25771
- A character that indicates query is started.
25772
- .UNINDENT
25773
- .INDENT 0.0
28835
+ .B grn_id grn_table_cursor_next(grn_ctx\fI\ *ctx\fP, grn_table_cursor\fI\ *tc\fP)
28836
+ cursorのカレントレコードを一件進めてそのIDを返します。cursorの対象範囲の末尾に達すると \fBGRN_ID_NIL\fP を返します。
28837
+ .INDENT 7.0
25774
28838
  .TP
25775
- .B :
25776
- A character that indicates query is processing.
28839
+ .B Parameters
28840
+ .INDENT 7.0
28841
+ .IP \(bu 2
28842
+ \fBtc\fP \-\- 対象cursorを指定します。
28843
+ .UNINDENT
28844
+ .UNINDENT
25777
28845
  .UNINDENT
25778
28846
  .INDENT 0.0
25779
28847
  .TP
25780
- .B <
25781
- A character that indicates query is finished.
28848
+ .B int grn_table_cursor_get_key(grn_ctx\fI\ *ctx\fP, grn_table_cursor\fI\ *tc\fP, void\fI\ **key\fP)
28849
+ cursorのカレントレコードのkeyをkeyパラメータにセットし、その長さを返します。
28850
+ .INDENT 7.0
25782
28851
  .TP
25783
- .B MESSAGE
25784
- Details about the log with free format.
25785
- .sp
25786
- Example:
28852
+ .B Parameters
25787
28853
  .INDENT 7.0
25788
- .INDENT 3.5
25789
- .sp
25790
- .nf
25791
- .ft C
25792
- query log opened.
25793
- .ft P
25794
- .fi
28854
+ .IP \(bu 2
28855
+ \fBtc\fP \-\- 対象cursorを指定します。
28856
+ .IP \(bu 2
28857
+ \fBkey\fP \-\- カレントレコードのkeyへのポインタがセットされます。
25795
28858
  .UNINDENT
25796
28859
  .UNINDENT
28860
+ .UNINDENT
28861
+ .INDENT 0.0
25797
28862
  .TP
25798
- .B QUERY
25799
- A query to be processed.
25800
- .sp
25801
- Example:
28863
+ .B int grn_table_cursor_get_value(grn_ctx\fI\ *ctx\fP, grn_table_cursor\fI\ *tc\fP, void\fI\ **value\fP)
28864
+ cursorパラメータのカレントレコードのvalueをvalueパラメータにセットし、その長さを返します。
25802
28865
  .INDENT 7.0
25803
- .INDENT 3.5
25804
- .sp
25805
- .nf
25806
- .ft C
25807
- select users \-\-match_columns hobby \-\-query music
25808
- .ft P
25809
- .fi
25810
- .UNINDENT
25811
- .UNINDENT
25812
28866
  .TP
25813
- .B ELAPSED_TIME
25814
- Elapsed time in nanoseconds since query is started.
25815
- .sp
25816
- Example:
28867
+ .B Parameters
25817
28868
  .INDENT 7.0
25818
- .INDENT 3.5
25819
- .sp
25820
- .nf
25821
- .ft C
25822
- 000000000075770
25823
- (It means 75,770 nanoseconds.)
25824
- .ft P
25825
- .fi
28869
+ .IP \(bu 2
28870
+ \fBtc\fP \-\- 対象cursorを指定します。
28871
+ .IP \(bu 2
28872
+ \fBvalue\fP \-\- カレントレコードのvalueへのポインタがセットされます。
25826
28873
  .UNINDENT
25827
28874
  .UNINDENT
28875
+ .UNINDENT
28876
+ .INDENT 0.0
25828
28877
  .TP
25829
- .B PROGRESS
25830
- A processed work at the time.
25831
- .sp
25832
- Example:
28878
+ .B grn_rc grn_table_cursor_set_value(grn_ctx\fI\ *ctx\fP, grn_table_cursor\fI\ *tc\fP, const void\fI\ *value\fP, int\fI\ flags\fP)
28879
+ cursorのカレントレコードのvalueを引数の内容に置き換えます。cursorのカレントレコードが存在しない場合は \fBGRN_INVALID_ARGUMENT\fP を返します。
25833
28880
  .INDENT 7.0
25834
- .INDENT 3.5
25835
- .sp
25836
- .nf
25837
- .ft C
25838
- select(313401)
25839
- (It means that \(aqselect\(aq is processed and 313,401 records are remained.)
25840
- .ft P
25841
- .fi
28881
+ .TP
28882
+ .B Parameters
28883
+ .INDENT 7.0
28884
+ .IP \(bu 2
28885
+ \fBtc\fP \-\- 対象cursorを指定します。
28886
+ .IP \(bu 2
28887
+ \fBvalue\fP \-\- 新しいvalueの値を指定します。
28888
+ .IP \(bu 2
28889
+ \fBflags\fP \-\- \fBgrn_obj_set_value()\fP のflagsと同様の値を指定できます。
25842
28890
  .UNINDENT
25843
28891
  .UNINDENT
28892
+ .UNINDENT
28893
+ .INDENT 0.0
25844
28894
  .TP
25845
- .B RETURN_CODE
25846
- A return code for the query.
25847
- .sp
25848
- Example:
28895
+ .B grn_rc grn_table_cursor_delete(grn_ctx\fI\ *ctx\fP, grn_table_cursor\fI\ *tc\fP)
28896
+ cursorのカレントレコードを削除します。cursorのカレントレコードが存在しない場合は \fBGRN_INVALID_ARGUMENT\fP を返します。
25849
28897
  .INDENT 7.0
25850
- .INDENT 3.5
25851
- .sp
25852
- .nf
25853
- .ft C
25854
- rc=0
25855
- (It means return code is 0. 0 means GRN_SUCCESS.)
25856
- .ft P
25857
- .fi
28898
+ .TP
28899
+ .B Parameters
28900
+ .INDENT 7.0
28901
+ .IP \(bu 2
28902
+ \fBtc\fP \-\- 対象cursorを指定します。
25858
28903
  .UNINDENT
25859
28904
  .UNINDENT
25860
28905
  .UNINDENT
25861
- .sp
25862
- Example:
25863
28906
  .INDENT 0.0
25864
- .INDENT 3.5
25865
- .sp
25866
- .nf
25867
- .ft C
25868
- 2011\-07\-05 06:25:19.458756|45ea3034|>select Properties \-\-limit 0
25869
- 2011\-07\-05 06:25:19.458829|45ea3034|:000000000072779 select(19)
25870
- 2011\-07\-05 06:25:19.458856|45ea3034|:000000000099998 output(0)
25871
- 2011\-07\-05 06:25:19.458875|45ea3034|<000000000119062 rc=0
25872
- 2011\-07\-05 06:25:19.458986|45ea3034|>quit
25873
- .ft P
25874
- .fi
28907
+ .TP
28908
+ .B grn_obj *grn_table_cursor_table(grn_ctx\fI\ *ctx\fP, grn_table_cursor\fI\ *tc\fP)
28909
+ cursorが属するtableを返します。
28910
+ .INDENT 7.0
28911
+ .TP
28912
+ .B Parameters
28913
+ .INDENT 7.0
28914
+ .IP \(bu 2
28915
+ \fBtc\fP \-\- 対象cursorを指定します。
25875
28916
  .UNINDENT
25876
28917
  .UNINDENT
25877
- .SS API
25878
- .sp
25879
- Groonga can be used as a fulltext search library. This section
25880
- describes APIs that are provided by groonga.
25881
- .SS \fBgrn_ctx\fP
28918
+ .UNINDENT
28919
+ .SS \fBgrn_type\fP
25882
28920
  .SS Summary
25883
28921
  .sp
25884
- \fBgrn_ctx\fP is the most important object. \fBgrn_ctx\fP
25885
- keeps the current infomation such as:
28922
+ TODO...
28923
+ .SS Example
28924
+ .sp
28925
+ TODO...
28926
+ .SS Reference
25886
28927
  .INDENT 0.0
25887
- .IP \(bu 2
25888
- The last occurred error.
25889
- .IP \(bu 2
25890
- The current encoding.
25891
- .IP \(bu 2
25892
- The default thresholds. (e.g. \fImatch\-escalation\-threshold\fP)
25893
- .IP \(bu 2
25894
- The default command version. (See \fB/reference/command/command_version\fP)
28928
+ .TP
28929
+ .B grn_builtin_type
28930
+ TODO...
25895
28931
  .UNINDENT
25896
- .sp
25897
- \fBgrn_ctx\fP provides platform features such as:
25898
28932
  .INDENT 0.0
28933
+ .TP
28934
+ .B grn_obj *grn_type_create(grn_ctx\fI\ *ctx\fP, const char\fI\ *name\fP, unsigned int\fI\ name_size\fP, grn_obj_flags\fI\ flags\fP, unsigned int\fI\ size\fP)
28935
+ nameに対応する新たなtype(型)をdbに定義します。
28936
+ .INDENT 7.0
28937
+ .TP
28938
+ .B Parameters
28939
+ .INDENT 7.0
25899
28940
  .IP \(bu 2
25900
- Memory management.
28941
+ \fBname\fP \-\- 作成するtypeの名前を指定します。
25901
28942
  .IP \(bu 2
25902
- Logging.
28943
+ \fBflags\fP \-\- \fBGRN_OBJ_KEY_VAR_SIZE\fP, \fBGRN_OBJ_KEY_FLOAT\fP, \fBGRN_OBJ_KEY_INT\fP, \fBGRN_OBJ_KEY_UINT\fP のいずれかを指定します。
28944
+ .IP \(bu 2
28945
+ \fBsize\fP \-\- \fBGRN_OBJ_KEY_VAR_SIZE\fP の場合は最大長、それ以外の場合は長さ(単位:byte)を指定します。
25903
28946
  .UNINDENT
28947
+ .UNINDENT
28948
+ .UNINDENT
28949
+ .SS \fBgrn_user_data\fP
28950
+ .SS Summary
25904
28951
  .sp
25905
- Most APIs receive \fBgrn_ctx\fP as the first argument.
25906
- .sp
25907
- You can\(aqt use the same \fBgrn_ctx\fP from two or more threads. You
25908
- need to create a \fBgrn_ctx\fP for a thread. You can use two or
25909
- more \fBgrn_ctx\fP in a thread but it is not needed for usual
25910
- use\-case.
28952
+ TODO...
25911
28953
  .SS Example
25912
28954
  .sp
25913
28955
  TODO...
25914
28956
  .SS Reference
25915
28957
  .INDENT 0.0
25916
28958
  .TP
25917
- .B grn_ctx
28959
+ .B grn_user_data
25918
28960
  TODO...
25919
28961
  .UNINDENT
25920
28962
  .INDENT 0.0
25921
28963
  .TP
25922
- .B grn_rc grn_ctx_init(grn_ctx\fI\ *ctx\fP, int\fI\ flags\fP)
25923
- ctxを初期化します。
28964
+ .B grn_user_data *grn_obj_user_data(grn_ctx\fI\ *ctx\fP, grn_obj\fI\ *obj\fP)
28965
+ objectに登録できるユーザデータへのポインタを返します。table, column, proc, exprのみ使用可能です。
25924
28966
  .INDENT 7.0
25925
28967
  .TP
25926
28968
  .B Parameters
25927
28969
  .INDENT 7.0
25928
28970
  .IP \(bu 2
25929
- \fBctx\fP \-\- 初期化するctx構造体へのポインタを指定します。
25930
- .IP \(bu 2
25931
- \fBflags\fP \-\- 初期化する \fBctx\fP のオプションを指定します。
28971
+ \fBobj\fP \-\- 対象objectを指定します。
25932
28972
  .UNINDENT
25933
- .TP
25934
- .B Returns
25935
- \fBGRN_SUCCESS\fP on success, not \fBGRN_SUCCESS\fP on error.
25936
28973
  .UNINDENT
25937
28974
  .UNINDENT
25938
- .SS grn_expr
25939
- .sp
25940
- TODO...
25941
28975
  .SH SPECIFICATION
25942
28976
  .SS GQTP
25943
28977
  .sp
@@ -26519,6 +29553,13 @@ The maximum index size: 256GBytes
26519
29553
  .UNINDENT
26520
29554
  .sp
26521
29555
  Keep in mind that these limitations may vary depending on conditions.
29556
+ .SS Limitations of column
29557
+ .sp
29558
+ A column has the following limitation.
29559
+ .INDENT 0.0
29560
+ .IP \(bu 2
29561
+ The maximum stored data size of each column: 256GiB
29562
+ .UNINDENT
26522
29563
  .SH トラブルシューティング
26523
29564
  .SS 同じ検索キーワードなのに全文検索結果が異なる
26524
29565
  .sp
@@ -26814,12 +29855,12 @@ Here are open source softwares that use groonga on Travis CI:
26814
29855
  \fI\%.travis.yml for nroonga\fP
26815
29856
  .UNINDENT
26816
29857
  .IP \(bu 2
26817
- \fI\%logaling-command\fP (A glossary management command line tool)
29858
+ \fI\%logaling\-command\fP (A glossary management command line tool)
26818
29859
  .INDENT 2.0
26819
29860
  .IP \(bu 2
26820
- \fI\%logaling-command on Travis CI\fP
29861
+ \fI\%logaling\-command on Travis CI\fP
26821
29862
  .IP \(bu 2
26822
- \fI\%.travis.yml for logaling-command\fP
29863
+ \fI\%.travis.yml for logaling\-command\fP
26823
29864
  .UNINDENT
26824
29865
  .UNINDENT
26825
29866
  .UNINDENT
@@ -26908,6 +29949,81 @@ edgeごとにqueueを持つ。
26908
29949
  msgはcomによって、edgeのqueueにenqueueされる。
26909
29950
  edgeがworkerに結びついていないときは、同時に、ctx_newというqueueに、msgをenqueueした対象のedgeをenqueueする。
26910
29951
  .UNINDENT
29952
+ .SS ユーザーと協力して開発をうまく進めていくための指針
29953
+ .sp
29954
+ groongaを使ってくれているユーザーと協力して
29955
+ 開発をうまく進めていくためにこうするといい、という事柄をまとめました。
29956
+ まとめておくと、新しく開発に加わる人とも共有することができます。
29957
+ .SS twitter編
29958
+ .sp
29959
+ groongaを使ってもらえるようにtwitterのアカウントgroongaを取得して
29960
+ 日々、リリースの案内をしたり、ユーザーサポートをしたりしています。
29961
+ .sp
29962
+ リリースの案内に利用する場合には、やりとりを考えなくて良いですが、
29963
+ 複数人によるサポートをgroongaで行う場合に、どうサポートするのが
29964
+ 良いのか/どうしてそうするのかという共通認識を持っていないと一貫性のないサポートとなってしま
29965
+ います。
29966
+ .sp
29967
+ twitterでサポートされている安心感からgroongaユーザーの拡大に繋げる
29968
+ ことができるようにサポートの際に気をつけることをまとめます。
29969
+ .SS 過去のツイートはおさらいしておく
29970
+ .SS 理由
29971
+ .sp
29972
+ 自分がツイートした内容を把握していない返信をされたら普通いい気はしません。
29973
+ .SS 対応
29974
+ .sp
29975
+ 過去のツイートをおさらいし、こうすれば良いという提案をできるのが望ましいです。:
29976
+ .INDENT 0.0
29977
+ .INDENT 3.5
29978
+ .sp
29979
+ .nf
29980
+ .ft C
29981
+ 良い例: ○○だと原因は□□ですね。××すると大丈夫です。
29982
+ .ft P
29983
+ .fi
29984
+ .UNINDENT
29985
+ .UNINDENT
29986
+ .SS こちらから情報を提供する
29987
+ .SS 理由
29988
+ .sp
29989
+ 困っているユーザーが複数回ツイートして限られたなかで情報を提供してくれていることがあります。
29990
+ その限られたツイートから解決方法が見つかればユーザーにとって余計な手間が少なくて済みます。
29991
+ あれこれ情報提供を要求すると、ユーザーはそのぶん確認する作業が必要になります。
29992
+ .SS 対応
29993
+ .sp
29994
+ 最初に声をかけるときに解決策を1つか2つ提案できると望ましいです。ユーザーにあまり負担を感じさせないようにすると良いです。:
29995
+ .INDENT 0.0
29996
+ .INDENT 3.5
29997
+ .sp
29998
+ .nf
29999
+ .ft C
30000
+ 良い例: ○○の場合は□□の可能性があるので、××を試してもらえますか?
30001
+ .ft P
30002
+ .fi
30003
+ .UNINDENT
30004
+ .UNINDENT
30005
+ .SS twitterでのやりとりはできるだけ他の場所(例えばredmine)へと誘導しない
30006
+ .SS 理由
30007
+ .sp
30008
+ twitterは気軽につぶやけることが重要なので、気軽にできないことを相手に要求すると萎縮されてしまう可能性があります。
30009
+ .sp
30010
+ いきなりredmineでバグ報告をお願いすると、しりごみしてしまうかも知れません。:
30011
+ .INDENT 0.0
30012
+ .INDENT 3.5
30013
+ .sp
30014
+ .nf
30015
+ .ft C
30016
+ 駄目な例: 再現手順をMLかredmineに報告してもらえますか?
30017
+ .ft P
30018
+ .fi
30019
+ .UNINDENT
30020
+ .UNINDENT
30021
+ .sp
30022
+ groonga関連で気軽につぶやけないとなると開発者は困っている人を見つけられないし、利用者は困ったままとなるので、双方にとって嬉しくない状態になっ
30023
+ てしまいます。
30024
+ .SS 対応
30025
+ .sp
30026
+ twitterでやりとりを完結できるようにします。
26911
30027
  .SS ドキュメント作成
26912
30028
  .SS Sphinxのインストール
26913
30029
  .sp
@@ -27979,7 +31095,7 @@ news.txtに変更点をまとめましたが、それを元にリリースアナ
27979
31095
  .INDENT 3.5
27980
31096
  .INDENT 0.0
27981
31097
  .IP \(bu 2
27982
- \fI\%http://sourceforge.jp/projects/groonga/lists/archive/dev/2012-April/000794.html\fP
31098
+ \fI\%http://sourceforge.jp/projects/groonga/lists/archive/dev/2012\-April/000794.html\fP
27983
31099
  .UNINDENT
27984
31100
  .UNINDENT
27985
31101
  .UNINDENT
@@ -28121,14 +31237,35 @@ doc/source以下のドキュメントを更新、翻訳まで完了している
28121
31237
  これによりcloneしておいたgroonga.github.comのdoc/locale以下に更新したドキュメントがコピーされます。
28122
31238
  .sp
28123
31239
  生成されているドキュメントに問題のないことを確認できたら、コミット、pushしてgroonga.orgへと反映します。
31240
+ .SS Homebrewの更新
31241
+ .sp
31242
+ OS Xでのパッケージ管理方法として \fI\%Homebrew\fP があります。
31243
+ .sp
31244
+ groongaを簡単にインストールできるようにするために、Homebrewへpull requestを送ります。
31245
+ .INDENT 0.0
31246
+ .INDENT 3.5
31247
+ \fI\%https://github.com/mxcl/homebrew\fP
31248
+ .UNINDENT
31249
+ .UNINDENT
31250
+ .sp
31251
+ すでにgroongaのFormulaは取り込まれているので、リリースのたびにFormulaの内容を更新する作業を実施します。
31252
+ .sp
31253
+ groonga 3.0.6のときは以下のように更新してpull requestを送りました。
31254
+ .INDENT 0.0
31255
+ .INDENT 3.5
31256
+ \fI\%https://github.com/mxcl/homebrew/pull/21456/files\fP
31257
+ .UNINDENT
31258
+ .UNINDENT
31259
+ .sp
31260
+ 上記URLを参照するとわかるようにソースアーカイブのurlとsha1チェックサムを更新します。
28124
31261
  .SS リリースアナウンス
28125
31262
  .sp
28126
31263
  作成したリリースアナウンスをメーリングリストへと流します。
28127
31264
  .INDENT 0.0
28128
31265
  .IP \(bu 2
28129
- groonga\-dev \fI\%groonga-dev@lists.sourceforge.jp\fP
31266
+ groonga\-dev \fI\%groonga\-dev@lists.sourceforge.jp\fP
28130
31267
  .IP \(bu 2
28131
- Groonga\-talk \fI\%groonga-talk@lists.sourceforge.net\fP
31268
+ Groonga\-talk \fI\%groonga\-talk@lists.sourceforge.net\fP
28132
31269
  .UNINDENT
28133
31270
  .SS freecode.comへリリース情報を登録
28134
31271
  .sp
@@ -28546,7 +31683,7 @@ text. So you can use your favorite editor. Here is a
28546
31683
  specialized editor for .po file edit list.
28547
31684
  .INDENT 0.0
28548
31685
  .TP
28549
- .B Emacs\(aqs \fI\%po-mode\fP
31686
+ .B Emacs\(aqs \fI\%po\-mode\fP
28550
31687
  It is bundled in gettext.
28551
31688
  .TP
28552
31689
  .B \fI\%Poedit\fP
@@ -28637,7 +31774,7 @@ button.
28637
31774
  \fBSEE ALSO:\fP
28638
31775
  .INDENT 0.0
28639
31776
  .INDENT 3.5
28640
- \fI\%Help.GitHub - Sending pull requests\fP.
31777
+ \fI\%Help.GitHub \- Sending pull requests\fP.
28641
31778
  .UNINDENT
28642
31779
  .UNINDENT
28643
31780
  .SS How to send patch