rroonga 0.9.5-x86-mingw32 → 1.0.1-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.
- 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
 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         @@ -0,0 +1,11 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # encoding = utf-8
         
     | 
| 
      
 2 
     | 
    
         
            +
            # log-level = 1
         
     | 
| 
      
 3 
     | 
    
         
            +
            # address = 0.0.0.0
         
     | 
| 
      
 4 
     | 
    
         
            +
            # port = 10041
         
     | 
| 
      
 5 
     | 
    
         
            +
            # server-id = groonga.example.com
         
     | 
| 
      
 6 
     | 
    
         
            +
            # max-threads = 2
         
     | 
| 
      
 7 
     | 
    
         
            +
            # admin-html-path = /usr/share/groonga/admin_html
         
     | 
| 
      
 8 
     | 
    
         
            +
            # protocol = http
         
     | 
| 
      
 9 
     | 
    
         
            +
            # log-path = /var/log/groonga/groonga.log
         
     | 
| 
      
 10 
     | 
    
         
            +
            # query-log-path = /var/log/groonga/query.log
         
     | 
| 
      
 11 
     | 
    
         
            +
            # cache-limit = 100
         
     | 
| 
         @@ -0,0 +1,168 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #!/bin/bash
         
     | 
| 
      
 2 
     | 
    
         
            +
            #
         
     | 
| 
      
 3 
     | 
    
         
            +
            # /etc/rc.d/init.d/groonga
         
     | 
| 
      
 4 
     | 
    
         
            +
            #
         
     | 
| 
      
 5 
     | 
    
         
            +
            # chkconfig: - 80 20
         
     | 
| 
      
 6 
     | 
    
         
            +
            # description: A full-text search engine and column store.
         
     | 
| 
      
 7 
     | 
    
         
            +
            # processname: groonga
         
     | 
| 
      
 8 
     | 
    
         
            +
            # config: /etc/sysconfig/groonga
         
     | 
| 
      
 9 
     | 
    
         
            +
            # pidfile: /var/run/groonga/groonga.pid
         
     | 
| 
      
 10 
     | 
    
         
            +
            #
         
     | 
| 
      
 11 
     | 
    
         
            +
            ### BEGIN INIT INFO
         
     | 
| 
      
 12 
     | 
    
         
            +
            # Provides:          groonga
         
     | 
| 
      
 13 
     | 
    
         
            +
            # Default-Start:     2 3 4 5
         
     | 
| 
      
 14 
     | 
    
         
            +
            # Default-Stop:      0 1 6
         
     | 
| 
      
 15 
     | 
    
         
            +
            # Required-Start:    $remote_fs
         
     | 
| 
      
 16 
     | 
    
         
            +
            # Required-Stop:     $remote_fs
         
     | 
| 
      
 17 
     | 
    
         
            +
            # Short-Description: groonga's init script
         
     | 
| 
      
 18 
     | 
    
         
            +
            # Description:       groonga is a full-text search engine and column store.
         
     | 
| 
      
 19 
     | 
    
         
            +
            ### END INIT INFO
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            # Source function library.
         
     | 
| 
      
 22 
     | 
    
         
            +
            . /etc/init.d/functions
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            name="groonga"
         
     | 
| 
      
 25 
     | 
    
         
            +
            prog="groonga"
         
     | 
| 
      
 26 
     | 
    
         
            +
            groonga=/usr/bin/$prog
         
     | 
| 
      
 27 
     | 
    
         
            +
            USER=groonga
         
     | 
| 
      
 28 
     | 
    
         
            +
            GROUP=groonga
         
     | 
| 
      
 29 
     | 
    
         
            +
            DATABASE=/var/lib/groonga/db/db
         
     | 
| 
      
 30 
     | 
    
         
            +
            ADDRESS=127.0.0.1
         
     | 
| 
      
 31 
     | 
    
         
            +
            PIDFILE=/var/run/groonga/$prog.pid
         
     | 
| 
      
 32 
     | 
    
         
            +
            PROTOCOL=gqtp
         
     | 
| 
      
 33 
     | 
    
         
            +
            LOG_PATH=/var/log/groonga/groonga.log
         
     | 
| 
      
 34 
     | 
    
         
            +
            QUERY_LOG_PATH=/var/log/groonga/query.log
         
     | 
| 
      
 35 
     | 
    
         
            +
            OPTION_ARGS=""
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            if [ -f /etc/sysconfig/$name ]; then
         
     | 
| 
      
 38 
     | 
    
         
            +
            	. /etc/sysconfig/$name
         
     | 
| 
      
 39 
     | 
    
         
            +
            fi
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            DAEMON_ARGS=""
         
     | 
| 
      
 42 
     | 
    
         
            +
            GROONGA_ARGS="-d"
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
            if [ -n "${USER}" ]; then
         
     | 
| 
      
 45 
     | 
    
         
            +
            	if ! getent passwd | grep -q "^${USER}:"; then
         
     | 
| 
      
 46 
     | 
    
         
            +
            	        echo "$0: user for running $prog doesn't exist: ${USER}" >&2
         
     | 
| 
      
 47 
     | 
    
         
            +
            		exit 1
         
     | 
| 
      
 48 
     | 
    
         
            +
            	fi
         
     | 
| 
      
 49 
     | 
    
         
            +
            	if [ -n "${PIDFILE}" ]; then
         
     | 
