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
@@ -22,6 +22,39 @@ class IndexColumnTest < Test::Unit::TestCase
22
22
  setup_database
23
23
  end
24
24
 
25
+ def test_index?
26
+ articles = Groonga::Array.create(:name => "Articles")
27
+ articles.define_column("content", "Text")
28
+
29
+ terms = Groonga::Hash.create(:name => "Terms",
30
+ :default_tokenizer => "TokenBigram")
31
+ content_index = terms.define_index_column("content", articles,
32
+ :with_section => true)
33
+ assert_predicate(content_index, :index?)
34
+ end
35
+
36
+ def test_vector?
37
+ articles = Groonga::Array.create(:name => "Articles")
38
+ articles.define_column("content", "Text")
39
+
40
+ terms = Groonga::Hash.create(:name => "Terms",
41
+ :default_tokenizer => "TokenBigram")
42
+ content_index = terms.define_index_column("content", articles,
43
+ :with_section => true)
44
+ assert_not_predicate(content_index, :vector?)
45
+ end
46
+
47
+ def test_scalar?
48
+ articles = Groonga::Array.create(:name => "Articles")
49
+ articles.define_column("content", "Text")
50
+
51
+ terms = Groonga::Hash.create(:name => "Terms",
52
+ :default_tokenizer => "TokenBigram")
53
+ content_index = terms.define_index_column("content", articles,
54
+ :with_section => true)
55
+ assert_not_predicate(content_index, :scalar?)
56
+ end
57
+
25
58
  def test_array_set_with_record
26
59
  articles = Groonga::Array.create(:name => "Articles")
27
60
  articles.define_column("content", "Text")
@@ -21,6 +21,12 @@ class PatriciaTrieTest < Test::Unit::TestCase
21
21
 
22
22
  setup :setup_database
23
23
 
24
+ def test_support_key?
25
+ assert_predicate(Groonga::PatriciaTrie.create(:name => "Users",
26
+ :key_type => "ShortText"),
27
+ :support_key?)
28
+ end
29
+
24
30
  def test_encoding
25
31
  assert_equal(Groonga::Encoding.default,
26
32
  Groonga::PatriciaTrie.create.encoding)
@@ -0,0 +1,29 @@
1
+ # Copyright (C) 2011 Kouhei Sutou <kou@clear-code.com>
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License version 2.1 as published by the Free Software Foundation.
6
+ #
7
+ # This library is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10
+ # Lesser General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Lesser General Public
13
+ # License along with this library; if not, write to the Free Software
14
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
+
16
+ class PluginTest < Test::Unit::TestCase
17
+ include GroongaTestUtils
18
+
19
+ setup :setup_sandbox
20
+ setup :setup_database
21
+ teardown :teardown_sandbox
22
+
23
+ def test_register
24
+ context = Groonga::Context.default
25
+ assert_nil(context["suggest"])
26
+ context.register_plugin("suggest/suggest")
27
+ assert_not_nil(context["suggest"])
28
+ end
29
+ end
data/test/test-record.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2010 Kouhei Sutou <kou@clear-code.com>
1
+ # Copyright (C) 2009-2011 Kouhei Sutou <kou@clear-code.com>
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -77,6 +77,39 @@ class RecordTest < Test::Unit::TestCase
77
77
  assert_false(groonga.have_column?(:nonexistent))
78
78
  end
79
79
 
