rroonga 1.0.1-x86-mingw32 → 1.1.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (387) hide show
  1. data/NEWS.ja.rdoc +146 -0
  2. data/NEWS.rdoc +146 -0
  3. data/README.ja.rdoc +7 -5
  4. data/README.rdoc +6 -5
  5. data/Rakefile +170 -18
  6. data/benchmark/create-wikipedia-database.rb +212 -0
  7. data/benchmark/read-write-many-small-items.rb +0 -0
  8. data/benchmark/repeat-load.rb +213 -0
  9. data/benchmark/select.rb +1052 -0
  10. data/benchmark/write-many-small-items.rb +0 -0
  11. data/example/bookmark.rb +94 -91
  12. data/example/index-html.rb +0 -0
  13. data/ext/groonga/extconf.rb +6 -6
  14. data/ext/groonga/rb-grn-accessor.c +1 -1
  15. data/ext/groonga/rb-grn-array.c +1 -1
  16. data/ext/groonga/rb-grn-column.c +201 -10
  17. data/ext/groonga/rb-grn-context.c +119 -20
  18. data/ext/groonga/rb-grn-database.c +27 -4
  19. data/ext/groonga/rb-grn-exception.c +15 -0
  20. data/ext/groonga/rb-grn-expression.c +14 -10
  21. data/ext/groonga/rb-grn-hash.c +4 -4
  22. data/ext/groonga/rb-grn-index-column.c +10 -6
  23. data/ext/groonga/rb-grn-logger.c +2 -2
  24. data/ext/groonga/rb-grn-object.c +33 -29
  25. data/ext/groonga/{rb-grn-operation.c → rb-grn-operator.c} +89 -87
  26. data/ext/groonga/rb-grn-patricia-trie.c +12 -12
  27. data/ext/groonga/rb-grn-plugin.c +134 -0
  28. data/ext/groonga/rb-grn-procedure.c +1 -1
  29. data/ext/groonga/rb-grn-query.c +7 -7
  30. data/ext/groonga/rb-grn-snippet.c +4 -3
  31. data/ext/groonga/rb-grn-table-cursor.c +1 -1
  32. data/ext/groonga/rb-grn-table-key-support.c +27 -24
  33. data/ext/groonga/rb-grn-table.c +119 -58
  34. data/ext/groonga/rb-grn-type.c +1 -1
  35. data/ext/groonga/rb-grn-utils.c +20 -19
  36. data/ext/groonga/rb-grn-variable.c +1 -1
  37. data/ext/groonga/rb-grn-view-accessor.c +1 -1
  38. data/ext/groonga/rb-grn-view.c +1 -1
  39. data/ext/groonga/rb-grn.h +26 -20
  40. data/ext/groonga/rb-groonga.c +6 -4
  41. data/extconf.rb +10 -4
  42. data/html/developer.html +8 -2
  43. data/html/favicon.ico +0 -0
  44. data/html/favicon.svg +591 -0
  45. data/html/index.html +78 -12
  46. data/html/logo.svg +612 -0
  47. data/html/ranguba.css +92 -7
  48. data/html/readme.svg +256 -0
  49. data/lib/groonga.so +0 -0
  50. data/lib/groonga/context.rb +52 -1
  51. data/lib/groonga/expression-builder.rb +42 -6
  52. data/lib/groonga/record.rb +84 -15
  53. data/lib/groonga/schema.rb +524 -122
  54. data/pkg/rroonga-1.1.0-x86-mingw32/NEWS.ja.rdoc +326 -0
  55. data/pkg/rroonga-1.1.0-x86-mingw32/NEWS.rdoc +328 -0
  56. data/pkg/rroonga-1.1.0-x86-mingw32/README.ja.rdoc +68 -0
  57. data/pkg/rroonga-1.1.0-x86-mingw32/README.rdoc +68 -0
  58. data/pkg/rroonga-1.1.0-x86-mingw32/text/expression.rdoc +285 -0
  59. data/{text/TUTORIAL.ja.rdoc → pkg/rroonga-1.1.0-x86-mingw32/text/tutorial.ja.rdoc} +165 -126
  60. data/pkg/rroonga-1.1.0/NEWS.ja.rdoc +326 -0
  61. data/pkg/rroonga-1.1.0/NEWS.rdoc +328 -0
  62. data/pkg/rroonga-1.1.0/README.ja.rdoc +68 -0
  63. data/pkg/rroonga-1.1.0/README.rdoc +68 -0
  64. data/pkg/rroonga-1.1.0/text/expression.rdoc +285 -0
  65. data/pkg/rroonga-1.1.0/text/tutorial.ja.rdoc +433 -0
  66. data/rroonga-build.rb +3 -3
  67. data/test/run-test.rb +1 -1
  68. data/test/test-array.rb +4 -0
  69. data/test/test-column.rb +31 -1
  70. data/test/test-context-select.rb +45 -14
  71. data/test/test-context.rb +44 -0
  72. data/test/test-database.rb +21 -1
  73. data/test/test-expression-builder.rb +46 -5
  74. data/test/test-fix-size-column.rb +12 -0
  75. data/test/test-hash.rb +10 -4
  76. data/test/test-index-column.rb +33 -0
  77. data/test/test-patricia-trie.rb +6 -0
  78. data/test/test-plugin.rb +29 -0
  79. data/test/test-record.rb +84 -1
  80. data/test/test-remote.rb +3 -2
  81. data/test/test-schema-create-table.rb +32 -2
  82. data/test/test-schema-type.rb +167 -0
  83. data/test/test-schema.rb +159 -12
  84. data/test/test-table-select-weight.rb +20 -1
  85. data/test/test-table-select.rb +12 -0
  86. data/test/test-table.rb +65 -0
  87. data/test/test-variable-size-column.rb +12 -0
  88. data/text/tutorial.ja.rdoc +433 -0
  89. data/vendor/local/bin/grntest.exe +0 -0
  90. data/vendor/local/bin/groonga.exe +0 -0
  91. data/vendor/local/bin/libgroonga-0.dll +0 -0
  92. data/vendor/local/etc/groonga/init.d/redhat/groonga +1 -9
  93. data/vendor/local/include/groonga/groonga.h +156 -6
  94. data/vendor/local/include/groonga/groonga/plugin.h +44 -0
  95. data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
  96. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
  97. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
  98. data/vendor/local/lib/groonga/{modules → plugins}/suggest/suggest.la +2 -2
  99. data/vendor/local/lib/libgroonga.a +0 -0
  100. data/vendor/local/lib/libgroonga.dll.a +0 -0
  101. data/vendor/local/lib/libgroonga.la +1 -1
  102. data/vendor/local/lib/pkgconfig/groonga.pc +3 -2
  103. data/vendor/local/share/groonga/examples/dictionary/edict/edict_import.sh +14 -3
  104. data/vendor/local/share/groonga/examples/dictionary/eijiro/eijiro_import.sh +3 -1
  105. data/vendor/local/share/groonga/examples/dictionary/gene95/gene_import.sh +19 -3
  106. data/vendor/local/share/groonga/munin/plugins/groonga_cpu_load +0 -0
  107. data/vendor/local/share/groonga/munin/plugins/groonga_cpu_time +0 -0
  108. data/vendor/local/share/groonga/munin/plugins/groonga_disk +0 -0
  109. data/vendor/local/share/groonga/munin/plugins/groonga_memory +0 -0
  110. data/vendor/local/share/groonga/munin/plugins/groonga_n_records +0 -0
  111. data/vendor/local/share/groonga/munin/plugins/groonga_query_performance +0 -0
  112. data/vendor/local/share/groonga/munin/plugins/groonga_status +0 -0
  113. metadata +91 -341
  114. data/html/favicon.xcf +0 -0
  115. data/html/logo.xcf +0 -0
  116. data/lib/1.8/groonga.so +0 -0
  117. data/lib/1.9/groonga.so +0 -0
  118. data/license/GPL +0 -340
  119. data/license/RUBY +0 -59
  120. data/vendor/local/lib/groonga/modules/suggest/suggest.a +0 -0
  121. data/vendor/local/lib/groonga/modules/suggest/suggest.dll +0 -0
  122. data/vendor/local/lib/groonga/modules/suggest/suggest.dll.a +0 -0
  123. data/vendor/local/share/groonga/doc/ja/html/.buildinfo +0 -4
  124. data/vendor/local/share/groonga/doc/ja/html/_sources/characteristic.txt +0 -56
  125. data/vendor/local/share/groonga/doc/ja/html/_sources/commands.txt +0 -10
  126. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/cache_limit.txt +0 -52
  127. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/check.txt +0 -164
  128. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/clearlock.txt +0 -61
  129. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/column_create.txt +0 -93
  130. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/column_list.txt +0 -97
  131. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/column_remove.txt +0 -58
  132. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/define_selector.txt +0 -114
  133. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/defrag.txt +0 -57
  134. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/delete.txt +0 -68
  135. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/dump.txt +0 -62
  136. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/load.txt +0 -98
  137. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/log_level.txt +0 -65
  138. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/log_put.txt +0 -69
  139. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/log_reopen.txt +0 -66
  140. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/quit.txt +0 -38
  141. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/select.txt +0 -247
  142. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/shutdown.txt +0 -38
  143. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/status.txt +0 -59
  144. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/suggest.txt +0 -79
  145. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/table_create.txt +0 -111
  146. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/table_list.txt +0 -87
  147. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/table_remove.txt +0 -50
  148. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/view_add.txt +0 -53
  149. data/vendor/local/share/groonga/doc/ja/html/_sources/commands_not_implemented/add.txt +0 -102
  150. data/vendor/local/share/groonga/doc/ja/html/_sources/commands_not_implemented/get.txt +0 -78
  151. data/vendor/local/share/groonga/doc/ja/html/_sources/commands_not_implemented/set.txt +0 -103
  152. data/vendor/local/share/groonga/doc/ja/html/_sources/developer.txt +0 -10
  153. data/vendor/local/share/groonga/doc/ja/html/_sources/developer/com.txt +0 -18
  154. data/vendor/local/share/groonga/doc/ja/html/_sources/developer/document.txt +0 -38
  155. data/vendor/local/share/groonga/doc/ja/html/_sources/developer/query.txt +0 -212
  156. data/vendor/local/share/groonga/doc/ja/html/_sources/developer/test.txt +0 -114
  157. data/vendor/local/share/groonga/doc/ja/html/_sources/execfile.txt +0 -226
  158. data/vendor/local/share/groonga/doc/ja/html/_sources/expr.txt +0 -43
  159. data/vendor/local/share/groonga/doc/ja/html/_sources/functions.txt +0 -10
  160. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/edit_distance.txt +0 -48
  161. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/geo_distance.txt +0 -51
  162. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/geo_in_circle.txt +0 -54
  163. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/geo_in_rectangle.txt +0 -55
  164. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/now.txt +0 -34
  165. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/rand.txt +0 -41
  166. data/vendor/local/share/groonga/doc/ja/html/_sources/grnslap.txt +0 -64
  167. data/vendor/local/share/groonga/doc/ja/html/_sources/grntest.txt +0 -259
  168. data/vendor/local/share/groonga/doc/ja/html/_sources/http.txt +0 -52
  169. data/vendor/local/share/groonga/doc/ja/html/_sources/index.txt +0 -21
  170. data/vendor/local/share/groonga/doc/ja/html/_sources/install.txt +0 -114
  171. data/vendor/local/share/groonga/doc/ja/html/_sources/news.txt +0 -199
  172. data/vendor/local/share/groonga/doc/ja/html/_sources/process.txt +0 -12
  173. data/vendor/local/share/groonga/doc/ja/html/_sources/pseudo_column.txt +0 -38
  174. data/vendor/local/share/groonga/doc/ja/html/_sources/reference.txt +0 -14
  175. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial.txt +0 -10
  176. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial01.txt +0 -293
  177. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial02.txt +0 -100
  178. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial03.txt +0 -72
  179. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial04.txt +0 -111
  180. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial05.txt +0 -65
  181. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial06.txt +0 -91
  182. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial07.txt +0 -92
  183. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial08.txt +0 -53
  184. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial09.txt +0 -9
  185. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial10.txt +0 -486
  186. data/vendor/local/share/groonga/doc/ja/html/_sources/type.txt +0 -118
  187. data/vendor/local/share/groonga/doc/ja/html/_static/basic.css +0 -509
  188. data/vendor/local/share/groonga/doc/ja/html/_static/default.css +0 -277
  189. data/vendor/local/share/groonga/doc/ja/html/_static/doctools.js +0 -247
  190. data/vendor/local/share/groonga/doc/ja/html/_static/file.png +0 -0
  191. data/vendor/local/share/groonga/doc/ja/html/_static/jquery.js +0 -6240
  192. data/vendor/local/share/groonga/doc/ja/html/_static/minus.png +0 -0
  193. data/vendor/local/share/groonga/doc/ja/html/_static/plus.png +0 -0
  194. data/vendor/local/share/groonga/doc/ja/html/_static/pygments.css +0 -61
  195. data/vendor/local/share/groonga/doc/ja/html/_static/searchtools.js +0 -518
  196. data/vendor/local/share/groonga/doc/ja/html/_static/sidebar.js +0 -147
  197. data/vendor/local/share/groonga/doc/ja/html/_static/underscore.js +0 -16
  198. data/vendor/local/share/groonga/doc/ja/html/characteristic.html +0 -162
  199. data/vendor/local/share/groonga/doc/ja/html/commands.html +0 -139
  200. data/vendor/local/share/groonga/doc/ja/html/commands/cache_limit.html +0 -173
  201. data/vendor/local/share/groonga/doc/ja/html/commands/check.html +0 -285
  202. data/vendor/local/share/groonga/doc/ja/html/commands/clearlock.html +0 -180
  203. data/vendor/local/share/groonga/doc/ja/html/commands/column_create.html +0 -210
  204. data/vendor/local/share/groonga/doc/ja/html/commands/column_list.html +0 -220
  205. data/vendor/local/share/groonga/doc/ja/html/commands/column_remove.html +0 -183
  206. data/vendor/local/share/groonga/doc/ja/html/commands/define_selector.html +0 -221
  207. data/vendor/local/share/groonga/doc/ja/html/commands/defrag.html +0 -177
  208. data/vendor/local/share/groonga/doc/ja/html/commands/delete.html +0 -182
  209. data/vendor/local/share/groonga/doc/ja/html/commands/dump.html +0 -177
  210. data/vendor/local/share/groonga/doc/ja/html/commands/load.html +0 -208
  211. data/vendor/local/share/groonga/doc/ja/html/commands/log_level.html +0 -187
  212. data/vendor/local/share/groonga/doc/ja/html/commands/log_put.html +0 -190
  213. data/vendor/local/share/groonga/doc/ja/html/commands/log_reopen.html +0 -188
  214. data/vendor/local/share/groonga/doc/ja/html/commands/quit.html +0 -156
  215. data/vendor/local/share/groonga/doc/ja/html/commands/select.html +0 -331
  216. data/vendor/local/share/groonga/doc/ja/html/commands/shutdown.html +0 -156
  217. data/vendor/local/share/groonga/doc/ja/html/commands/status.html +0 -179
  218. data/vendor/local/share/groonga/doc/ja/html/commands/suggest.html +0 -191
  219. data/vendor/local/share/groonga/doc/ja/html/commands/table_create.html +0 -222
  220. data/vendor/local/share/groonga/doc/ja/html/commands/table_list.html +0 -202
  221. data/vendor/local/share/groonga/doc/ja/html/commands/table_remove.html +0 -173
  222. data/vendor/local/share/groonga/doc/ja/html/commands/view_add.html +0 -175
  223. data/vendor/local/share/groonga/doc/ja/html/commands_not_implemented/add.html +0 -180
  224. data/vendor/local/share/groonga/doc/ja/html/commands_not_implemented/get.html +0 -161
  225. data/vendor/local/share/groonga/doc/ja/html/commands_not_implemented/set.html +0 -182
  226. data/vendor/local/share/groonga/doc/ja/html/developer.html +0 -118
  227. data/vendor/local/share/groonga/doc/ja/html/developer/com.html +0 -136
  228. data/vendor/local/share/groonga/doc/ja/html/developer/document.html +0 -159
  229. data/vendor/local/share/groonga/doc/ja/html/developer/query.html +0 -336
  230. data/vendor/local/share/groonga/doc/ja/html/developer/test.html +0 -220
  231. data/vendor/local/share/groonga/doc/ja/html/execfile.html +0 -370
  232. data/vendor/local/share/groonga/doc/ja/html/expr.html +0 -157
  233. data/vendor/local/share/groonga/doc/ja/html/functions.html +0 -122
  234. data/vendor/local/share/groonga/doc/ja/html/functions/edit_distance.html +0 -162
  235. data/vendor/local/share/groonga/doc/ja/html/functions/geo_distance.html +0 -170
  236. data/vendor/local/share/groonga/doc/ja/html/functions/geo_in_circle.html +0 -173
  237. data/vendor/local/share/groonga/doc/ja/html/functions/geo_in_rectangle.html +0 -172
  238. data/vendor/local/share/groonga/doc/ja/html/functions/now.html +0 -152
  239. data/vendor/local/share/groonga/doc/ja/html/functions/rand.html +0 -159
  240. data/vendor/local/share/groonga/doc/ja/html/genindex.html +0 -227
  241. data/vendor/local/share/groonga/doc/ja/html/grnslap.html +0 -183
  242. data/vendor/local/share/groonga/doc/ja/html/grntest.html +0 -368
  243. data/vendor/local/share/groonga/doc/ja/html/http.html +0 -163
  244. data/vendor/local/share/groonga/doc/ja/html/index.html +0 -291
  245. data/vendor/local/share/groonga/doc/ja/html/install.html +0 -228
  246. data/vendor/local/share/groonga/doc/ja/html/news.html +0 -310
  247. data/vendor/local/share/groonga/doc/ja/html/objects.inv +0 -0
  248. data/vendor/local/share/groonga/doc/ja/html/process.html +0 -120
  249. data/vendor/local/share/groonga/doc/ja/html/pseudo_column.html +0 -147
  250. data/vendor/local/share/groonga/doc/ja/html/reference.html +0 -174
  251. data/vendor/local/share/groonga/doc/ja/html/search.html +0 -96
  252. data/vendor/local/share/groonga/doc/ja/html/searchindex.js +0 -1
  253. data/vendor/local/share/groonga/doc/ja/html/tutorial.html +0 -172
  254. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial01.html +0 -388
  255. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial02.html +0 -214
  256. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial03.html +0 -183
  257. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial04.html +0 -212
  258. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial05.html +0 -169
  259. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial06.html +0 -209
  260. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial07.html +0 -212
  261. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial08.html +0 -139
  262. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial09.html +0 -114
  263. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial10.html +0 -458
  264. data/vendor/local/share/groonga/doc/ja/html/type.html +0 -217
  265. data/vendor/local/share/groonga/doc/ja/source/__init__.py +0 -0
  266. data/vendor/local/share/groonga/doc/ja/source/characteristic.txt +0 -56
  267. data/vendor/local/share/groonga/doc/ja/source/commands.txt +0 -10
  268. data/vendor/local/share/groonga/doc/ja/source/commands/cache_limit.txt +0 -52
  269. data/vendor/local/share/groonga/doc/ja/source/commands/check.txt +0 -164
  270. data/vendor/local/share/groonga/doc/ja/source/commands/clearlock.txt +0 -61
  271. data/vendor/local/share/groonga/doc/ja/source/commands/column_create.txt +0 -93
  272. data/vendor/local/share/groonga/doc/ja/source/commands/column_list.txt +0 -97
  273. data/vendor/local/share/groonga/doc/ja/source/commands/column_remove.txt +0 -58
  274. data/vendor/local/share/groonga/doc/ja/source/commands/define_selector.txt +0 -114
  275. data/vendor/local/share/groonga/doc/ja/source/commands/defrag.txt +0 -57
  276. data/vendor/local/share/groonga/doc/ja/source/commands/delete.txt +0 -68
  277. data/vendor/local/share/groonga/doc/ja/source/commands/dump.txt +0 -62
  278. data/vendor/local/share/groonga/doc/ja/source/commands/load.txt +0 -98
  279. data/vendor/local/share/groonga/doc/ja/source/commands/log_level.txt +0 -65
  280. data/vendor/local/share/groonga/doc/ja/source/commands/log_put.txt +0 -69
  281. data/vendor/local/share/groonga/doc/ja/source/commands/log_reopen.txt +0 -66
  282. data/vendor/local/share/groonga/doc/ja/source/commands/quit.txt +0 -38
  283. data/vendor/local/share/groonga/doc/ja/source/commands/select.txt +0 -247
  284. data/vendor/local/share/groonga/doc/ja/source/commands/shutdown.txt +0 -38
  285. data/vendor/local/share/groonga/doc/ja/source/commands/status.txt +0 -59
  286. data/vendor/local/share/groonga/doc/ja/source/commands/table_create.txt +0 -111
  287. data/vendor/local/share/groonga/doc/ja/source/commands/table_list.txt +0 -87
  288. data/vendor/local/share/groonga/doc/ja/source/commands/table_remove.txt +0 -50
  289. data/vendor/local/share/groonga/doc/ja/source/commands/view_add.txt +0 -53
  290. data/vendor/local/share/groonga/doc/ja/source/commands_not_implemented/add.txt +0 -102
  291. data/vendor/local/share/groonga/doc/ja/source/commands_not_implemented/get.txt +0 -78
  292. data/vendor/local/share/groonga/doc/ja/source/commands_not_implemented/set.txt +0 -103
  293. data/vendor/local/share/groonga/doc/ja/source/conf.py +0 -265
  294. data/vendor/local/share/groonga/doc/ja/source/developer.txt +0 -10
  295. data/vendor/local/share/groonga/doc/ja/source/developer/com.txt +0 -18
  296. data/vendor/local/share/groonga/doc/ja/source/developer/document.txt +0 -38
  297. data/vendor/local/share/groonga/doc/ja/source/developer/query.txt +0 -212
  298. data/vendor/local/share/groonga/doc/ja/source/developer/test.txt +0 -114
  299. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-1.log +0 -6
  300. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-10.log +0 -5
  301. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-11.log +0 -5
  302. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-12.log +0 -5
  303. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-13.log +0 -5
  304. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-14.log +0 -9
  305. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-15.log +0 -5
  306. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-16.log +0 -5
  307. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-17.log +0 -5
  308. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-2.log +0 -5
  309. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-3.log +0 -5
  310. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-4.log +0 -7
  311. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-5.log +0 -5
  312. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-6.log +0 -5
  313. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-7.log +0 -16
  314. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-8.log +0 -5
  315. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-9.log +0 -5
  316. data/vendor/local/share/groonga/doc/ja/source/example/tutorial02-1.log +0 -8
  317. data/vendor/local/share/groonga/doc/ja/source/example/tutorial02-2.log +0 -6
  318. data/vendor/local/share/groonga/doc/ja/source/example/tutorial02-3.log +0 -12
  319. data/vendor/local/share/groonga/doc/ja/source/example/tutorial03-1.log +0 -18
  320. data/vendor/local/share/groonga/doc/ja/source/example/tutorial03-2.log +0 -10
  321. data/vendor/local/share/groonga/doc/ja/source/example/tutorial03-3.log +0 -10
  322. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-1.log +0 -5
  323. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-2.log +0 -7
  324. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-3.log +0 -7
  325. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-4.log +0 -13
  326. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-5.log +0 -5
  327. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-6.log +0 -5
  328. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-7.log +0 -5
  329. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-1.log +0 -24
  330. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-2.log +0 -5
  331. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-3.log +0 -5
  332. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-4.log +0 -5
  333. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-5.log +0 -5
  334. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-6.log +0 -5
  335. data/vendor/local/share/groonga/doc/ja/source/example/tutorial06-1.log +0 -25
  336. data/vendor/local/share/groonga/doc/ja/source/example/tutorial06-2.log +0 -9
  337. data/vendor/local/share/groonga/doc/ja/source/example/tutorial06-3.log +0 -21
  338. data/vendor/local/share/groonga/doc/ja/source/example/tutorial06-4.log +0 -7
  339. data/vendor/local/share/groonga/doc/ja/source/example/tutorial06-5.log +0 -5
  340. data/vendor/local/share/groonga/doc/ja/source/example/tutorial07-1.log +0 -22
  341. data/vendor/local/share/groonga/doc/ja/source/example/tutorial07-2.log +0 -9
  342. data/vendor/local/share/groonga/doc/ja/source/example/tutorial07-3.log +0 -20
  343. data/vendor/local/share/groonga/doc/ja/source/example/tutorial07-4.log +0 -9
  344. data/vendor/local/share/groonga/doc/ja/source/example/tutorial08-1.log +0 -14
  345. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-1.log +0 -5
  346. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-10.log +0 -5
  347. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-2.log +0 -5
  348. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-3.log +0 -5
  349. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-4.log +0 -5
  350. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-5.log +0 -5
  351. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-6.log +0 -5
  352. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-7.log +0 -5
  353. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-8.log +0 -5
  354. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-9.log +0 -5
  355. data/vendor/local/share/groonga/doc/ja/source/execfile.txt +0 -226
  356. data/vendor/local/share/groonga/doc/ja/source/expr.txt +0 -43
  357. data/vendor/local/share/groonga/doc/ja/source/functions.txt +0 -10
  358. data/vendor/local/share/groonga/doc/ja/source/functions/edit_distance.txt +0 -48
  359. data/vendor/local/share/groonga/doc/ja/source/functions/geo_distance.txt +0 -51
  360. data/vendor/local/share/groonga/doc/ja/source/functions/geo_in_circle.txt +0 -54
  361. data/vendor/local/share/groonga/doc/ja/source/functions/geo_in_rectangle.txt +0 -55
  362. data/vendor/local/share/groonga/doc/ja/source/functions/now.txt +0 -34
  363. data/vendor/local/share/groonga/doc/ja/source/functions/rand.txt +0 -41
  364. data/vendor/local/share/groonga/doc/ja/source/grnslap.txt +0 -64
  365. data/vendor/local/share/groonga/doc/ja/source/grntest.txt +0 -259
  366. data/vendor/local/share/groonga/doc/ja/source/http.txt +0 -52
  367. data/vendor/local/share/groonga/doc/ja/source/index.txt +0 -21
  368. data/vendor/local/share/groonga/doc/ja/source/install.txt +0 -114
  369. data/vendor/local/share/groonga/doc/ja/source/news.txt +0 -199
  370. data/vendor/local/share/groonga/doc/ja/source/process.txt +0 -12
  371. data/vendor/local/share/groonga/doc/ja/source/pseudo_column.txt +0 -38
  372. data/vendor/local/share/groonga/doc/ja/source/rdoc.py +0 -762
  373. data/vendor/local/share/groonga/doc/ja/source/reference.txt +0 -14
  374. data/vendor/local/share/groonga/doc/ja/source/tutorial.txt +0 -10
  375. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial01.txt +0 -293
  376. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial02.txt +0 -100
  377. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial03.txt +0 -72
  378. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial04.txt +0 -111
  379. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial05.txt +0 -65
  380. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial06.txt +0 -91
  381. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial07.txt +0 -92
  382. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial08.txt +0 -53
  383. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial09.txt +0 -9
  384. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial10.txt +0 -486
  385. data/vendor/local/share/groonga/doc/ja/source/type.txt +0 -118
  386. data/vendor/local/share/groonga/doc/ja/source/update_execution_example.py +0 -113
  387. data/vendor/local/share/man/man1/groonga.1 +0 -5498