| 
      
 50 
     | 
    
         
            +
            		mkdir -p `dirname ${PIDFILE}`
         
     | 
| 
      
 51 
     | 
    
         
            +
            		chown -R ${USER} `dirname ${PIDFILE}`
         
     | 
| 
      
 52 
     | 
    
         
            +
            	fi
         
     | 
| 
      
 53 
     | 
    
         
            +
            	DAEMON_ARGS="${DAEMON_ARGS} --user ${USER}"
         
     | 
| 
      
 54 
     | 
    
         
            +
            fi
         
     | 
| 
      
 55 
     | 
    
         
            +
            if [ -n "${GROUP}" ]; then
         
     | 
| 
      
 56 
     | 
    
         
            +
            	if ! getent group | grep -q "^${GROUP}:"; then
         
     | 
| 
      
 57 
     | 
    
         
            +
            		echo "$0: group for running $prog doesn't exist: ${GROUP}" >&2
         
     | 
| 
      
 58 
     | 
    
         
            +
            		exit 1
         
     | 
| 
      
 59 
     | 
    
         
            +
            	fi
         
     | 
| 
      
 60 
     | 
    
         
            +
            	CGROUP_DAEMON="${CGROUP_DAEMON} ${GROUP}"
         
     | 
| 
      
 61 
     | 
    
         
            +
            fi
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
            if [ -n "${PIDFILE}" ]; then
         
     | 
| 
      
 64 
     | 
    
         
            +
            	mkdir -p $(dirname ${PIDFILE})
         
     | 
| 
      
 65 
     | 
    
         
            +
            	if [ -n "${USER}" ]; then
         
     | 
| 
      
 66 
     | 
    
         
            +
            		chown -R ${USER} $(dirname ${PIDFILE})
         
     | 
| 
      
 67 
     | 
    
         
            +
            	fi
         
     | 
| 
      
 68 
     | 
    
         
            +
            	GROONGA_ARGS="${GROONGA_ARGS} --pid-path ${PIDFILE}"
         
     | 
| 
      
 69 
     | 
    
         
            +
            fi
         
     | 
| 
      
 70 
     | 
    
         
            +
            if [ -n "${ADDRESS}" ]; then
         
     | 
| 
      
 71 
     | 
    
         
            +
            	GROONGA_ARGS="${GROONGA_ARGS} --address ${ADDRESS}"
         
     | 
| 
      
 72 
     | 
    
         
            +
            fi
         
     | 
| 
      
 73 
     | 
    
         
            +
            if [ -n "${LOG_PATH}" ]; then
         
     | 
| 
      
 74 
     | 
    
         
            +
            	mkdir -p $(dirname ${LOG_PATH})
         
     | 
| 
      
 75 
     | 
    
         
            +
            	if [ -n "${USER}" ]; then
         
     | 
| 
      
 76 
     | 
    
         
            +
            		chown -R ${USER} $(dirname ${LOG_PATH})
         
     | 
| 
      
 77 
     | 
    
         
            +
            	fi
         
     | 
| 
      
 78 
     | 
    
         
            +
            	GROONGA_ARGS="${GROONGA_ARGS} --log-path ${LOG_PATH}"
         
     | 
| 
      
 79 
     | 
    
         
            +
            fi
         
     | 
| 
      
 80 
     | 
    
         
            +
            if [ -n "${QUERY_LOG_PATH}" ]; then
         
     | 
| 
      
 81 
     | 
    
         
            +
            	mkdir -p $(dirname ${QUERY_LOG_PATH})
         
     | 
| 
      
 82 
     | 
    
         
            +
            	if [ -n "${USER}" ]; then
         
     | 
| 
      
 83 
     | 
    
         
            +
            		chown -R ${USER} $(dirname ${QUERY_LOG_PATH})
         
     | 
| 
      
 84 
     | 
    
         
            +
            	fi
         
     | 
| 
      
 85 
     | 
    
         
            +
            	GROONGA_ARGS="${GROONGA_ARGS} --query-log-path ${QUERY_LOG_PATH}"
         
     | 
| 
      
 86 
     | 
    
         
            +
            fi
         
     | 
| 
      
 87 
     | 
    
         
            +
            if [ -n "${PROTOCOL}" ]; then
         
     | 
| 
      
 88 
     | 
    
         
            +
            	GROONGA_ARGS="${GROONGA_ARGS} --protocol ${PROTOCOL}"
         
     | 
| 
      
 89 
     | 
    
         
            +
            fi
         
     | 
| 
      
 90 
     | 
    
         
            +
            GROONGA_ARGS="${GROONGA_ARGS} ${OPTION_ARGS}"
         
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
            if [ -z "${DATABASE}" ]; then
         
     | 
| 
      
 93 
     | 
    
         
            +
            	echo "$0: DATABASE should not be empty" >&2
         
     | 
| 
      
 94 
     | 
    
         
            +
            	exit 1
         
     | 
| 
      
 95 
     | 
    
         
            +
            fi
         
     | 
| 
      
 96 
     | 
    
         
            +
             
     | 
| 
      
 97 
     | 
    
         
            +
            if [ -f "${DATABASE}" ]; then
         
     | 
| 
      
 98 
     | 
    
         
            +
            	GROONGA_ARGS="${GROONGA_ARGS} ${DATABASE}"
         
     | 