80
+ def test_have_column_id
81
+ groonga = @bookmarks.add
82
+ assert_true(groonga.have_column?(:_id))
83
+ end
84
+
85
+ def test_have_column_key_hash
86
+ mori = @users.add("mori")
87
+ assert_true(mori.have_column?(:_key))
88
+ end
89
+
90
+ def test_have_column_key_array_with_value_type
91
+ groonga = @bookmarks.add
92
+ assert_true(groonga.have_column?(:_key))
93
+ end
94
+
95
+ def test_have_column_key_array_without_value_type
96
+ groonga_ml = @addresses.add
97
+ assert_false(groonga_ml.have_column?(:_key))
98
+ end
99
+
100
+ def test_have_column_nsubrecs_existent
101
+ @users.add("mori")
102
+ bookmarks = @users.select do |record|
103
+ record.key == "mori"
104
+ end
105
+ assert_true(bookmarks.to_a.first.have_column?(:_nsubrecs))
106
+ end
107
+
108
+ def test_have_column_nsubrecs_nonexistent
109
+ groonga = @bookmarks.add
110
+ assert_false(groonga.have_column?(:_nsubrecs))
111
+ end
112
+
80
113
  def test_get_nonexistent_column
81
114
  groonga = @bookmarks.add
82
115
  assert_raise(Groonga::NoSuchColumn) do
@@ -164,6 +197,27 @@ class RecordTest < Test::Unit::TestCase
164
197
  assert_true(bookmark.reference_column?("user"))
165
198
  end
166
199
 
200
+ def test_index_column?
201
+ bookmark = @bookmarks.add
202
+ assert_false(bookmark.index_column?("uri"))
203
+ index = @bookmarks_index.add("token")
204
+ assert_true(index.index_column?("content"))
205
+ end
206
+
207
+ def test_vector_column?
208
+ bookmark = @bookmarks.add
209
+ assert_false(bookmark.vector_column?("uri"))
210
+ morita = @users.add("morita")
211
+ assert_true(morita.vector_column?("addresses"))
212
+ end
213
+
214
+ def test_scalar_column?
215
+ bookmark = @bookmarks.add
216
+ assert_true(bookmark.scalar_column?("uri"))
217
+ morita = @users.add("morita")
218
+ assert_false(morita.scalar_column?("addresses"))
219
+ end
220
+
167
221
  def test_score
168
222
  groonga = @bookmarks.add
169
223
  groonga["content"] = "full text search search search engine."
@@ -275,4 +329,33 @@ class RecordTest < Test::Unit::TestCase
275
329
  users = @users.select {|record| record.key == "morita"}
276
330
  assert_predicate(users.to_a[0], :support_sub_records?)
277
331
  end
332
+
333
+ def test_set_record_like_object
334
+ kou_at_clear_code = @addresses.add(:mail => "kou@clear-code.com")
335
+ record_like_class = Class.new do
336
+ attr_reader :record_raw_id
337
+ def initialize(record_raw_id)
338
+ @record_raw_id = record_raw_id
339
+ end
340
+ end
341
+ record_like_object = record_like_class.new(kou_at_clear_code.record_raw_id)
342
+ kou = @users.add("kou")
343
+ kou.addresses = [record_like_object]
344
+ end
345
+
346
+ def test_set_array_like_records
347
+ kou_at_clear_code = @addresses.add(:mail => "kou@clear-code.com")
348
+ array_like_class = Class.new do
349
+ def initialize(records)
350
+ @records = records
351
+ end
352
+
353
+ def to_ary
354
+ @records
355
+ end
356
+ end
357
+ array_like_object = array_like_class.new([kou_at_clear_code])
358
+ kou = @users.add("kou")
359
+ kou.addresses = array_like_object
360
+ end
278
361
  end
data/test/test-remote.rb CHANGED
@@ -47,8 +47,9 @@ class RemoteTest < Test::Unit::TestCase
47
47
  id, result = _context.receive
48
48
  assert_equal(0, id)
49
49
  values = JSON.load(result)