@@ -1,336 +0,0 @@
1
-
2
-
3
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml">
7
- <head>
8
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9
-
10
- <title>5.3. クエリの実現 &mdash; groonga v1.0.2 documentation</title>
11
- <link rel="stylesheet" href="../_static/default.css" type="text/css" />
12
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13
- <script type="text/javascript">
14
- var DOCUMENTATION_OPTIONS = {
15
- URL_ROOT: '../',
16
- VERSION: '1.0.2',
17
- COLLAPSE_INDEX: false,
18
- FILE_SUFFIX: '.html',
19
- HAS_SOURCE: true
20
- };
21
- </script>
22
- <script type="text/javascript" src="../_static/jquery.js"></script>
23
- <script type="text/javascript" src="../_static/underscore.js"></script>
24
- <script type="text/javascript" src="../_static/doctools.js"></script>
25
- <link rel="top" title="groonga v1.0.2 documentation" href="../index.html" />
26
- <link rel="up" title="5. groonga開発者向け情報" href="../developer.html" />
27
- <link rel="next" title="5.5. テスト方法" href="test.html" />
28
- <link rel="prev" title="5.2. ドキュメント作成" href="document.html" />
29
- </head>
30
- <body>
31
- <div class="related">
32
- <h3>Navigation</h3>
33
- <ul>
34
- <li class="right" style="margin-right: 10px">
35
- <a href="../genindex.html" title="General Index"
36
- accesskey="I">index</a></li>
37
- <li class="right" >
38
- <a href="test.html" title="5.5. テスト方法"
39
- accesskey="N">next</a> |</li>
40
- <li class="right" >
41
- <a href="document.html" title="5.2. ドキュメント作成"
42
- accesskey="P">previous</a> |</li>
43
- <li><a href="../index.html">groonga v1.0.2 documentation</a> &raquo;</li>
44
- <li><a href="../developer.html" accesskey="U">5. groonga開発者向け情報</a> &raquo;</li>
45
- </ul>
46
- </div>
47
-
48
- <div class="document">
49
- <div class="documentwrapper">
50
- <div class="bodywrapper">
51
- <div class="body">
52
-
53
- <div class="section" id="id1">
54
- <h1>5.3. クエリの実現<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h1>
55
- <p>groongaのデータベースには大量のデータを格納し、その中から必要な部分を高速に取り出すことができます。必要な部分をgroongaのデータベースに問い合わせるためのクエリの表現と実行に関して、groongaは複数の手段を用意しています。</p>
56
- <div class="section" id="id2">
57
- <h2>5.3.1. クエリ実行のためのインタフェース<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
58
- <p>groongaは低機能で単純なライブラリインタフェースから、高機能で複雑なコマンドインタフェースまでいくつかの階層的なインタフェースをユーザプログラムに提供しています。</p>
59
- <p>クエリ実行のためのインタフェースも階層的なインタフェースのそれぞれに対応する形で用意されています。以下に低レイヤなインタフェースから順に説明します。</p>
60
- <div class="section" id="db-api">
61
- <h3>5.3.1.1. DB_API<a class="headerlink" href="#db-api" title="Permalink to this headline">¶</a></h3>
62
- <p>DB_APIは、groongaデータベースを操作するための一群のC言語向けAPI関数を提供します。DB_APIはデータベースを構成する個々の部分に対する単純な操作関数を提供します。DB_APIの機能を組み合わせることによって複雑なクエリを実行することができます。後述のすべてのクエリインタフェースはDB_APIの機能を組み合わせることによって実現されています。</p>
63
- </div>
64
- <div class="section" id="grn-expr">
65
- <h3>5.3.1.2. grn_expr<a class="headerlink" href="#grn-expr" title="Permalink to this headline">¶</a></h3>
66
- <p>grn_exprは、groongaデータベースに対する検索処理や更新処理のための条件を表現するためのデータ構造で、複数の条件を再帰的に組み合わせてより複雑な条件を表現することができます。grn_exprによって表現されたクエリを実行するためには、grn_table_select()関数を使用します。</p>
67
- </div>
68
- <div class="section" id="groonga">
69
- <h3>5.3.1.3. groonga実行ファイル<a class="headerlink" href="#groonga" title="Permalink to this headline">¶</a></h3>
70
- <p>groongaデータベースを操作するためのコマンドインタープリタです。渡されたコマンドを解釈し、実行結果を返します。コマンドの実処理はC言語で記述されます。ユーザがC言語で定義した関数を新たなコマンドとしてgroonga実行ファイルに組み込むことができます。各コマンドはいくつかの文字列引数を受け取り、これをクエリとして解釈して実行します。引数をgrn_exprとして解釈するか、別の形式として解釈してDB_APIを使ってデータベースを操作するかはコマンド毎に自由に決めることができます。</p>
71
- </div>
72
- </div>
73
- <div class="section" id="id3">
74
- <h2>5.3.2. grn_exprで表現できるクエリ<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
75
- <p>grn_exprは代入や関数呼び出しのような様々な操作を表現できますが、この中で検索クエリを表現するgrn_exprのことを特に条件式とよびます。条件式を構成する個々の要素を関係式と呼びます。条件式は一個以上の関係式か、あるいは条件式を論理演算子で結合したものです。</p>
76
- <p>論理演算子は、以下の3種類があります。</p>
77
- <div class="highlight-none"><div class="highlight"><pre>&amp;&amp; (論理積)
78
- || (論理和)
79
- ! (否定)
80
- </pre></div>
81
- </div>
82
- <p>関係式は、下記の11種類が用意されています。また、ユーザが定義した関数を新たな関係式として使うこともできます。</p>
83
- <div class="highlight-none"><div class="highlight"><pre>equal(==)
84
- not_equal(!=)
85
- less(&lt;)
86
- greater(&gt;)
87
- less_equal(&lt;=)
88
- greater_equal(&gt;=)
89
- contain()
90
- near()
91
- similar()
92
- prefix()
93
- suffix()
94
- </pre></div>
95
- </div>
96
- </div>
97
- <div class="section" id="grn-table-select">
98
- <h2>5.3.3. grn_table_select()<a class="headerlink" href="#grn-table-select" title="Permalink to this headline">¶</a></h2>
99
- <p>grn_table_select()関数は、grn_exprで表現された検索クエリを実行するときに使います。引数として、検索対象となるテーブル、クエリを表すgrn_expr、検索結果を格納するテーブル、それに検索にマッチしたレコードを検索結果にどのように反映するかを指定する演算子を渡します。演算子と指定できるのは下記の4種類です。</p>
100
- <div class="highlight-none"><div class="highlight"><pre>GRN_OP_OR
101
- GRN_OP_AND
102
- GRN_OP_BUT
103
- GRN_OP_ADJUST
104
- </pre></div>
105
- </div>
106
- <p>GRN_OP_ORは、検索対象テーブルの中からクエリにマッチするレコードを検索結果テーブルに加えます。GRN_OP_OR以外の演算子は、検索結果テーブルが空でない場合にだけ意味を持ちます。GRN_OP_ANDは、検索結果テーブルの中からクエリにマッチしないレコードを取り除きます。GRN_OP_BUTは、検索結果テーブルの中からクエリにマッチするレコードを取り除きます。GRN_OP_ADJUSTは、検索結果テーブルの中でクエリにマッチするレコードに対してスコア値の更新のみを行います。</p>
107
- <p>grn_table_select()は、データベース上に定義されたテーブルや索引などを組み合わせて可能な限り高速に指定されたクエリを実行しようとします。</p>
108
- </div>
109
- <div class="section" id="id4">
110
- <h2>5.3.4. 関係式<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2>
111
- <p>関係式は、検索しようとしているデータが満たすべき条件を、指定した値の間の関係として表現します。いずれの関係式も、その関係が成り立ったときに評価されるcallback、コールバック関数に渡されるargとを引数として指定することができます。callbackが与えられず、argのみが数値で与えられた場合はスコア値の係数とみなされます。主な関係式について説明します。</p>
112
- <div class="section" id="equal-v1-v2-arg-callback">
113
- <h3>5.3.4.1. equal(v1, v2, arg, callback)<a class="headerlink" href="#equal-v1-v2-arg-callback" title="Permalink to this headline">¶</a></h3>
114
- <p>v1の値とv2の値が等しいことを表します。</p>
115
- </div>
116
- <div class="section" id="not-equal-v1-v2-arg-callback">
117
- <h3>5.3.4.2. not_equal(v1, v2, arg, callback)<a class="headerlink" href="#not-equal-v1-v2-arg-callback" title="Permalink to this headline">¶</a></h3>
118
- <p>v1の値とv2の値が等しくないことを表します。</p>
119
- </div>
120
- <div class="section" id="less-v1-v2-arg-callback">
121
- <h3>5.3.4.3. less(v1, v2, arg, callback)<a class="headerlink" href="#less-v1-v2-arg-callback" title="Permalink to this headline">¶</a></h3>
122
- <p>v1の値がv2の値よりも小さいことを表します。</p>
123
- </div>
124
- <div class="section" id="greater-v1-v2-arg-callback">
125
- <h3>5.3.4.4. greater(v1, v2, arg, callback)<a class="headerlink" href="#greater-v1-v2-arg-callback" title="Permalink to this headline">¶</a></h3>
126
- <p>v1の値がv2の値よりも大きいことを表します。</p>
127
- </div>
128
- <div class="section" id="less-equal-v1-v2-arg-callback">
129
- <h3>5.3.4.5. less_equal(v1, v2, arg, callback)<a class="headerlink" href="#less-equal-v1-v2-arg-callback" title="Permalink to this headline">¶</a></h3>
130
- <p>v1の値がv2の値と等しいか小さいことを表します。</p>
131
- </div>
132
- <div class="section" id="greater-equal-v1-v2-arg-callback">
133
- <h3>5.3.4.6. greater_equal(v1, v2, arg, callback)<a class="headerlink" href="#greater-equal-v1-v2-arg-callback" title="Permalink to this headline">¶</a></h3>
134
- <p>v1の値がv2の値と等しいか大きいことを表します。</p>
135
- </div>
136
- <div class="section" id="contain-v1-v2-mode-arg-callback">
137
- <h3>5.3.4.7. contain(v1, v2, mode, arg, callback)<a class="headerlink" href="#contain-v1-v2-mode-arg-callback" title="Permalink to this headline">¶</a></h3>
138
- <p>v1の値がv2の値を含んでいることを表します。また、v1の値が要素に分解されるとき、それぞれの要素に対して二つ目の要素が一致するためのmodeとして下記のいずれかを指定することができます。</p>
139
- <div class="highlight-none"><div class="highlight"><pre>EXACT: v2の値もv1の値と同様に要素に分解したとき、それぞれの要素が完全に一致する(デフォルト)
140
- UNSPLIT: v2の値は要素に分解しない
141
- PREFIX: v1の値の要素がv2の値に前方一致する
142
- SUFFIX: v1の値の要素がv2の値に後方一致する
143
- PARTIAL: v1の値の要素がv2の値に中間一致する
144
- </pre></div>
145
- </div>
146
- </div>
147
- <div class="section" id="near-v1-v2-arg-callback">
148
- <h3>5.3.4.8. near(v1, v2, arg, callback)<a class="headerlink" href="#near-v1-v2-arg-callback" title="Permalink to this headline">¶</a></h3>
149
- <p>v1の値の中に、v2の値の要素が接近して含まれていることを表します。(v2には値の配列を渡します)</p>
150
- </div>
151
- <div class="section" id="similar-v1-v2-arg-callback">
152
- <h3>5.3.4.9. similar(v1, v2, arg, callback)<a class="headerlink" href="#similar-v1-v2-arg-callback" title="Permalink to this headline">¶</a></h3>
153
- <p>v1の値とv2の値が類似していることを表します。</p>
154
- </div>
155
- <div class="section" id="prefix-v1-v2-arg-callback">
156
- <h3>5.3.4.10. prefix(v1, v2, arg, callback)<a class="headerlink" href="#prefix-v1-v2-arg-callback" title="Permalink to this headline">¶</a></h3>
157
- <p>v1の値がv2の値に対して前方一致することを表します。</p>
158
- </div>
159
- <div class="section" id="suffix-v1-v2-arg-callback">
160
- <h3>5.3.4.11. suffix(v1, v2, arg, callback)<a class="headerlink" href="#suffix-v1-v2-arg-callback" title="Permalink to this headline">¶</a></h3>
161
- <p>v1の値がv2の値に対して後方一致することを表します。</p>
162
- </div>
163
- </div>
164
- </div>
165
- <div class="section" id="id5">
166
- <h1>5.4. クエリの実例<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h1>
167
- <p>grn_exprを使って様々な検索クエリを表現することができます。</p>
168
- <div class="section" id="id6">
169
- <h2>5.4.1. 検索例1<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h2>
170
- <div class="highlight-none"><div class="highlight"><pre>GRN_EXPR_CREATE_FOR_QUERY(ctx, table, query, var);
171
- grn_expr_append_obj(ctx, query, contain, GRN_OP_PUSH, 1);
172
- grn_expr_append_obj(ctx, query, column, GRN_OP_PUSH, 1);
173
- grn_expr_append_const(ctx, query, string, GRN_OP_PUSH, 1);
174
- grn_expr_append_op(ctx, query, GRN_OP_CALL, 3);
175
- result = grn_table_select(ctx, table, query, NULL, GRN_OP_OR);
176
- </pre></div>
177
- </div>
178
- <p>tableのcolumnの値がstringを含むレコードをresultに返します。columnの値が&#8217;needle in haystack&#8217;であるレコードr1と、columnの値が&#8217;haystack&#8217;であるレコードr2がtableに登録されていたとき、stringに&#8217;needle&#8217;を指定したなら、レコードr1のみがヒットします。</p>
179
- </div>
180
- <div class="section" id="id7">
181
- <h2>5.4.2. 検索例2<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h2>
182
- <div class="highlight-none"><div class="highlight"><pre>GRN_EXPR_CREATE_FOR_QUERY(ctx, table, query, var);
183
- grn_expr_append_obj(ctx, query, contain, GRN_OP_PUSH, 1);
184
- grn_expr_append_obj(ctx, query, column1, GRN_OP_PUSH, 1);
185
- grn_expr_append_const(ctx, query, string, GRN_OP_PUSH, 1);
186
- grn_expr_append_const(ctx, query, exact, GRN_OP_PUSH, 1);
187
- grn_expr_append_const(ctx, query, score1, GRN_OP_PUSH, 1);
188
- grn_expr_append_op(ctx, query, GRN_OP_CALL, 5);
189
- result = grn_table_select(ctx, table, query, NULL, GRN_OP_OR);
190
- grn_obj_close(ctx, query);
191
- GRN_EXPR_CREATE_FOR_QUERY(ctx, table, query, var);
192
- grn_expr_append_obj(ctx, query, contain, GRN_OP_PUSH, 1);
193
- grn_expr_append_obj(ctx, query, column2, GRN_OP_PUSH, 1);
194
- grn_expr_append_const(ctx, query, string, GRN_OP_PUSH, 1);
195
- grn_expr_append_const(ctx, query, exact, GRN_OP_PUSH, 1);
196
- grn_expr_append_const(ctx, query, score2, GRN_OP_PUSH, 1);
197
- grn_expr_append_op(ctx, query, GRN_OP_CALL, 5);
198
- grn_table_select(ctx, table, query, result, GRN_OP_ADJUST);
199
- grn_obj_close(ctx, query);
200
- </pre></div>
201
- </div>
202
- <p>tableのcolumn1の値がstringにexactモードでヒットするレコードについて得られるスコア値にscore1を積算してresultにセットします。次に、resultにセットされたレコードのうち、column2の値がstringにexactモードでヒットするレコードについては、得られたスコア値にscore2を積算したものを、元のスコア値に加えます。</p>
203
- </div>
204
- <div class="section" id="id8">
205
- <h2>5.4.3. 検索例3<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h2>
206
- <div class="highlight-none"><div class="highlight"><pre>GRN_EXPR_CREATE_FOR_QUERY(ctx, table, query, var);
207
- grn_expr_append_obj(ctx, query, contain, GRN_OP_PUSH, 1);
208
- grn_expr_append_obj(ctx, query, column1, GRN_OP_PUSH, 1);
209
- grn_expr_append_const(ctx, query, string, GRN_OP_PUSH, 1);
210
- grn_expr_append_const(ctx, query, exact, GRN_OP_PUSH, 1);
211
- grn_expr_append_const(ctx, query, score1, GRN_OP_PUSH, 1);
212
- grn_expr_append_op(ctx, query, GRN_OP_CALL, 5);
213
- result = grn_table_select(ctx, table, query, NULL, GRN_OP_OR);
214
- grn_obj_close(ctx, query);
215
- if (grn_table_size(ctx, result) &lt; t1) {
216
- GRN_EXPR_CREATE_FOR_QUERY(ctx, table, query, var);
217
- grn_expr_append_obj(ctx, query, contain, GRN_OP_PUSH, 1);
218
- grn_expr_append_obj(ctx, query, column1, GRN_OP_PUSH, 1);
219
- grn_expr_append_const(ctx, query, string, GRN_OP_PUSH, 1);
220
- grn_expr_append_const(ctx, query, partial, GRN_OP_PUSH, 1);
221
- grn_expr_append_const(ctx, query, score2, GRN_OP_PUSH, 1);
222
- grn_expr_append_op(ctx, query, GRN_OP_CALL, 3);
223
- grn_table_select(ctx, table, query, result, GRN_OP_OR);
224
- grn_obj_close(ctx, query);
225
- }
226
- </pre></div>
227
- </div>
228
- <p>tableのcolumn1の値がstringにexactモードでヒットするレコードについて得られるスコア値にscore1を積算してresultにセットします。得られた検索結果数がt1よりも小さい場合は、partialモードで再度検索し、ヒットしたレコードについて得られるスコア値にscore2を積算してresultに追加します。</p>
229
- </div>
230
- <div class="section" id="id9">
231
- <h2>5.4.4. 検索例4<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h2>
232
- <div class="highlight-none"><div class="highlight"><pre>GRN_EXPR_CREATE_FOR_QUERY(ctx, table, query, var);
233
- grn_expr_append_obj(ctx, query, contain, GRN_OP_PUSH, 1);
234
- grn_expr_append_const(ctx, query, string, GRN_OP_PUSH, 1);
235
- grn_expr_append_obj(ctx, query, column, GRN_OP_PUSH, 1);
236
- grn_expr_append_op(ctx, query, GRN_OP_CALL, 3);
237
- result = grn_table_select(ctx, table, query, NULL, GRN_OP_OR);
238
- </pre></div>
239
- </div>
240
- <p>tableのcolumnの値がstringに含まれるレコードをresultに返します。
241
- columnの値が&#8217;needle&#8217;であるレコードr1と、columnの値が&#8217;haystack&#8217;であるレコードr2がtableに登録されていたとき、stringに&#8217;hay in haystack&#8217;を指定したなら、レコードr2のみがヒットします。</p>
242
- </div>
243
- </div>
244
-
245
-
246
- </div>
247
- </div>
248
- </div>
249
- <div class="sphinxsidebar">
250
- <div class="sphinxsidebarwrapper">
251
- <h3><a href="../index.html">Table Of Contents</a></h3>
252
- <ul>
253
- <li><a class="reference internal" href="#">5.3. クエリの実現</a><ul>
254
- <li><a class="reference internal" href="#id2">5.3.1. クエリ実行のためのインタフェース</a><ul>
255
- <li><a class="reference internal" href="#db-api">5.3.1.1. DB_API</a></li>
256
- <li><a class="reference internal" href="#grn-expr">5.3.1.2. grn_expr</a></li>
257
- <li><a class="reference internal" href="#groonga">5.3.1.3. groonga実行ファイル</a></li>
258
- </ul>
259
- </li>
260
- <li><a class="reference internal" href="#id3">5.3.2. grn_exprで表現できるクエリ</a></li>
261
- <li><a class="reference internal" href="#grn-table-select">5.3.3. grn_table_select()</a></li>
262
- <li><a class="reference internal" href="#id4">5.3.4. 関係式</a><ul>
263
- <li><a class="reference internal" href="#equal-v1-v2-arg-callback">5.3.4.1. equal(v1, v2, arg, callback)</a></li>
264
- <li><a class="reference internal" href="#not-equal-v1-v2-arg-callback">5.3.4.2. not_equal(v1, v2, arg, callback)</a></li>
265
- <li><a class="reference internal" href="#less-v1-v2-arg-callback">5.3.4.3. less(v1, v2, arg, callback)</a></li>
266
- <li><a class="reference internal" href="#greater-v1-v2-arg-callback">5.3.4.4. greater(v1, v2, arg, callback)</a></li>
267
- <li><a class="reference internal" href="#less-equal-v1-v2-arg-callback">5.3.4.5. less_equal(v1, v2, arg, callback)</a></li>
268
- <li><a class="reference internal" href="#greater-equal-v1-v2-arg-callback">5.3.4.6. greater_equal(v1, v2, arg, callback)</a></li>
269
- <li><a class="reference internal" href="#contain-v1-v2-mode-arg-callback">5.3.4.7. contain(v1, v2, mode, arg, callback)</a></li>
270
- <li><a class="reference internal" href="#near-v1-v2-arg-callback">5.3.4.8. near(v1, v2, arg, callback)</a></li>
271
- <li><a class="reference internal" href="#similar-v1-v2-arg-callback">5.3.4.9. similar(v1, v2, arg, callback)</a></li>
272
- <li><a class="reference internal" href="#prefix-v1-v2-arg-callback">5.3.4.10. prefix(v1, v2, arg, callback)</a></li>
273
- <li><a class="reference internal" href="#suffix-v1-v2-arg-callback">5.3.4.11. suffix(v1, v2, arg, callback)</a></li>
274
- </ul>
275
- </li>
276
- </ul>
277
- </li>
278
- <li><a class="reference internal" href="#id5">5.4. クエリの実例</a><ul>
279
- <li><a class="reference internal" href="#id6">5.4.1. 検索例1</a></li>
280
- <li><a class="reference internal" href="#id7">5.4.2. 検索例2</a></li>
281
- <li><a class="reference internal" href="#id8">5.4.3. 検索例3</a></li>
282
- <li><a class="reference internal" href="#id9">5.4.4. 検索例4</a></li>
283
- </ul>
284
- </li>
285
- </ul>
286
-
287
- <h4>Previous topic</h4>
288
- <p class="topless"><a href="document.html"
289
- title="previous chapter">5.2. ドキュメント作成</a></p>
290
- <h4>Next topic</h4>
291
- <p class="topless"><a href="test.html"
292
- title="next chapter">5.5. テスト方法</a></p>
293
- <h3>This Page</h3>
294
- <ul class="this-page-menu">
295
- <li><a href="../_sources/developer/query.txt"
296
- rel="nofollow">Show Source</a></li>
297
- </ul>
298
- <div id="searchbox" style="display: none">
299
- <h3>Quick search</h3>
300
- <form class="search" action="../search.html" method="get">
301
- <input type="text" name="q" size="18" />
302
- <input type="submit" value="Go" />
303
- <input type="hidden" name="check_keywords" value="yes" />
304
- <input type="hidden" name="area" value="default" />
305
- </form>
306
- <p class="searchtip" style="font-size: 90%">
307
- Enter search terms or a module, class or function name.
308
- </p>
309
- </div>
310
- <script type="text/javascript">$('#searchbox').show(0);</script>
311
- </div>
312
- </div>
313
- <div class="clearer"></div>
314
- </div>
315
- <div class="related">
316
- <h3>Navigation</h3>
317
- <ul>
318
- <li class="right" style="margin-right: 10px">
319
- <a href="../genindex.html" title="General Index"
320
- >index</a></li>
321
- <li class="right" >
322
- <a href="test.html" title="5.5. テスト方法"
323
- >next</a> |</li>
324
- <li class="right" >
325
- <a href="document.html" title="5.2. ドキュメント作成"
326
- >previous</a> |</li>
327
- <li><a href="../index.html">groonga v1.0.2 documentation</a> &raquo;</li>
328
- <li><a href="../developer.html" >5. groonga開発者向け情報</a> &raquo;</li>
329
- </ul>
330
- </div>
331
- <div class="footer">
332
- &copy; Copyright 2009-2010, Brazil, Inc.
333
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.1.
334
- </div>
335
- </body>
336
- </html>
@@ -1,220 +0,0 @@
1
-
2
-
3
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml">
7
- <head>
8
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9
-
10
- <title>5.5. テスト方法 &mdash; groonga v1.0.2 documentation</title>
11
- <link rel="stylesheet" href="../_static/default.css" type="text/css" />
12
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13
- <script type="text/javascript">
14
- var DOCUMENTATION_OPTIONS = {
15
- URL_ROOT: '../',
16
- VERSION: '1.0.2',
17
- COLLAPSE_INDEX: false,
18
- FILE_SUFFIX: '.html',
19
- HAS_SOURCE: true
20
- };
21
- </script>
22
- <script type="text/javascript" src="../_static/jquery.js"></script>
23
- <script type="text/javascript" src="../_static/underscore.js"></script>
24
- <script type="text/javascript" src="../_static/doctools.js"></script>
25
- <link rel="top" title="groonga v1.0.2 documentation" href="../index.html" />
26
- <link rel="up" title="5. groonga開発者向け情報" href="../developer.html" />
27
- <link rel="prev" title="5.3. クエリの実現" href="query.html" />
28
- </head>
29
- <body>
30
- <div class="related">
31
- <h3>Navigation</h3>
32
- <ul>
33
- <li class="right" style="margin-right: 10px">
34
- <a href="../genindex.html" title="General Index"
35
- accesskey="I">index</a></li>
36
- <li class="right" >
37
- <a href="query.html" title="5.3. クエリの実現"
38
- accesskey="P">previous</a> |</li>
39
- <li><a href="../index.html">groonga v1.0.2 documentation</a> &raquo;</li>
40
- <li><a href="../developer.html" accesskey="U">5. groonga開発者向け情報</a> &raquo;</li>
41
- </ul>
42
- </div>
43
-
44
- <div class="document">
45
- <div class="documentwrapper">
46
- <div class="bodywrapper">
47
- <div class="body">
48
-
49
- <div class="section" id="id1">
50
- <h1>5.5. テスト方法<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h1>
51
- <div class="section" id="id2">
52
- <h2>5.5.1. テスト環境の構築<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
53
- <div class="section" id="cutter">
54
- <h3>5.5.1.1. Cutterのインストール<a class="headerlink" href="#cutter" title="Permalink to this headline">¶</a></h3>
55
- <p>groongaは、テストのフレームワークとして <a class="reference external" href="http://cutter.sourceforge.net/">Cutter</a> を用いています。</p>
56
- <p>Cutterのインストール方法は <a class="reference external" href="http://cutter.sourceforge.net/reference/ja/install.html">プラットフォーム毎のCutterのインストール方法</a> をご覧下さい。</p>
57
- </div>
58
- <div class="section" id="lcov">
59
- <h3>5.5.1.2. lcovのインストール<a class="headerlink" href="#lcov" title="Permalink to this headline">¶</a></h3>
60
- <p>カバレッジ情報を計測するためには、lcov 1.6以上が必要です。DebianやUbuntuでは以下のようにしてインストールできます。:</p>
61
- <div class="highlight-none"><div class="highlight"><pre>% sudo aptitude install -y lcov
62
- </pre></div>
63
- </div>
64
- </div>
65
- <div class="section" id="clang">
66
- <h3>5.5.1.3. clangのインストール<a class="headerlink" href="#clang" title="Permalink to this headline">¶</a></h3>
67
- <p>ソースコードの静的解析を行うためには、clang(scan-build)をインストールする必要があります。DebianやUbuntuでは以下のようにしてインストールできます。:</p>
68
- <div class="highlight-none"><div class="highlight"><pre>% sudo aptitude install -y clang
69
- </pre></div>
70
- </div>
71
- </div>
72
- <div class="section" id="libmemcached">
73
- <h3>5.5.1.4. libmemcachedのインストール<a class="headerlink" href="#libmemcached" title="Permalink to this headline">¶</a></h3>
74
- <p>memcachedのバイナリプロトコルのテストを動作させるためには、libmemcachedの導入が必要です。squeeze以降のDebianやKarmic以降のUubntuでは以下の用にしてインストールできます。:</p>
75
- <div class="highlight-none"><div class="highlight"><pre>% sudo aptitude install -y libmemcached-dev
76
- </pre></div>
77
- </div>
78
- </div>
79
- </div>
80
- <div class="section" id="id5">
81
- <h2>5.5.2. テストの動作<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h2>
82
- <p>groongaのトップディレクトリで、以下のコマンドを実行します。:</p>
83
- <div class="highlight-none"><div class="highlight"><pre>make check
84
- </pre></div>
85
- </div>
86
- </div>
87
- <div class="section" id="id6">
88
- <h2>5.5.3. カバレッジ情報<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h2>
89
- <p>groongaのトップディレクトリで、以下のコマンドを実行します。:</p>
90
- <div class="highlight-none"><div class="highlight"><pre>make coverage
91
- </pre></div>
92
- </div>
93
- <p>すると、coverageディレクトリ以下に、カバレッジ情報が入ったhtmlが出力されます。</p>
94
- <p>カバレッジには、Lines/Functions/Branchesの3つの対象があります。それぞれ、行/関数/分岐に対応します。Functionsがもっとも重要な対象です。すべての関数がテストされるようになっていることを心がけてください。</p>
95
- <p>テストがカバーしていない部分の編集は慎重に行ってください。また、テストがカバーしている部分を増やすことも重要です。</p>
96
- </div>
97
- <div class="section" id="id7">
98
- <h2>5.5.4. 様々なテスト<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h2>
99
- <p>テストは、test/unitディレクトリにおいて、./run-test.shを実行することによっても行えます。run-test.shはいくつかのオプションをとります。詳細は、./run-test.sh &#8211;helpを実行しヘルプをご覧ください。</p>
100
- <div class="section" id="id8">
101
- <h3>5.5.4.1. 特定のテスト関数のみテストする<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h3>
102
- <p>特定のテスト関数(Cutterではテストと呼ぶ)のみをテストすることができます。</p>
103
- <p>実行例:</p>
104
- <div class="highlight-none"><div class="highlight"><pre>% ./run-test.sh -n test_text_otoj
105
- </pre></div>
106
- </div>
107
- </div>
108
- <div class="section" id="id9">
109
- <h3>5.5.4.2. 特定のテストファイルのみテストする<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h3>
110
- <p>特定のテストファイル(Cutterではテストケースと呼ぶ)のみテストすることができます。</p>
111
- <p>実行例:</p>
112
- <div class="highlight-none"><div class="highlight"><pre>% ./run-test.sh -t test_string
113
- </pre></div>
114
- </div>
115
- </div>
116
- <div class="section" id="id10">
117
- <h3>5.5.4.3. 不正メモリアクセス・メモリリーク検出<a class="headerlink" href="#id10" title="Permalink to this headline">¶</a></h3>
118
- <p>環境変数CUTTER_CHECK_LEAKをyesと設定すると、valgrindを用いて不正メモリアクセスやメモリリークを検出しつつ、テストを動作させることができます。</p>
119
- <p>run-test.shのみならず、make checkでも利用可能です。</p>
120
- <p>実行例:</p>
121
- <div class="highlight-none"><div class="highlight"><pre>% CUTTER_CHECK_LEAK=yes make check
122
- </pre></div>
123
- </div>
124
- </div>
125
- <div class="section" id="id11">
126
- <h3>5.5.4.4. デバッガ上でのテスト実行<a class="headerlink" href="#id11" title="Permalink to this headline">¶</a></h3>
127
- <p>環境変数CUTTER_DEBUGをyesと設定すると、テストが実行できる環境が整ったgdbが実行されます。gdb上でrunを行うと、テストの実行が開始されます。</p>
128
- <p>run-test.shのみならず、make checkでも利用可能です。</p>
129
- <p>実行例:</p>
130
- <div class="highlight-none"><div class="highlight"><pre>% CUTTER_DEBUG=yes make check
131
- </pre></div>
132
- </div>
133
- </div>
134
- </div>
135
- <div class="section" id="id12">
136
- <h2>5.5.5. 静的解析<a class="headerlink" href="#id12" title="Permalink to this headline">¶</a></h2>
137
- <p>scan-buildを用いて、ソースコードの静的解析を行うことができます。scan_buildというディレクトリに解析結果のhtmlが出力されます。:</p>
138
- <div class="highlight-none"><div class="highlight"><pre>% scan-build ./configure --prefix=/usr
139
- % make clean
140
- % scan-build -o ./scan_build make -j4
141
- </pre></div>
142
- </div>
143
- <p>configureは1度のみ実行する必要があります。</p>
144
- </div>
145
- </div>
146
-
147
-
148
- </div>
149
- </div>
150
- </div>
151
- <div class="sphinxsidebar">
152
- <div class="sphinxsidebarwrapper">
153
- <h3><a href="../index.html">Table Of Contents</a></h3>
154
- <ul>
155
- <li><a class="reference internal" href="#">5.5. テスト方法</a><ul>
156
- <li><a class="reference internal" href="#id2">5.5.1. テスト環境の構築</a><ul>
157
- <li><a class="reference internal" href="#cutter">5.5.1.1. Cutterのインストール</a></li>
158
- <li><a class="reference internal" href="#lcov">5.5.1.2. lcovのインストール</a></li>
159
- <li><a class="reference internal" href="#clang">5.5.1.3. clangのインストール</a></li>
160
- <li><a class="reference internal" href="#libmemcached">5.5.1.4. libmemcachedのインストール</a></li>
161
- </ul>
162
- </li>
163
- <li><a class="reference internal" href="#id5">5.5.2. テストの動作</a></li>
164
- <li><a class="reference internal" href="#id6">5.5.3. カバレッジ情報</a></li>
165
- <li><a class="reference internal" href="#id7">5.5.4. 様々なテスト</a><ul>
166
- <li><a class="reference internal" href="#id8">5.5.4.1. 特定のテスト関数のみテストする</a></li>
167
- <li><a class="reference internal" href="#id9">5.5.4.2. 特定のテストファイルのみテストする</a></li>
168
- <li><a class="reference internal" href="#id10">5.5.4.3. 不正メモリアクセス・メモリリーク検出</a></li>
169
- <li><a class="reference internal" href="#id11">5.5.4.4. デバッガ上でのテスト実行</a></li>
170
- </ul>
171
- </li>
172
- <li><a class="reference internal" href="#id12">5.5.5. 静的解析</a></li>
173
- </ul>
174
- </li>
175
- </ul>
176
-
177
- <h4>Previous topic</h4>
178
- <p class="topless"><a href="query.html"
179
- title="previous chapter">5.3. クエリの実現</a></p>
180
- <h3>This Page</h3>
181
- <ul class="this-page-menu">
182
- <li><a href="../_sources/developer/test.txt"
183
- rel="nofollow">Show Source</a></li>
184
- </ul>
185
- <div id="searchbox" style="display: none">
186
- <h3>Quick search</h3>
187
- <form class="search" action="../search.html" method="get">
188
- <input type="text" name="q" size="18" />
189
- <input type="submit" value="Go" />
190
- <input type="hidden" name="check_keywords" value="yes" />
191
- <input type="hidden" name="area" value="default" />
192
- </form>
193
- <p class="searchtip" style="font-size: 90%">
194
- Enter search terms or a module, class or function name.
195
- </p>
196
- </div>
197
- <script type="text/javascript">$('#searchbox').show(0);</script>
198
- </div>
199
- </div>
200
- <div class="clearer"></div>
201
- </div>
202
- <div class="related">
203
- <h3>Navigation</h3>
204
- <ul>
205
- <li class="right" style="margin-right: 10px">
206
- <a href="../genindex.html" title="General Index"
207
- >index</a></li>
208
- <li class="right" >
209
- <a href="query.html" title="5.3. クエリの実現"
210
- >previous</a> |</li>
211
- <li><a href="../index.html">groonga v1.0.2 documentation</a> &raquo;</li>
212
- <li><a href="../developer.html" >5. groonga開発者向け情報</a> &raquo;</li>
213
- </ul>
214
- </div>
215
- <div class="footer">
216
- &copy; Copyright 2009-2010, Brazil, Inc.
217
- Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.1.
218
- </div>
219
- </body>
220
- </html>