| 
      
 99 
     | 
    
         
            +
            else
         
     | 
| 
      
 100 
     | 
    
         
            +
            	mkdir -p $(dirname ${DATABASE})
         
     | 
| 
      
 101 
     | 
    
         
            +
            	if [ -n "${USER}" ]; then
         
     | 
| 
      
 102 
     | 
    
         
            +
            		chown -R ${USER} $(dirname ${DATABASE})
         
     | 
| 
      
 103 
     | 
    
         
            +
            	fi
         
     | 
| 
      
 104 
     | 
    
         
            +
            	if [ -n "${GROUP}" ]; then
         
     | 
| 
      
 105 
     | 
    
         
            +
            		chgrp -R ${GROUP} $(dirname ${DATABASE})
         
     | 
| 
      
 106 
     | 
    
         
            +
            	fi
         
     | 
| 
      
 107 
     | 
    
         
            +
            	GROONGA_ARGS="${GROONGA_ARGS} -n ${DATABASE}"
         
     | 
| 
      
 108 
     | 
    
         
            +
            fi
         
     | 
| 
      
 109 
     | 
    
         
            +
             
     | 
| 
      
 110 
     | 
    
         
            +
            RETVAL=0
         
     | 
| 
      
 111 
     | 
    
         
            +
             
     | 
| 
      
 112 
     | 
    
         
            +
             
     | 
| 
      
 113 
     | 
    
         
            +
            start() {
         
     | 
| 
      
 114 
     | 
    
         
            +
            	echo -n "Starting $name: "
         
     | 
| 
      
 115 
     | 
    
         
            +
            	daemon $DAEMON_ARGS $groonga "$GROONGA_ARGS"
         
     | 
| 
      
 116 
     | 
    
         
            +
            	RETVAL=$?
         
     | 
| 
      
 117 
     | 
    
         
            +
            	echo
         
     | 
| 
      
 118 
     | 
    
         
            +
            	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
         
     | 
| 
      
 119 
     | 
    
         
            +
            	return $RETVAL
         
     | 
| 
      
 120 
     | 
    
         
            +
            }
         
     | 
| 
      
 121 
     | 
    
         
            +
             
     | 
| 
      
 122 
     | 
    
         
            +
            stop() {
         
     | 
| 
      
 123 
     | 
    
         
            +
            	echo -n "Shutting down $name: "
         
     | 
| 
      
 124 
     | 
    
         
            +
            	killproc $prog
         
     | 
| 
      
 125 
     | 
    
         
            +
            	RETVAL=$?
         
     | 
| 
      
 126 
     | 
    
         
            +
            	echo
         
     | 
| 
      
 127 
     | 
    
         
            +
            	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
         
     | 
| 
      
 128 
     | 
    
         
            +
            	return $RETVAL
         
     | 
| 
      
 129 
     | 
    
         
            +
            }
         
     | 
| 
      
 130 
     | 
    
         
            +
             
     | 
| 
      
 131 
     | 
    
         
            +
            restart() {
         
     | 
| 
      
 132 
     | 
    
         
            +
            	stop
         
     | 
| 
      
 133 
     | 
    
         
            +
            	start
         
     | 
| 
      
 134 
     | 
    
         
            +
            }
         
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
      
 136 
     | 
    
         
            +
            satus() {
         
     | 
| 
      
 137 
     | 
    
         
            +
            	ARGS=""
         
     | 
| 
      
 138 
     | 
    
         
            +
            	if [ -n "${PROTOCOL}" ]; then
         
     | 
| 
      
 139 
     | 
    
         
            +
            		ARGS="${ARGS} --protocol ${PROTOCOL}"
         
     | 
| 
      
 140 
     | 
    
         
            +
            	fi
         
     | 
| 
      
 141 
     | 
    
         
            +
            	$groonga $ARGS -c $ADDRESS status
         
     | 
| 
      
 142 
     | 
    
         
            +
            }
         
     | 
| 
      
 143 
     | 
    
         
            +
             
     | 
| 
      
 144 
     | 
    
         
            +
            case "$1" in
         
     | 
| 
      
 145 
     | 
    
         
            +
                start)
         
     | 
| 
      
 146 
     | 
    
         
            +
            	start
         
     | 
| 
      
 147 
     | 
    
         
            +
            	;;
         
     | 
| 
      
 148 
     | 
    
         
            +
                stop)
         
     | 
| 
      
 149 
     | 
    
         
            +
            	stop
         
     | 
| 
      
 150 
     | 
    
         
            +
            	;;
         
     | 
| 
      
 151 
     | 
    
         
            +
                restart)
         
     | 
| 
      
 152 
     | 
    
         
            +
                	restart
         
     | 
| 
      
 153 
     | 
    
         
            +
            	;;
         
     | 
| 
      
 154 
     | 
    
         
            +
                reload)
         
     | 
| 
      
 155 
     | 
    
         
            +
            	killproc $groonga -HUP
         
     | 
| 
      
 156 
     | 
    
         
            +
            	;;
         
     | 
| 
      
 157 
     | 
    
         
            +
                condrestart)
         
     | 
| 
      
 158 
     | 
    
         
            +
            	[ -f /var/lock/subsys/$prog ] && restart || :
         
     | 
| 
      
 159 
     | 
    
         
            +
            	;;
         
     | 
| 
      
 160 
     | 
    
         
            +
                status)
         
     | 
