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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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