50
- assert_equal(["alloc_count", "cache_hit_rate", "n_queries",
51
- "starttime", "uptime", "version"],
50
+ assert_equal(["alloc_count", "cache_hit_rate", "command_version",
51
+ "default_command_version", "max_command_version",
52
+ "n_queries", "starttime", "uptime", "version"],
52
53
  values.keys.sort)
53
54
  end
54
55
 
@@ -87,7 +87,7 @@ module SchemaCreateTableTests
87
87
  assert_true(context["Posts"].support_sub_records?)
88
88
  end
89
89
 
90
- def test_differnt_sub_records
90
+ def test_different_sub_records
91
91
  Groonga::Schema.create_table("Posts",
92
92
  options(:sub_records => true)) do |table|
93
93
  end
@@ -99,6 +99,35 @@ module SchemaCreateTableTests
99
99
  end
100
100
  end
101
101
 
102
+ def test_same_path
103
+ path = (@tmp_dir + "posts.groonga").to_s
104
+ Groonga::Schema.create_table("Posts", options(:path => path)) do |table|
105
+ end
106
+
107
+ Groonga::Schema.create_table("Posts", options(:path => path)) do |table|
108
+ end
109
+ assert_equal(path, context["Posts"].path)
110
+ end
111
+
112
+ def test_different_path
113
+ path = (@tmp_dir + "posts.groonga").to_s
114
+ Groonga::Schema.create_table("Posts", options(:path => path)) do |table|
115
+ end
116
+
117
+ assert_raise(Groonga::Schema::TableCreationWithDifferentOptions) do
118
+ path = (@tmp_dir + "posts.grn").to_s
119
+ Groonga::Schema.create_table("Posts", options(:path => path)) do |table|
120
+ end
121
+ end
122
+ end
123
+
124
+ def test_default_path
125
+ Groonga::Schema.create_table("Posts", options) do |table|
126
+ end
127
+ assert_equal("#{@database_path}.tables/Posts",
128
+ context["Posts"].path)
129
+ end
130
+
102
131
  private
103
132
  def options(addional_options={})
104
133
  default_options.merge(addional_options)
@@ -118,7 +147,8 @@ module SchemaCreateTableWithKeyTests
118
147
  end
119
148
 
120
149
  def test_differnt_key_type
121
- Groonga::Schema.create_table("Posts", options) do |table|
150
+ Groonga::Schema.create_table("Posts",
151
+ options(:key_type => "Int32")) do |table|
122
152
  end
123
153
 
124
154
  assert_raise(Groonga::Schema::TableCreationWithDifferentOptions) do
@@ -0,0 +1,167 @@
1
+ # Copyright (C) 2010 Kouhei Sutou <kou@clear-code.com>
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License version 2.1 as published by the Free Software Foundation.
6
+ #
7
+ # This library is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10
+ # Lesser General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Lesser General Public
13
+ # License along with this library; if not, write to the Free Software
14
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
+
16
+ class SchemaTypeTest < Test::Unit::TestCase
17
+ include GroongaTestUtils
18
+
19
+ def test_normalize_short_text
20
+ assert_normalize_type("ShortText", "short_text")
21
+ assert_normalize_type("ShortText", "string")
22
+ assert_normalize_type("ShortText", "ShortText")
23
+ end
24
+
25
+ def test_normalize_text
26
+ assert_normalize_type("Text", "text")
27
+ assert_normalize_type("Text", "Text")
28
+ end
29
+
30
+ def test_normalize_long_text
31
+ assert_normalize_type("LongText", "binary")
32
+ assert_normalize_type("LongText", "long_text")
33
+ assert_normalize_type("LongText", "LongText")
34
+ end
35
+
36
+ def test_normalize_integer32
37
+ assert_normalize_type("Int32", "int")
38
+ assert_normalize_type("Int32", "integer")
39
+ assert_normalize_type("Int32", "int32")
40
+ assert_normalize_type("Int32", "integer32")
41
+ assert_normalize_type("Int32", "Int32")
42
+ end
43
+
44
+ def test_normalize_integer64
45
+ assert_normalize_type("Int64", "int64")
46
+ assert_normalize_type("Int64", "integer64")
47
+ assert_normalize_type("Int64", "Int64")
48
+ end
49
+
50
+ def test_normalize_unsigned_integer32
51
+ assert_normalize_type("UInt32", "uint")
52
+ assert_normalize_type("UInt32", "unsigned_integer")
53
+ assert_normalize_type("UInt32", "uint32")
54
+ assert_normalize_type("UInt32", "unsigned_integer32")
55
+ assert_normalize_type("UInt32", "UInt32")
56
+ end
57
+
58
+ def test_normalize_unsigned_integer64
59
+ assert_normalize_type("UInt64", "uint64")
60
+ assert_normalize_type("UInt64", "unsigned_integer64")
61
+ assert_normalize_type("UInt64", "UInt64")
62
+ end
63
+
64
+ def test_normalize_float
65
+ assert_normalize_type("Float", "float")
66
+ assert_normalize_type("Float", "Float")
67
+ end
68
+
69
+ def test_normalize_time
70
+ assert_normalize_type("Time", "datetime")
71
+ assert_normalize_type("Time", "timestamp")
72
+ assert_normalize_type("Time", "time")
73
+ assert_normalize_type("Time", "date")
74
+ assert_normalize_type("Time", "Time")
75
+ end
76
+
77
+ def test_normalize_boolean
78
+ assert_normalize_type("Bool", "boolean")
79
+ assert_normalize_type("Bool", "Bool")
80
+ end
81
+
82
+ def test_normalize_unigram
83
+ assert_normalize_type("TokenUnigram", "unigram")
84
+ assert_normalize_type("TokenUnigram", "token_unigram")
85
+ assert_normalize_type("TokenUnigram", "TokenUnigram")
86
+ end
87
+
88
+ def test_normalize_bigram
89
+ assert_normalize_type("TokenBigram", "bigram")
90
+ assert_normalize_type("TokenBigram", "token_bigram")
91
+ assert_normalize_type("TokenBigram", "TokenBigram")
92
+ end
93
+
94
+ def test_normalize_bigram_split_symbol
95
+ assert_normalize_type("TokenBigramSplitSymbol", "bigram_split_symbol")
96
+ assert_normalize_type("TokenBigramSplitSymbol", "token_bigram_split_symbol")
97
+ assert_normalize_type("TokenBigramSplitSymbol", "TokenBigramSplitSymbol")
98
+ end
99
+
100
+ def test_normalize_bigram_split_symbol_alpha
101
+ assert_normalize_type("TokenBigramSplitSymbolAlpha",
102
+ "bigram_split_symbol_alpha")
103
+ assert_normalize_type("TokenBigramSplitSymbolAlpha",
104
+ "token_bigram_split_symbol_alpha")
105
+ assert_normalize_type("TokenBigramSplitSymbolAlpha",
106
+ "TokenBigramSplitSymbolAlpha")
107
+ end
108
+
109
+ def test_normalize_bigram_split_symbol_alpha_digit
110
+ assert_normalize_type("TokenBigramSplitSymbolAlphaDigit",
111
+ "bigram_split_symbol_alpha_digit")
112
+ assert_normalize_type("TokenBigramSplitSymbolAlphaDigit",
113
+ "token_bigram_split_symbol_alpha_digit")
114
+ assert_normalize_type("TokenBigramSplitSymbolAlphaDigit",
115
+ "TokenBigramSplitSymbolAlphaDigit")
116
+ end
117
+
118
+ def test_normalize_bigram_ignore_blank
119
+ assert_normalize_type("TokenBigramIgnoreBlank", "bigram_ignore_blank")
120
+ assert_normalize_type("TokenBigramIgnoreBlank", "token_bigram_ignore_blank")
121
+ assert_normalize_type("TokenBigramIgnoreBlank", "TokenBigramIgnoreBlank")
122
+ end
123
+
124
+ def test_normalize_bigram_ignore_blank_split_symbol
125
+ assert_normalize_type("TokenBigramIgnoreBlankSplitSymbol",
126
+ "bigram_ignore_blank_split_symbol")
127
+ assert_normalize_type("TokenBigramIgnoreBlankSplitSymbol",
128
+ "token_bigram_ignore_blank_split_symbol")
129
+ assert_normalize_type("TokenBigramIgnoreBlankSplitSymbol",
130
+ "TokenBigramIgnoreBlankSplitSymbol")
131
+ end
132
+
133
+ def test_normalize_bigram_ignore_blank_split_symbol_alpha
134
+ assert_normalize_type("TokenBigramIgnoreBlankSplitSymbolAlpha",
135
+ "bigram_ignore_blank_split_symbol_alpha")
136
+ assert_normalize_type("TokenBigramIgnoreBlankSplitSymbolAlpha",
137
+ "token_bigram_ignore_blank_split_symbol_alpha")
138
+ assert_normalize_type("TokenBigramIgnoreBlankSplitSymbolAlpha",
139
+ "TokenBigramIgnoreBlankSplitSymbolAlpha")
140
+ end
141
+
142
+ def test_normalize_bigram_ignore_blank_split_symbol_alpha_digit
143
+ assert_normalize_type("TokenBigramIgnoreBlankSplitSymbolAlphaDigit",
144
+ "bigram_ignore_blank_split_symbol_alpha_digit")
145
+ assert_normalize_type("TokenBigramIgnoreBlankSplitSymbolAlphaDigit",
146
+ "token_bigram_ignore_blank_split_symbol_alpha_digit")
147
+ assert_normalize_type("TokenBigramIgnoreBlankSplitSymbolAlphaDigit",
148
+ "TokenBigramIgnoreBlankSplitSymbolAlphaDigit")
149
+ end
150
+
151
+ def test_normalize_trigram
152
+ assert_normalize_type("TokenTrigram", "trigram")
153
+ assert_normalize_type("TokenTrigram", "token_trigram")
154
+ assert_normalize_type("TokenTrigram", "TokenTrigram")
155
+ end
156
+
157
+ def test_normalize_mecab
158
+ assert_normalize_type("TokenMecab", "mecab")
159
+ assert_normalize_type("TokenMecab", "token_mecab")
160
+ assert_normalize_type("TokenMecab", "TokenMecab")
161
+ end
162
+
163
+ private
164
+ def assert_normalize_type(expected, type)
165
+ assert_equal(expected, Groonga::Schema.normalize_type(type))
166
+ end
167
+ end
data/test/test-schema.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2009-2010 Kouhei Sutou <kou@clear-code.com>
1
+ # Copyright (C) 2009-2011 Kouhei Sutou <kou@clear-code.com>
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -28,7 +28,9 @@ class SchemaTest < Test::Unit::TestCase
28
28
  def test_define_hash
29
29
  Groonga::Schema.create_table("Posts", :type => :hash) do |table|
30
30
  end
31
- assert_kind_of(Groonga::Hash, context["Posts"])
31
+ posts = context["Posts"]
32
+ assert_kind_of(Groonga::Hash, posts)
33
+ assert_equal("#{@database_path}.tables/Posts", posts.path)
32
34
  end
33
35
 
34
36
  def test_define_hash_with_full_option
@@ -58,7 +60,9 @@ class SchemaTest < Test::Unit::TestCase
58
60
  def test_define_patricia_trie
59
61
  Groonga::Schema.create_table("Posts", :type => :patricia_trie) do |table|
60
62
  end
61
- assert_kind_of(Groonga::PatriciaTrie, context["Posts"])
63
+ posts = context["Posts"]
64
+ assert_kind_of(Groonga::PatriciaTrie, posts)
65
+ assert_equal("#{@database_path}.tables/Posts", posts.path)
62
66
  end
63
67
 
64
68
  def test_define_patricia_trie_with_full_option
@@ -89,7 +93,9 @@ class SchemaTest < Test::Unit::TestCase
89
93
  def test_define_array
90
94
  Groonga::Schema.create_table("Posts", :type => :array) do |table|
91
95
  end
92
- assert_kind_of(Groonga::Array, context["Posts"])
96
+ posts = context["Posts"]
97
+ assert_kind_of(Groonga::Array, posts)
98
+ assert_equal("#{@database_path}.tables/Posts", posts.path)
93
99
  end
94
100
 
95
101
  def test_define_array_with_full_option
@@ -183,6 +189,16 @@ class SchemaTest < Test::Unit::TestCase
183
189
  assert_equal(context["Time"], context["Posts.last_modified"].range)
184
190
  end
185
191
 
192
+ def test_timestamps
193
+ assert_nil(context["Posts.created_at"])
194
+ assert_nil(context["Posts.updated_at"])
195
+ Groonga::Schema.create_table("Posts") do |table|
196
+ table.timestamps
197
+ end
198
+ assert_equal(context["Time"], context["Posts.created_at"].range)
199
+ assert_equal(context["Time"], context["Posts.updated_at"].range)
200
+ end
201
+
186
202
  def test_short_text_column
187
203
  assert_nil(context["Posts.title"])
188
204
  Groonga::Schema.create_table("Posts") do |table|
@@ -221,9 +237,7 @@ class SchemaTest < Test::Unit::TestCase
221
237
  end
222
238
  assert_not_nil(context["Posts.content"])
223
239
 
224
- Groonga::Schema.change_table("Posts") do |table|
225
- table.remove_column("content")
226
- end
240
+ Groonga::Schema.remove_column("Posts", "content")
227
241
  assert_nil(context["Posts.content"])
228
242
  end
229
243
 
@@ -363,6 +377,48 @@ class SchemaTest < Test::Unit::TestCase
363
377
  end
364
378
  end
365
379
 
380
+ def test_remove_index
381
+ Groonga::Schema.create_table("Posts") do |table|
382
+ table.long_text :content
383
+ end
384
+ Groonga::Schema.create_table("Terms") do |table|
385
+ table.index "Posts.content"
386
+ end
387
+ assert_equal([context["Posts.content"]],
388
+ context["Terms.Posts_content"].sources)
389
+ Groonga::Schema.change_table("Terms") do |table|
390
+ table.remove_index("Posts.content")
391
+ end
392
+ assert_nil(context["Terms.Posts_content"])
393
+ end
394
+
395
+ def test_reference_guess
396
+ Groonga::Schema.define do |schema|
397
+ schema.create_table("Items", :type => :hash) do |table|
398
+ table.short_text("title")
399
+ end
400
+
401
+ schema.create_table("Users", :type => :hash) do |table|
402
+ table.reference("item")
403
+ end
404
+ end
405
+
406
+ assert_equal(context["Items"], context["Users.item"].range)
407
+ end
408
+
409
+ def test_reference_ungeussable
410
+ candidates = ["item", "items", "Items"]
411
+ exception =
412
+ Groonga::Schema::UnguessableReferenceTable.new("item", candidates)
413
+ assert_raise(exception) do
414
+ Groonga::Schema.define do |schema|
415
+ schema.create_table("Users", :type => :hash) do |table|
416
+ table.reference("item")
417
+ end
418
+ end
419
+ end
420
+ end
421
+
366
422
  def test_dump
367
423
  Groonga::Schema.define do |schema|
368
424
  schema.create_table("Posts") do |table|
@@ -370,13 +426,14 @@ class SchemaTest < Test::Unit::TestCase
370
426
  end
371
427
  end
372
428
  assert_equal(<<-EOS, Groonga::Schema.dump)
373
- create_table("Posts") do |table|
429
+ create_table("Posts",
430
+ :force => true) do |table|
374
431
  table.short_text("title")
375
432
  end
376
433
  EOS
377
434
  end
378
435
 
379
- def test_reference_dump
436
+ def test_dump_reference
380
437
  Groonga::Schema.define do |schema|
381
438
  schema.create_table("Items") do |table|
382
439
  table.short_text("title")
@@ -395,16 +452,19 @@ EOS
395
452
  end
396
453
 
397
454
  assert_equal(<<-EOS, Groonga::Schema.dump)
398
- create_table("Comments") do |table|
455
+ create_table("Comments",
456
+ :force => true) do |table|
399
457
  table.text("content")
400
458
  table.time("issued")
401
459
  end
402
460
 
403
- create_table("Items") do |table|
461
+ create_table("Items",
462
+ :force => true) do |table|
404
463
  table.short_text("title")
405
464
  end
406
465
 
407
- create_table("Users") do |table|
466
+ create_table("Users",
467
+ :force => true) do |table|
408
468
  table.short_text("name")
409
469
  end
410
470
 
@@ -415,6 +475,47 @@ end
415
475
  EOS
416
476
  end
417
477
 
478
+ def test_dump_index
479
+ Groonga::Schema.define do |schema|
480
+ schema.create_table("Items",
481
+ :type => :patricia_trie,
482
+ :key_type => "ShortText") do |table|
483
+ table.short_text("title")
484
+ end
485
+
486
+ schema.create_table("Terms",
487
+ :type => :patricia_trie,
488
+ :key_type => "ShortText",
489
+ :key_normalize => true,
490
+ :default_tokenizer => "TokenBigram") do |table|
491
+ table.index("Items", "_key")
492
+ table.index("Items", "title")
493
+ end
494
+ end
495
+
496
+ assert_equal(<<-EOS, Groonga::Schema.dump)
497
+ create_table("Items",
498
+ :type => :patricia_trie,
499
+ :key_type => "ShortText",
500
+ :force => true) do |table|
501
+ table.short_text("title")
502
+ end
503
+
504
+ create_table("Terms",
505
+ :type => :patricia_trie,
506
+ :key_type => "ShortText",
507
+ :key_normalize => true,
508
+ :default_tokenizer => "TokenBigram",
509
+ :force => true) do |table|
510
+ end
511
+
512
+ change_table("Terms") do |table|
513
+ table.index("Items", "_key", :name => "Items__key")
514
+ table.index("Items", "title", :name => "Items_title")
515
+ end
516
+ EOS
517
+ end
518
+
418
519
  def test_explicit_context_create_table
419
520
  context = Groonga::Context.default
420
521
  Groonga::Context.default = nil
@@ -436,4 +537,50 @@ EOS
436
537
  assert_nil(Groonga::Context.default["Items.text"])
437
538
  assert_nil(Groonga::Context.default["TermsText.Items_text"])
438
539
  end
540
+
541
+ def test_columns_directory_removed
542
+ table = "Posts"
543
+ dir = create_table_with_column(table)
544
+
545
+ Groonga::Schema.remove_table(table)
546
+
547
+ assert_table_removed(table)
548
+ assert_directory_removed(dir)
549
+ end
550
+
551
+ def test_columns_directory_not_removed
552
+ table = "Posts"
553
+ dir = create_table_with_column(table)
554
+
555
+ Groonga::Context.default[table].remove
556
+
557
+ assert_table_removed(table)
558
+ assert_directory_not_removed(dir)
559
+ end
560
+
561
+ private
562
+ def columns_directory_path(table)
563
+ "#{table.path}.columns"
564
+ end
565
+
566
+ def create_table_with_column(name)
567
+ Groonga::Schema.create_table(name) do |table|
568
+ table.integer64 :rate
569
+ end
570
+ context = Groonga::Context.default
571
+ columns_directory_path(context[name])
572
+ end
573
+
574
+ def assert_directory_removed(dir)
575
+ assert_false(File.exist?(dir))
576
+ end
577
+
578
+ def assert_directory_not_removed(dir)
579
+ assert_true(File.exist?(dir))
580
+ end
581
+
582
+ def assert_table_removed(name)
583
+ context = Groonga::Context.default
584
+ assert_nil(context[name])
585
+ end
439
586
  end