| 
      
 161 
     | 
    
         
            +
            	status
         
     | 
| 
      
 162 
     | 
    
         
            +
            	;;
         
     | 
| 
      
 163 
     | 
    
         
            +
                *)
         
     | 
| 
      
 164 
     | 
    
         
            +
            	echo "Usage: $prog {start|stop|reload|restart|condrestart|status}"
         
     | 
| 
      
 165 
     | 
    
         
            +
            	exit 1
         
     | 
| 
      
 166 
     | 
    
         
            +
            	;;
         
     | 
| 
      
 167 
     | 
    
         
            +
            esac
         
     | 
| 
      
 168 
     | 
    
         
            +
            exit $?
         
     | 
| 
         @@ -274,7 +274,7 @@ typedef unsigned short int grn_obj_flags; 
     | 
|
| 
       274 
274 
     | 
    
         
             
            #define GRN_OBJ_WITH_SECTION           (0x01<<7)
         
     | 
| 
       275 
275 
     | 
    
         
             
            #define GRN_OBJ_WITH_WEIGHT            (0x01<<8)
         
     | 
| 
       276 
276 
     | 
    
         
             
            #define GRN_OBJ_WITH_POSITION          (0x01<<9)
         
     | 
| 
       277 
     | 
    
         
            -
            #define  
     | 
| 
      
 277 
     | 
    
         
            +
            #define GRN_OBJ_RING_BUFFER            (0x01<<10)
         
     | 
| 
       278 
278 
     | 
    
         | 
| 
       279 
279 
     | 
    
         
             
            #define GRN_OBJ_UNIT_MASK              (0x0f<<8)
         
     | 
| 
       280 
280 
     | 
    
         
             
            #define GRN_OBJ_UNIT_DOCUMENT_NONE     (0x00<<8)
         
     | 
| 
         @@ -665,6 +665,7 @@ typedef grn_obj grn_table_cursor; 
     | 
|
| 
       665 
665 
     | 
    
         
             
            #define GRN_CURSOR_BY_ID               (0x01<<3)
         
     | 
| 
       666 
666 
     | 
    
         
             
            #define GRN_CURSOR_PREFIX              (0x01<<4)
         
     | 
| 
       667 
667 
     | 
    
         
             
            #define GRN_CURSOR_SIZE_BY_BIT         (0x01<<5)
         
     | 
| 
      
 668 
     | 
    
         
            +
            #define GRN_CURSOR_RK                  (0x01<<6)
         
     | 
| 
       668 
669 
     | 
    
         | 
| 
       669 
