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