670 
     | 
    
         
             
            /**
         
     | 
| 
       670 
671 
     | 
    
         
             
             * grn_table_cursor_open:
         
     | 
| 
         @@ -674,19 +675,23 @@ typedef grn_obj grn_table_cursor; 
     | 
|
| 
       674 
675 
     | 
    
         
             
             * @max: keyの上限 (NULLは上限なしと見なす)、GRN_CURSOR_PREFIXについては後述
         
     | 
| 
       675 
676 
     | 
    
         
             
             * @max_size: @maxのsize、GRN_CURSOR_PREFIXについては無視される場合がある
         
     | 
| 
       676 
677 
     | 
    
         
             
             * @flags: GRN_CURSOR_ASCENDINGを指定すると昇順にレコードを取り出す。
         
     | 
| 
      
 678 
     | 
    
         
            +
             *
         
     | 
| 
       677 
679 
     | 
    
         
             
             *         GRN_CURSOR_DESCENDINGを指定すると降順にレコードを取り出す。
         
     | 
| 
       678 
680 
     | 
    
         
             
             *         (下記GRN_CURSOR_PREFIXを指定し、
         
     | 
| 
       679 
681 
     | 
    
         
             
             *          keyが近いレコードを取得する場合、
         
     | 
| 
       680 
682 
     | 
    
         
             
             *          もしくは、common prefix searchを行う場合には、
         
     | 
| 
       681 
683 
     | 
    
         
             
             *          GRN_CURSOR_ASCENDING/DESCENDINGは無視される)
         
     | 
| 
      
 684 
     | 
    
         
            +
             *
         
     | 
| 
       682 
685 
     | 
    
         
             
             *         GRN_CURSOR_GTを指定するとminに一致したkeyをcursorの範囲に含まない。
         
     | 
| 
       683 
686 
     | 
    
         
             
             *         (minがNULLの場合もしくは、下記GRN_CURSOR_PREFIXを指定し、
         
     | 
| 
       684 
687 
     | 
    
         
             
             *          keyが近いレコードを取得する場合、
         
     | 
| 
       685 
688 
     | 
    
         
             
             *          もしくは、common prefix searchを行う場合には、
         
     | 
| 
       686 
689 
     | 
    
         
             
             *          GRN_CURSOR_GTは無視される)
         
     | 
| 
      
 690 
     | 
    
         
            +
             *
         
     | 
| 
       687 
691 
     | 
    
         
             
             *         GRN_CURSOR_LTを指定するとmaxに一致したkeyをcursorの範囲に含まない。
         
     | 
| 
       688 
692 
     | 
    
         
             
             *         (maxがNULLの場合もしくは、下記GRN_CURSOR_PREFIXを指定した場合には、
         
     | 
| 
       689 
693 
     | 
    
         
             
             *          GRN_CURSOR_LTは無視される)
         
     | 
| 
      
 694 
     | 
    
         
            +
             *
         
     | 
| 
       690 
695 
     | 
    
         
             
             *         GRN_CURSOR_BY_IDを指定するとID順にレコードを取り出す。
         
     | 
| 
       691 
696 
     | 
    
         
             
             *         (下記GRN_CURSOR_PREFIXを指定した場合には、
         
     | 
| 
       692 
697 
     | 
    
         
             
             *          GRN_CURSOR_BY_IDは無視される)
         
     | 
| 
         @@ -694,31 +699,51 @@ typedef grn_obj grn_table_cursor; 
     | 
|
| 
       694 
699 
     | 
    
         
             
             *         GRN_CURSOR_BY_KEYを指定するとkey順にレコードを取り出す。
         
     | 
| 
       695 
700 
     | 
    
         
             
             *         (GRN_OBJ_TABLE_HASH_KEY,GRN_OBJ_TABLE_NO_KEYを指定したテーブルでは
         
     | 
| 
       696 
701 
     | 
    
         
             
             *          GRN_CURSOR_BY_KEYは無視される)
         
     | 
| 
      
 702 
     | 
    
         
            +
             *
         
     | 
| 
       697 
703 
     | 
    
         
             
             *         GRN_CURSOR_PREFIXを指定すると、
         
     | 
| 
       698 
704 
     | 
    
         
             
             *         GRN_OBJ_TABLE_PAT_KEYを指定したテーブルに関する
         
     | 
| 
       699 
705 
     | 
    
         
             
             *         下記のレコードを取り出すカーソルが作成される。
         
     | 
| 
       700 
     | 
    
         
            -
             * 
     | 
| 
       701 
     | 
    
         
            -
             *         max 
     | 
| 
      
 706 
     | 
    
         
            +
             *
         
     | 
| 
      
 707 
     | 
    
         
            +
             *         maxがNULLの場合には、keyがminと前方一致するレコードを取り出す。
         
     | 
| 
      
 708 
     | 
    
         
            +
             *         max_sizeパラメータは無視される。
         
     | 
| 
      
 709 
     | 
    
         
            +
             *
         
     | 
| 
      
 710 
     | 
    
         
            +
             *         maxとmax_sizeが指定され、かつ、テーブルのkeyがShortText型である場合、
         
     | 
| 
       702 
711 
     | 
    
         
             
             *         maxとcommon prefix searchを行い、
         
     | 
| 
       703 
712 
     | 
    
         
             
             *         common prefixがmin_sizeバイト以上のレコードを取り出す。
         
     | 
| 
       704 
     | 
    
         
            -
             *          
     | 
| 
       705 
     | 
    
         
            -
             * 
     | 
| 
       706 
     | 
    
         
            -
             *         max 
     | 
| 
      
 713 
     | 
    
         
            +
             *         minは無視される。
         
     | 
| 
      
 714 
     | 
    
         
            +
             *
         
     | 
| 
      
 715 
     | 
    
         
            +
             *         maxとmax_sizeが指定され、かつ、テーブルのkeyが固定長型の場合、
         
     | 
| 
      
 716 
     | 
    
         
            +
             *         maxとPAT木上で近い位置にあるノードから順番にレコードを取り出す。
         
     | 
| 
       707 
717 
     | 
    
         
             
             *         ただし、keyのパトリシア木で、min_sizeバイト未満のビットに対する
         
     | 
| 
       708 
718 
     | 
    
         
             
             *         ノードで、maxと異なった方向にあるノードに対応するレコードについては
         
     | 
| 
       709 
719 
     | 
    
         
             
             *         取り出さない。
         
     | 
| 
       710 
     | 
    
         
            -
             *          
     | 
| 
       711 
     | 
    
         
            -
             *         (GeoPoint型では、地理的に近いものほど近いものとし、
         
     | 
| 
       712 
     | 
    
         
            -
             *          数値型では、数値が近いものほど近いものとする)
         
     | 
| 
      
 720 
     | 
    
         
            +
             *         PAT木上で位置が近いこととkeyの値が近いことは同一ではない。
         
     | 
| 
       713 
721 
     | 
    
         
             
             *         この場合、maxで与えられるポインタが指す値は、
         
     | 
| 
       714 
722 
     | 
    
         
             
             *         対象テーブルのkeyサイズと同じか超える幅である必要がある。
         
     | 
| 
       715 
     | 
    
         
            -
             *         min 
     | 
| 
      
 723 
     | 
    
         
            +
             *         minは無視される。
         
     | 
| 
      
 724 
     | 
    
         
            +
             *
         
     | 
| 
       716 
725 
     | 
    
         
             
             *         GRN_CURSOR_BY_ID/GRN_CURSOR_BY_KEY/GRN_CURSOR_PREFIXの3フラグは、
         
     | 
| 
       717 
726 
     | 
    
         
             
             *         同時に指定することができない。
         
     | 
| 
       718 
     | 
    
         
            -
             * 
     | 
| 
      
 727 
     | 
    
         
            +
             *
         
     | 
| 
      
 728 
     | 
    
         
            +
             *         GRN_OBJ_TABLE_PAT_KEYを指定して作ったテーブルで、
         
     | 
| 
      
 729 
     | 
    
         
            +
             *         GRN_CURSOR_PREFIXとGRN_CURSOR_RKを指定すると、
         
     | 
| 
      
 730 
     | 
    
         
            +
             *         半角小文字のアルファベット文字列から、それを旧JIS X 4063:2000規格に
         
     | 
| 
      
 731 
     | 
    
         
            +
             *         従って全角カタカナに変換した文字列に前方一致する値をkeyとするレコードを
         
     | 
| 
      
 732 
     | 
    
         
            +
             *         取り出す。GRN_ENC_UTF8のみをサポートしている。
         
     | 
| 
      
 733 
     | 
    
         
            +
             *         GRN_CURSOR_ASCENDING/DESCENDINGは無効であり、レコードをkey値の昇降順で
         
     | 
| 
      
 734 
     | 
    
         
            +
             *         取り出すことはできない。
         
     | 
| 
      
 735 
     | 
    
         
            +
             *
         
     | 
| 
      
 736 
     | 
    
         
            +
             * @offset: 該当する範囲のレコードのうち、
         
     | 
| 
      
 737 
     | 
    
         
            +
             *          (0ベースで)offset番目からレコードを取り出す。
         
     | 
| 
      
 738 
     | 
    
         
            +
             *
         
     | 
| 
      
 739 
     | 
    
         
            +
             *         GRN_CURSOR_PREFIXを指定したときは負の数を指定する
         
     | 
| 
      
 740 
     | 
    
         
            +
             *         ことはできない。
         
     | 
| 
       719 
741 
     | 
    
         
             
             * @limit: 該当する範囲のレコードのうち、limit件のみを取り出す。
         
     | 
| 
       720 
742 
     | 
    
         
             
             *         -1が指定された場合は、全件が指定されたものとみなす。
         
     | 
| 
       721 
743 
     | 
    
         
             
             *
         
     | 
| 
      
 744 
     | 
    
         
            +
             *         GRN_CURSOR_PREFIXを指定したときは-1より小さい負の
         
     | 
| 
      
 745 
     | 
    
         
            +
             *         数を指定することはできない。
         
     | 
| 
      
 746 
     | 
    
         
            +
             *
         
     | 
| 
       722 
747 
     | 
    
         
             
             * tableに登録されているレコードを順番に取り出すためのカーソルを生成して返す。
         
     | 
| 
       723 
748 
     | 
    
         
             
             **/
         
     | 
| 
       724 
749 
     | 
    
         
             
            GRN_API grn_table_cursor *grn_table_cursor_open(grn_ctx *ctx, grn_obj *table,
         
     | 
| 
         @@ -2120,7 +2145,8 @@ GRN_API grn_rc grn_load(grn_ctx *ctx, grn_content_type input_type, 
     | 
|
| 
       2120 
2145 
     | 
    
         
             
                                    const char *table, unsigned table_len,
         
     | 
| 
       2121 
2146 
     | 
    
         
             
                                    const char *columns, unsigned columns_len,
         
     | 
| 
       2122 
2147 
     | 
    
         
             
                                    const char *values, unsigned values_len,
         
     | 
| 
       2123 
     | 
    
         
            -
                                    const char *ifexists, unsigned ifexists_len 
     | 
| 
      
 2148 
     | 
    
         
            +
                                    const char *ifexists, unsigned ifexists_len,
         
     | 
| 
      
 2149 
     | 
    
         
            +
                                    const char *each, unsigned each_len);
         
     | 
| 
       2124 
2150 
     | 
    
         | 
| 
       2125 
2151 
     | 
    
         
             
            #define GRN_CTX_MORE                    (0x01<<0)
         
     | 
| 
       2126 
2152 
     | 
    
         
             
            #define GRN_CTX_TAIL                    (0x01<<1)
         
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         @@ -1,17 +1,17 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #  
     | 
| 
      
 1 
     | 
    
         
            +
            # suggest.la - a libtool library file
         
     | 
| 
       2 
2 
     | 
    
         
             
            # Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2
         
     | 
| 
       3 
3 
     | 
    
         
             
            #
         
     | 
| 
       4 
4 
     | 
    
         
             
            # Please DO NOT delete this file!
         
     | 
| 
       5 
5 
     | 
    
         
             
            # It is necessary for linking the library.
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            # The name that we can dlopen(3).
         
     | 
| 
       8 
     | 
    
         
            -
            dlname=' 
     | 
| 
      
 8 
     | 
    
         
            +
            dlname='suggest.dll'
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
            # Names of this library.
         
     | 
| 
       11 
     | 
    
         
            -
            library_names=' 
     | 
| 
      
 11 
     | 
    
         
            +
            library_names='suggest.dll.a'
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
            # The name of the static archive.
         
     | 
| 
       14 
     | 
    
         
            -
            old_library=' 
     | 
| 
      
 14 
     | 
    
         
            +
            old_library='suggest.a'
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
            # Linker flags that can not go in dependency_libs.
         
     | 
| 
       17 
17 
     | 
    
         
             
            inherited_linker_flags=''
         
     | 
| 
         @@ -22,7 +22,7 @@ dependency_libs=' /tmp/local/lib/libgroonga.la -ladvapi32 -lws2_32' 
     | 
|
| 
       22 
22 
     | 
    
         
             
            # Names of additional weak libraries provided by this library
         
     | 
| 
       23 
23 
     | 
    
         
             
            weak_library_names=''
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
     | 
    
         
            -
            # Version information for  
     | 
| 
      
 25 
     | 
    
         
            +
            # Version information for suggest.
         
     | 
| 
       26 
26 
     | 
    
         
             
            current=0
         
     | 
| 
       27 
27 
     | 
    
         
             
            age=0
         
     | 
| 
       28 
28 
     | 
    
         
             
            revision=0
         
     | 
| 
         @@ -38,4 +38,4 @@ dlopen='' 
     | 
|
| 
       38 
38 
     | 
    
         
             
            dlpreopen=''
         
     | 
| 
       39 
39 
     | 
    
         | 
| 
       40 
40 
     | 
    
         
             
            # Directory that this library needs to be installed in:
         
     | 
| 
       41 
     | 
    
         
            -
            libdir='/tmp/local/lib/groonga/modules/ 
     | 
| 
      
 41 
     | 
    
         
            +
            libdir='/tmp/local/lib/groonga/modules/suggest'
         
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
    
        data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png
    ADDED
    
    | 
         Binary file 
     | 
    
        data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png
    ADDED
    
    | 
         Binary file 
     | 
    
        data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png
    ADDED
    
    | 
         Binary file 
     | 
    
        data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png
    ADDED
    
    | 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
    
        data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-icons_222222_256x240.png
    ADDED
    
    | 
         Binary file 
     | 
    
        data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-icons_228ef1_256x240.png
    ADDED
    
    | 
         Binary file 
     | 
    
        data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-icons_ef8c08_256x240.png
    ADDED
    
    | 
         Binary file 
     | 
    
        data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-icons_ffd27a_256x240.png
    ADDED
    
    | 
         Binary file 
     | 
    
        data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-icons_ffffff_256x240.png
    ADDED
    
    | 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         @@ -0,0 +1,31 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
             
     | 
| 
      
 2 
     | 
    
         
            +
            (function($){$.toJSON=function(o)
         
     | 
| 
      
 3 
     | 
    
         
            +
            {if(typeof(JSON)=='object'&&JSON.stringify)
         
     | 
| 
      
 4 
     | 
    
         
            +
            return JSON.stringify(o);var type=typeof(o);if(o===null)
         
     | 
| 
      
 5 
     | 
    
         
            +
            return"null";if(type=="undefined")
         
     | 
| 
      
 6 
     | 
    
         
            +
            return undefined;if(type=="number"||type=="boolean")
         
     | 
| 
      
 7 
     | 
    
         
            +
            return o+"";if(type=="string")
         
     | 
| 
      
 8 
     | 
    
         
            +
            return $.quoteString(o);if(type=='object')
         
     | 
| 
      
 9 
     | 
    
         
            +
            {if(typeof o.toJSON=="function")
         
     | 
| 
      
 10 
     | 
    
         
            +
            return $.toJSON(o.toJSON());if(o.constructor===Date)
         
     | 
| 
      
 11 
     | 
    
         
            +
            {var month=o.getUTCMonth()+1;if(month<10)month='0'+month;var day=o.getUTCDate();if(day<10)day='0'+day;var year=o.getUTCFullYear();var hours=o.getUTCHours();if(hours<10)hours='0'+hours;var minutes=o.getUTCMinutes();if(minutes<10)minutes='0'+minutes;var seconds=o.getUTCSeconds();if(seconds<10)seconds='0'+seconds;var milli=o.getUTCMilliseconds();if(milli<100)milli='0'+milli;if(milli<10)milli='0'+milli;return'"'+year+'-'+month+'-'+day+'T'+
         
     | 
| 
      
 12 
     | 
    
         
            +
            hours+':'+minutes+':'+seconds+'.'+milli+'Z"';}
         
     | 
| 
      
 13 
     | 
    
         
            +
            if(o.constructor===Array)
         
     | 
| 
      
 14 
     | 
    
         
            +
            {var ret=[];for(var i=0;i<o.length;i++)
         
     | 
| 
      
 15 
     | 
    
         
            +
            ret.push($.toJSON(o[i])||"null");return"["+ret.join(",")+"]";}
         
     | 
| 
      
 16 
     | 
    
         
            +
            var pairs=[];for(var k in o){var name;var type=typeof k;if(type=="number")
         
     | 
| 
      
 17 
     | 
    
         
            +
            name='"'+k+'"';else if(type=="string")
         
     | 
| 
      
 18 
     | 
    
         
            +
            name=$.quoteString(k);else
         
     | 
| 
      
 19 
     | 
    
         
            +
            continue;if(typeof o[k]=="function")
         
     | 
| 
      
 20 
     | 
    
         
            +
            continue;var val=$.toJSON(o[k]);pairs.push(name+":"+val);}
         
     | 
| 
      
 21 
     | 
    
         
            +
            return"{"+pairs.join(", ")+"}";}};$.evalJSON=function(src)
         
     | 
| 
      
 22 
     | 
    
         
            +
            {if(typeof(JSON)=='object'&&JSON.parse)
         
     | 
| 
      
 23 
     | 
    
         
            +
            return JSON.parse(src);return eval("("+src+")");};$.secureEvalJSON=function(src)
         
     | 
| 
      
 24 
     | 
    
         
            +
            {if(typeof(JSON)=='object'&&JSON.parse)
         
     | 
| 
      
 25 
     | 
    
         
            +
            return JSON.parse(src);var filtered=src;filtered=filtered.replace(/\\["\\\/bfnrtu]/g,'@');filtered=filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']');filtered=filtered.replace(/(?:^|:|,)(?:\s*\[)+/g,'');if(/^[\],:{}\s]*$/.test(filtered))
         
     | 
| 
      
 26 
     | 
    
         
            +
            return eval("("+src+")");else
         
     | 
| 
      
 27 
     | 
    
         
            +
            throw new SyntaxError("Error parsing JSON, source is not valid.");};$.quoteString=function(string)
         
     | 
| 
      
 28 
     | 
    
         
            +
            {if(string.match(_escapeable))
         
     | 
| 
      
 29 
     | 
    
         
            +
            {return'"'+string.replace(_escapeable,function(a)
         
     | 
| 
      
 30 
     | 
    
         
            +
            {var c=_meta[a];if(typeof c==='string')return c;c=a.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);})+'"';}
         
     | 
| 
      
 31 
     | 
    
         
            +
            return'"'+string+'"';};var _escapeable=/["\\\x00-\x1f\x7f-\x9f]/g;var _meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};})(jQuery);
         
     | 
| 
         @@ -0,0 +1,56 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            .. highlightlang:: none
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            groongaの特徴
         
     | 
| 
      
 4 
     | 
    
         
            +
            =============
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            全文検索ライブラリSennaの後継
         
     | 
| 
      
 7 
     | 
    
         
            +
            -----------------------------
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            groongaは、広く使われている全文検索ライブラリSennaの後継として開発されています。Sennaの特徴である、高速・高精度・高柔軟性という特徴を引き継ぎつつ、さらにそれらの特徴を追求するために開発が始められました。
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            HTTPなどの複数プロトコルに対応したサーバ
         
     | 
| 
      
 12 
     | 
    
         
            +
            ----------------------------------------
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            Sennaは、全文検索を行うアプリケーションで用いるための部品でした。groongaでは、全文検索サービスを行うためのサーバが存在します。groongaサーバは、HTTPやmemcached binaryプロトコル、独自プロトコルであるgqtpを用いてクライアントとTCP/IP通信を行うことができます。よって、ライブラリをインストールできないレンタルサーバなどの環境でも利用しやすくなりました。
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            Sennaと同様に、groongaもC言語のライブラリとして利用できます。
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            高速なデータ更新
         
     | 
| 
      
 19 
     | 
    
         
            +
            ----------------
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            groongaの前身であるSennaは、ストレージを持たない全文検索ライブラリでした。そのため、MySQLのMyISAMストレージエンジンと組み合わせて用いるTritonnや、PostgreSQLと組み合わせて用いるLudiaを通じて利用するのが一般的でした。しかし、これらの形態では、全文検索インデックス更新における参照lockが不要というSennaの性能特性を生かすことができませんでした。
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            たとえば、MyISAMではレコードが更新される際には、多くの場合テーブルロックが必要となります。このような場合には、いかに全文検索インデックスの更新が速くとも、MyISAMでのデータ更新がボトルネックとなってしまいます。
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            より即時性の高い検索サービスを実現するために、groongaでは参照lockが不要なストレージを実装しました。
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
            複数プロセス・複数スレッドで共有できるストレージ
         
     | 
| 
      
 28 
     | 
    
         
            +
            ------------------------------------------------
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
            groongaのストレージファイルは、複数プロセスや複数スレッドで共有することができます。明示的なロックなどは必要ありません。
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
            Tritonnの次期バージョンは、MySQLのプラガブルストレージエンジンとして実装予定です。Tritonnで開いているgroongaストレージファイルも共有可能です。たとえば、MySQLプロトコルでデータの更新を行い、HTTPでデータの参照を行うことができます。
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
            ドリルダウンなどの集計系クエリを高速に実現
         
     | 
| 
      
 35 
     | 
    
         
            +
            ------------------------------------------
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            groongaのストレージは、カラムごとにデータを保存するカラム指向データベースを採用しています。カラム指向データベースはOLAPなどの集計クエリを高速に実現するのに向いています。
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
            全文検索結果のうち、特定のカラム値ごとにグループ分けをし、それぞれのグループのレコード数を数えるような処理をドリルダウンといいます。groongaはカラム指向データベースを生かして、このような処理を高速に実行します。
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            Sennaの転置インデックス実装をさらに改良
         
     | 
| 
      
 42 
     | 
    
         
            +
            ---------------------------------------
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
            groongaの転置インデックスは、Sennaにおける転置インデックスの実装を改良し、より高速かつ汎用的なものとなりました。
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
            転置インデックスを生かすことにより、SQLでも実現が難しい複雑なクエリを高速に実行することができます。いわゆるタグ検索やドリルダウンにおいて、転置インデックスを利用した高速な処理を行うことができます。
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
            位置情報(緯度・経度)検索
         
     | 
| 
      
 49 
     | 
    
         
            +
            --------------------------
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
            日本測地系のみならず、世界測地系にも対応した位置情報での絞込が可能です。位置情報の範囲は、円や矩形を指定することができます。また、任意の2点間の距離も計算可能です。
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
            自動クエリキャッシュ機構
         
     | 
| 
      
 54 
     | 
    
         
            +
            ------------------------
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
            参照系のクエリについて、自動的にクエリキャッシュを行います。
         
     |