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
 
    
        data/NEWS.ja.rdoc
    CHANGED
    
    | 
         @@ -1,5 +1,29 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            = お知らせ
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
            == 1.0.1: 2010-09-12
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            === 修正
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            * テーブル作成時に誤ったフラグを指定していた問題を修正。
         
     | 
| 
      
 8 
     | 
    
         
            +
              [小野マトペさんが報告]
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            === 感謝
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            * 小野マトペさん
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            == 1.0.0: 2010-08-29
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            * groonga 1.0.0対応。
         
     | 
| 
      
 17 
     | 
    
         
            +
              * Groonga::CASErrorを追加。
         
     | 
| 
      
 18 
     | 
    
         
            +
              * Groonga::Table#open_cursorに:order_byオプションを追加。
         
     | 
| 
      
 19 
     | 
    
         
            +
              * 前方一致検索がマッチしたレコードを順に取り出すカーソルを作る
         
     | 
| 
      
 20 
     | 
    
         
            +
                Groonga::PatriciaTrie#open_prefix_cursorを追加。
         
     | 
| 
      
 21 
     | 
    
         
            +
              * ローマ字・ひらがなでカタカナのキーを検索するカーソルを作る
         
     | 
| 
      
 22 
     | 
    
         
            +
                Groonga::PatriciaTrie#open_rk_cursorを追加。
         
     | 
| 
      
 23 
     | 
    
         
            +
              * 値の近い順にレコードを取り出すカーソルを作る
         
     | 
| 
      
 24 
     | 
    
         
            +
                Groonga::PatriciaTrie#open_near_cursorを追加。
         
     | 
| 
      
 25 
     | 
    
         
            +
            * インデックスのソースに_keyを指定できるようになった。
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
       3 
27 
     | 
    
         
             
            == 0.9.5: 2010-07-29
         
     | 
| 
       4 
28 
     | 
    
         | 
| 
       5 
29 
     | 
    
         
             
            * groonga 0.7.4対応。
         
     | 
    
        data/NEWS.rdoc
    CHANGED
    
    | 
         @@ -1,5 +1,29 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            = NEWS
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
            == 1.0.1: 2010-09-12
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            === Fixes
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            * Fixed wrong flag used on creating a table.
         
     | 
| 
      
 8 
     | 
    
         
            +
              [Reported by ono matope]
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            === Thanks
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            * ono matope
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            == 1.0.0: 2010-08-29
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            * Supported groonga 1.0.0.
         
     | 
| 
      
 17 
     | 
    
         
            +
              * Added Groonga::CASError.
         
     | 
| 
      
 18 
     | 
    
         
            +
              * Added :order_by option to Groonga::Table#open_cursor.
         
     | 
| 
      
 19 
     | 
    
         
            +
              * Added Groonga::PatriciaTrie#open_prefix_cursor that creates a cursor
         
     | 
| 
      
 20 
     | 
    
         
            +
                to retrieve each records by prefix search.
         
     | 
| 
      
 21 
     | 
    
         
            +
              * Added Groonga::PatriciaTrie#open_rk_cursor that creats a cursor to
         
     | 
| 
      
 22 
     | 
    
         
            +
                retrieve katakana keys from roman letters and/or hiragana.
         
     | 
| 
      
 23 
     | 
    
         
            +
              * Added Groonga::PatriciaTrie#open_near_cursor that creates a cursor to
         
     | 
| 
      
 24 
     | 
    
         
            +
                retrieve records order by distance from key.
         
     | 
| 
      
 25 
     | 
    
         
            +
            * Supported _key as index source.
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
       3 
27 
     | 
    
         
             
            == 0.9.5: 2010-07-20
         
     | 
| 
       4 
28 
     | 
    
         | 
| 
       5 
29 
     | 
    
         
             
            * Supported groonga 0.7.4.
         
     | 
    
        data/README.ja.rdoc
    CHANGED
    
    | 
         @@ -35,8 +35,8 @@ pkg-config.rbはrcairoに付属しているもので、これはRubyライセ 
     | 
|
| 
       35 
35 
     | 
    
         | 
| 
       36 
36 
     | 
    
         
             
            == 依存ソフトウェア
         
     | 
| 
       37 
37 
     | 
    
         | 
| 
       38 
     | 
    
         
            -
            * Ruby >= 1.8 (1.9.1対応)
         
     | 
| 
       39 
     | 
    
         
            -
            * groonga >= 0. 
     | 
| 
      
 38 
     | 
    
         
            +
            * Ruby >= 1.8 (1.9.1, 1.9.2対応)
         
     | 
| 
      
 39 
     | 
    
         
            +
            * groonga >= 1.0.0
         
     | 
| 
       40 
40 
     | 
    
         | 
| 
       41 
41 
     | 
    
         
             
            == インストール
         
     | 
| 
       42 
42 
     | 
    
         | 
| 
         @@ -63,3 +63,4 @@ http://lists.sourceforge.jp/mailman/listinfo/groonga-dev 
     | 
|
| 
       63 
63 
     | 
    
         
             
            * id:mat_akiさん: チュートリアルのバグを教えてくれました。
         
     | 
| 
       64 
64 
     | 
    
         
             
            * @yune_kotomi: バグレポートしてくれました。
         
     | 
| 
       65 
65 
     | 
    
         
             
            * 咳さん: バグレポートしてくれました。
         
     | 
| 
      
 66 
     | 
    
         
            +
            * 小野マトペさん: バグレポートしてくれました。
         
     | 
    
        data/README.rdoc
    CHANGED
    
    | 
         @@ -36,8 +36,8 @@ license/GPL for details. 
     | 
|
| 
       36 
36 
     | 
    
         | 
| 
       37 
37 
     | 
    
         
             
            == Dependencies
         
     | 
| 
       38 
38 
     | 
    
         | 
| 
       39 
     | 
    
         
            -
            * Ruby >= 1.8 (including 1.9.1)
         
     | 
| 
       40 
     | 
    
         
            -
            * groonga >= 0. 
     | 
| 
      
 39 
     | 
    
         
            +
            * Ruby >= 1.8 (including 1.9.1 and 1.9.2)
         
     | 
| 
      
 40 
     | 
    
         
            +
            * groonga >= 1.0.0
         
     | 
| 
       41 
41 
     | 
    
         | 
| 
       42 
42 
     | 
    
         
             
            == Install
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
         @@ -64,3 +64,4 @@ http://rubyforge.org/mailman/listinfo/groonga-users-en 
     | 
|
| 
       64 
64 
     | 
    
         
             
            * id:mat_aki: sent bug reports.
         
     | 
| 
       65 
65 
     | 
    
         
             
            * @yune_kotomi: sent a bug report.
         
     | 
| 
       66 
66 
     | 
    
         
             
            * m_seki: sent bug reports.
         
     | 
| 
      
 67 
     | 
    
         
            +
            * ono matope: sent bug reports.
         
     | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -49,13 +49,10 @@ manifest_contents = [] 
     | 
|
| 
       49 
49 
     | 
    
         
             
            base_dir_included_components = %w(AUTHORS Rakefile
         
     | 
| 
       50 
50 
     | 
    
         
             
                                              README.rdoc README.ja.rdoc
         
     | 
| 
       51 
51 
     | 
    
         
             
                                              NEWS.rdoc NEWS.ja.rdoc
         
     | 
| 
       52 
     | 
    
         
            -
                                              rroonga-build.rb extconf.rb 
     | 
| 
      
 52 
     | 
    
         
            +
                                              rroonga-build.rb extconf.rb)
         
     | 
| 
       53 
53 
     | 
    
         
             
            excluded_components = %w(.cvsignore .gdb_history CVS depend Makefile doc pkg
         
     | 
| 
       54 
     | 
    
         
            -
                                     .svn .git doc data .test-result tmp)
         
     | 
| 
      
 54 
     | 
    
         
            +
                                     .svn .git doc data .test-result tmp vendor)
         
     | 
| 
       55 
55 
     | 
    
         
             
            excluded_suffixes = %w(.png .ps .pdf .o .so .a .txt .~)
         
     | 
| 
       56 
     | 
    
         
            -
            unless ENV["RUBY_CC_VERSION"]
         
     | 
| 
       57 
     | 
    
         
            -
              excluded_components << "vendor"
         
     | 
| 
       58 
     | 
    
         
            -
            end
         
     | 
| 
       59 
56 
     | 
    
         
             
            Find.find(base_dir) do |target|
         
     | 
| 
       60 
57 
     | 
    
         
             
              target = truncate_base_dir[target]
         
     | 
| 
       61 
58 
     | 
    
         
             
              components = target.split(File::SEPARATOR)
         
     | 
| 
         @@ -110,6 +107,7 @@ Hoe.spec('rroonga') do 
     | 
|
| 
       110 
107 
     | 
    
         
             
                :require_paths => ["lib", "ext/groonga"],
         
     | 
| 
       111 
108 
     | 
    
         
             
                :extra_rdoc_files => Dir.glob("**/*.rdoc"),
         
     | 
| 
       112 
109 
     | 
    
         
             
              }
         
     | 
| 
      
 110 
     | 
    
         
            +
              project.extra_dev_deps << ['pkg-config', '>= 0']
         
     | 
| 
       113 
111 
     | 
    
         
             
              project.readme_file = "README.ja.rdoc"
         
     | 
| 
       114 
112 
     | 
    
         | 
| 
       115 
113 
     | 
    
         
             
              news_of_current_release = File.read("NEWS.rdoc").split(/^==\s.*$/)[1]
         
     | 
| 
         @@ -135,9 +133,20 @@ ObjectSpace.each_object(Rake::RDocTask) do |rdoc_task| 
     | 
|
| 
       135 
133 
     | 
    
         
             
              rdoc_task.rdoc_files += Dir.glob("**/*.rdoc")
         
     | 
| 
       136 
134 
     | 
    
         
             
            end
         
     | 
| 
       137 
135 
     | 
    
         | 
| 
      
 136 
     | 
    
         
            +
            binary_dir = File.join("vendor", "local")
         
     | 
| 
       138 
137 
     | 
    
         
             
            Rake::ExtensionTask.new("groonga", project.spec) do |ext|
         
     | 
| 
       139 
138 
     | 
    
         
             
              ext.cross_compile = true
         
     | 
| 
       140 
     | 
    
         
            -
              ext. 
     | 
| 
      
 139 
     | 
    
         
            +
              ext.cross_compiling do |spec|
         
     | 
| 
      
 140 
     | 
    
         
            +
                if /mingw|mswin/ =~ spec.platform.to_s
         
     | 
| 
      
 141 
     | 
    
         
            +
                  binary_files = []
         
     | 
| 
      
 142 
     | 
    
         
            +
                  Find.find(binary_dir) do |name|
         
     | 
| 
      
 143 
     | 
    
         
            +
                    next unless File.file?(name)
         
     | 
| 
      
 144 
     | 
    
         
            +
                    next if /\.zip\z/i =~ name
         
     | 
| 
      
 145 
     | 
    
         
            +
                    binary_files << name
         
     | 
| 
      
 146 
     | 
    
         
            +
                  end
         
     | 
| 
      
 147 
     | 
    
         
            +
                  spec.files += binary_files
         
     | 
| 
      
 148 
     | 
    
         
            +
                end
         
     | 
| 
      
 149 
     | 
    
         
            +
              end
         
     | 
| 
       141 
150 
     | 
    
         
             
            end
         
     | 
| 
       142 
151 
     | 
    
         | 
| 
       143 
152 
     | 
    
         
             
            task :publish_docs => [:prepare_docs_for_publishing]
         
     | 
    
        data/ext/groonga/extconf.rb
    CHANGED
    
    | 
         @@ -22,29 +22,21 @@ $LOAD_PATH.unshift(base_dir.to_s) 
     | 
|
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
            require 'English'
         
     | 
| 
       24 
24 
     | 
    
         
             
            require 'mkmf'
         
     | 
| 
       25 
     | 
    
         
            -
            require 'pkg-config'
         
     | 
| 
       26 
25 
     | 
    
         
             
            require 'rroonga-build'
         
     | 
| 
       27 
26 
     | 
    
         | 
| 
      
 27 
     | 
    
         
            +
            begin
         
     | 
| 
      
 28 
     | 
    
         
            +
              require 'pkg-config'
         
     | 
| 
      
 29 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 30 
     | 
    
         
            +
              require 'rubygems'
         
     | 
| 
      
 31 
     | 
    
         
            +
              require 'pkg-config'
         
     | 
| 
      
 32 
     | 
    
         
            +
            end
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
       28 
34 
     | 
    
         
             
            include RroongaBuild
         
     | 
| 
       29 
35 
     | 
    
         | 
| 
       30 
36 
     | 
    
         
             
            package_name = "groonga"
         
     | 
| 
       31 
37 
     | 
    
         
             
            module_name = "groonga"
         
     | 
| 
       32 
38 
     | 
    
         
             
            major, minor, micro = RequiredGroongaVersion::VERSION
         
     | 
| 
       33 
39 
     | 
    
         | 
| 
       34 
     | 
    
         
            -
            unless PKGConfig.have_package(package_name, major, minor, micro)
         
     | 
| 
       35 
     | 
    
         
            -
              have_local_groonga?(package_name, major, minor, micro) or exit 1
         
     | 
| 
       36 
     | 
    
         
            -
              add_rpath_for_local_groonga
         
     | 
| 
       37 
     | 
    
         
            -
            end
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
            real_version = PKGConfig.modversion(package_name)
         
     | 
| 
       40 
     | 
    
         
            -
            real_major, real_minor, real_micro = real_version.split(/\./)
         
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
     | 
    
         
            -
            $defs << "-DRB_GRN_COMPILATION"
         
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
            $defs << "-DGRN_MAJOR_VERSION=#{real_major}"
         
     | 
| 
       45 
     | 
    
         
            -
            $defs << "-DGRN_MINOR_VERSION=#{real_minor}"
         
     | 
| 
       46 
     | 
    
         
            -
            $defs << "-DGRN_MICRO_VERSION=#{real_micro}"
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
40 
     | 
    
         
             
            checking_for(checking_message("GCC")) do
         
     | 
| 
       49 
41 
     | 
    
         
             
              if macro_defined?("__GNUC__", "")
         
     | 
| 
       50 
42 
     | 
    
         
             
                $CFLAGS += ' -Wall'
         
     | 
| 
         @@ -61,20 +53,28 @@ checking_for(checking_message("Win32 OS")) do 
     | 
|
| 
       61 
53 
     | 
    
         
             
                import_library_name = "libruby-#{module_name}.a"
         
     | 
| 
       62 
54 
     | 
    
         
             
                $DLDFLAGS << " -Wl,--out-implib=#{import_library_name}"
         
     | 
| 
       63 
55 
     | 
    
         
             
                $cleanfiles << import_library_name
         
     | 
| 
       64 
     | 
    
         
            -
                 
     | 
| 
       65 
     | 
    
         
            -
                 
     | 
| 
       66 
     | 
    
         
            -
                 
     | 
| 
       67 
     | 
    
         
            -
                 
     | 
| 
       68 
     | 
    
         
            -
                  libgroonga = local_groonga_lib_dir + libgroonga_base
         
     | 
| 
       69 
     | 
    
         
            -
                  if libgroonga.exist?
         
     | 
| 
       70 
     | 
    
         
            -
                    $DLDFLAGS += " -L#{local_groonga_lib_dir}"
         
     | 
| 
       71 
     | 
    
         
            -
                    break
         
     | 
| 
       72 
     | 
    
         
            -
                  end
         
     | 
| 
       73 
     | 
    
         
            -
                end
         
     | 
| 
      
 56 
     | 
    
         
            +
                binary_base_dir = base_dir + "vendor" + "local"
         
     | 
| 
      
 57 
     | 
    
         
            +
                pkg_config_dir = binary_base_dir + "lib" + "pkgconfig"
         
     | 
| 
      
 58 
     | 
    
         
            +
                PKGConfig.add_path(pkg_config_dir.to_s)
         
     | 
| 
      
 59 
     | 
    
         
            +
                PKGConfig.set_override_variable("prefix", binary_base_dir.to_s)
         
     | 
| 
       74 
60 
     | 
    
         
             
              end
         
     | 
| 
       75 
61 
     | 
    
         
             
              win32
         
     | 
| 
       76 
62 
     | 
    
         
             
            end
         
     | 
| 
       77 
63 
     | 
    
         | 
| 
      
 64 
     | 
    
         
            +
            unless PKGConfig.have_package(package_name, major, minor, micro)
         
     | 
| 
      
 65 
     | 
    
         
            +
              have_local_groonga?(package_name, major, minor, micro) or exit 1
         
     | 
| 
      
 66 
     | 
    
         
            +
              add_rpath_for_local_groonga
         
     | 
| 
      
 67 
     | 
    
         
            +
            end
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
            real_version = PKGConfig.modversion(package_name)
         
     | 
| 
      
 70 
     | 
    
         
            +
            real_major, real_minor, real_micro = real_version.split(/\./)
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
            $defs << "-DRB_GRN_COMPILATION"
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
            $defs << "-DGRN_MAJOR_VERSION=#{real_major}"
         
     | 
| 
      
 75 
     | 
    
         
            +
            $defs << "-DGRN_MINOR_VERSION=#{real_minor}"
         
     | 
| 
      
 76 
     | 
    
         
            +
            $defs << "-DGRN_MICRO_VERSION=#{real_micro}"
         
     | 
| 
      
 77 
     | 
    
         
            +
             
     | 
| 
       78 
78 
     | 
    
         
             
            have_header("ruby/st.h") unless have_macro("HAVE_RUBY_ST_H", "ruby.h")
         
     | 
| 
       79 
79 
     | 
    
         
             
            have_func("rb_errinfo", "ruby.h")
         
     | 
| 
       80 
80 
     | 
    
         
             
            have_type("enum ruby_value_type", "ruby.h")
         
     | 
    
        data/ext/groonga/rb-grn-array.c
    CHANGED
    
    | 
         @@ -97,7 +97,7 @@ rb_grn_array_s_create (int argc, VALUE *argv, VALUE klass) 
     | 
|
| 
       97 
97 
     | 
    
         
             
                grn_obj *value_type = NULL, *table;
         
     | 
| 
       98 
98 
     | 
    
         
             
                const char *name = NULL, *path = NULL;
         
     | 
| 
       99 
99 
     | 
    
         
             
                unsigned name_size = 0;
         
     | 
| 
       100 
     | 
    
         
            -
                grn_obj_flags flags =  
     | 
| 
      
 100 
     | 
    
         
            +
                grn_obj_flags flags = GRN_OBJ_TABLE_NO_KEY;
         
     | 
| 
       101 
101 
     | 
    
         
             
                VALUE rb_table;
         
     | 
| 
       102 
102 
     | 
    
         
             
                VALUE options, rb_context, rb_name, rb_path, rb_persistent;
         
     | 
| 
       103 
103 
     | 
    
         
             
                VALUE rb_value_type, rb_sub_records;
         
     | 
| 
         @@ -92,6 +92,7 @@ static VALUE eGrnUpdateNotAllowed; 
     | 
|
| 
       92 
92 
     | 
    
         
             
            static VALUE eGrnTooSmallOffset;
         
     | 
| 
       93 
93 
     | 
    
         
             
            static VALUE eGrnTooLargeOffset;
         
     | 
| 
       94 
94 
     | 
    
         
             
            static VALUE eGrnTooSmallLimit;
         
     | 
| 
      
 95 
     | 
    
         
            +
            static VALUE eGrnCASError;
         
     | 
| 
       95 
96 
     | 
    
         | 
| 
       96 
97 
     | 
    
         
             
            VALUE
         
     | 
| 
       97 
98 
     | 
    
         
             
            rb_grn_rc_to_exception (grn_rc rc)
         
     | 
| 
         @@ -312,6 +313,9 @@ rb_grn_rc_to_exception (grn_rc rc) 
     | 
|
| 
       312 
313 
     | 
    
         
             
                  case GRN_TOO_SMALL_LIMIT:
         
     | 
| 
       313 
314 
     | 
    
         
             
                    exception = eGrnTooSmallLimit;
         
     | 
| 
       314 
315 
     | 
    
         
             
                    break;
         
     | 
| 
      
 316 
     | 
    
         
            +
                  case GRN_CAS_ERROR:
         
     | 
| 
      
 317 
     | 
    
         
            +
                    exception = eGrnCASError;
         
     | 
| 
      
 318 
     | 
    
         
            +
                    break;
         
     | 
| 
       315 
319 
     | 
    
         
             
                }
         
     | 
| 
       316 
320 
     | 
    
         | 
| 
       317 
321 
     | 
    
         
             
                if (NIL_P(exception))
         
     | 
| 
         @@ -539,6 +543,9 @@ rb_grn_rc_to_message (grn_rc rc) 
     | 
|
| 
       539 
543 
     | 
    
         
             
                  case GRN_TOO_SMALL_LIMIT:
         
     | 
| 
       540 
544 
     | 
    
         
             
                    message = "too small limit";
         
     | 
| 
       541 
545 
     | 
    
         
             
                    break;
         
     | 
| 
      
 546 
     | 
    
         
            +
                  case GRN_CAS_ERROR:
         
     | 
| 
      
 547 
     | 
    
         
            +
                    message = "CAS error";
         
     | 
| 
      
 548 
     | 
    
         
            +
                    break;
         
     | 
| 
       542 
549 
     | 
    
         
             
                }
         
     | 
| 
       543 
550 
     | 
    
         | 
| 
       544 
551 
     | 
    
         
             
                if (!message)
         
     | 
| 
         @@ -1152,4 +1159,11 @@ rb_grn_init_exception (VALUE mGrn) 
     | 
|
| 
       1152 
1159 
     | 
    
         
             
                 */
         
     | 
| 
       1153 
1160 
     | 
    
         
             
                eGrnTooSmallLimit =
         
     | 
| 
       1154 
1161 
     | 
    
         
             
                    rb_define_class_under(mGrn, "TooSmallLimit", rb_eGrnError);
         
     | 
| 
      
 1162 
     | 
    
         
            +
             
     | 
| 
      
 1163 
     | 
    
         
            +
                /*
         
     | 
| 
      
 1164 
     | 
    
         
            +
                 * Document-class: Groonga::CASError
         
     | 
| 
      
 1165 
     | 
    
         
            +
                 *
         
     | 
| 
      
 1166 
     | 
    
         
            +
                 * CAS(Compare and Swap)が失敗したときに発生する。
         
     | 
| 
      
 1167 
     | 
    
         
            +
                 */
         
     | 
| 
      
 1168 
     | 
    
         
            +
                eGrnCASError = rb_define_class_under(mGrn, "CASError", rb_eGrnError);
         
     | 
| 
       1155 
1169 
     | 
    
         
             
            }
         
     | 
    
        data/ext/groonga/rb-grn-hash.c
    CHANGED
    
    | 
         @@ -152,7 +152,7 @@ rb_grn_hash_s_create (int argc, VALUE *argv, VALUE klass) 
     | 
|
| 
       152 
152 
     | 
    
         
             
                grn_obj *key_type = NULL, *value_type = NULL, *table;
         
     | 
| 
       153 
153 
     | 
    
         
             
                const char *name = NULL, *path = NULL;
         
     | 
| 
       154 
154 
     | 
    
         
             
                unsigned name_size = 0;
         
     | 
| 
       155 
     | 
    
         
            -
                grn_obj_flags flags =  
     | 
| 
      
 155 
     | 
    
         
            +
                grn_obj_flags flags = GRN_OBJ_TABLE_HASH_KEY;
         
     | 
| 
       156 
156 
     | 
    
         
             
                VALUE rb_table;
         
     | 
| 
       157 
157 
     | 
    
         
             
                VALUE options, rb_context, rb_name, rb_path, rb_persistent;
         
     | 
| 
       158 
158 
     | 
    
         
             
                VALUE rb_key_normalize, rb_key_type, rb_value_type, rb_default_tokenizer;
         
     | 
| 
         @@ -307,7 +307,19 @@ resolve_source_id (grn_ctx *context, grn_obj *column, VALUE rb_source) 
     | 
|
| 
       307 
307 
     | 
    
         
             
            	    source = RVAL2GRNOBJECT(rb_source, &context);
         
     | 
| 
       308 
308 
     | 
    
         
             
            	}
         
     | 
| 
       309 
309 
     | 
    
         
             
            	rb_grn_context_check(context, rb_source);
         
     | 
| 
       310 
     | 
    
         
            -
            	 
     | 
| 
      
 310 
     | 
    
         
            +
            	if (source->header.type == GRN_ACCESSOR) {
         
     | 
| 
      
 311 
     | 
    
         
            +
            	    char name[256];
         
     | 
| 
      
 312 
     | 
    
         
            +
            	    int length;
         
     | 
| 
      
 313 
     | 
    
         
            +
            	    length = grn_column_name(context, source, name, sizeof(name));
         
     | 
| 
      
 314 
     | 
    
         
            +
            	    name[length] = '\0';
         
     | 
| 
      
 315 
     | 
    
         
            +
            	    if (strcmp(name, "_key") != 0) {
         
     | 
| 
      
 316 
     | 
    
         
            +
            		rb_raise(rb_eArgError,
         
     | 
| 
      
 317 
     | 
    
         
            +
            			 "source accessor must be '_key': <%s>", name);
         
     | 
| 
      
 318 
     | 
    
         
            +
            	    }
         
     | 
| 
      
 319 
     | 
    
         
            +
            	    source_id = grn_obj_id(context, column);
         
     | 
| 
      
 320 
     | 
    
         
            +
            	} else {
         
     | 
| 
      
 321 
     | 
    
         
            +
            	    source_id = grn_obj_id(context, source);
         
     | 
| 
      
 322 
     | 
    
         
            +
            	}
         
     | 
| 
       311 
323 
     | 
    
         
             
                }
         
     | 
| 
       312 
324 
     | 
    
         | 
| 
       313 
325 
     | 
    
         
             
                return source_id;
         
     | 
    
        data/ext/groonga/rb-grn-object.c
    CHANGED
    
    | 
         @@ -766,8 +766,8 @@ rb_grn_object_inspect_content_flags_with_label (VALUE inspected, 
     | 
|
| 
       766 
766 
     | 
    
         
             
            	rb_ary_push(inspected_flags, rb_str_new2("WITH_WEIGHT"));
         
     | 
| 
       767 
767 
     | 
    
         
             
                if (flags & GRN_OBJ_WITH_POSITION)
         
     | 
| 
       768 
768 
     | 
    
         
             
            	rb_ary_push(inspected_flags, rb_str_new2("WITH_POSITION"));
         
     | 
| 
       769 
     | 
    
         
            -
                if (flags &  
     | 
| 
       770 
     | 
    
         
            -
            	rb_ary_push(inspected_flags, rb_str_new2(" 
     | 
| 
      
 769 
     | 
    
         
            +
                if (flags & GRN_OBJ_RING_BUFFER)
         
     | 
| 
      
 770 
     | 
    
         
            +
            	rb_ary_push(inspected_flags, rb_str_new2("RING_BUFFER"));
         
     | 
| 
       771 
771 
     | 
    
         | 
| 
       772 
772 
     | 
    
         
             
                if (flags & GRN_OBJ_WITH_SUBREC) {
         
     | 
| 
       773 
773 
     | 
    
         
             
            	rb_ary_push(inspected_flags, rb_str_new2("WITH_SUBREC"));
         
     | 
| 
         @@ -19,6 +19,8 @@ 
     | 
|
| 
       19 
19 
     | 
    
         | 
| 
       20 
20 
     | 
    
         
             
            #include "rb-grn.h"
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
      
 22 
     | 
    
         
            +
            grn_rc grn_obj_cast(grn_ctx *ctx, grn_obj *src, grn_obj *dest, int addp);
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
       22 
24 
     | 
    
         
             
            #define SELF(object) ((RbGrnTableKeySupport *)DATA_PTR(object))
         
     | 
| 
       23 
25 
     | 
    
         | 
| 
       24 
26 
     | 
    
         
             
            VALUE rb_cGrnPatriciaTrie;
         
     | 
| 
         @@ -159,7 +161,7 @@ rb_grn_patricia_trie_s_create (int argc, VALUE *argv, VALUE klass) 
     | 
|
| 
       159 
161 
     | 
    
         
             
                grn_obj *key_type = NULL, *value_type = NULL, *table;
         
     | 
| 
       160 
162 
     | 
    
         
             
                const char *name = NULL, *path = NULL;
         
     | 
| 
       161 
163 
     | 
    
         
             
                unsigned name_size = 0;
         
     | 
| 
       162 
     | 
    
         
            -
                grn_obj_flags flags =  
     | 
| 
      
 164 
     | 
    
         
            +
                grn_obj_flags flags = GRN_OBJ_TABLE_PAT_KEY;
         
     | 
| 
       163 
165 
     | 
    
         
             
                VALUE rb_table;
         
     | 
| 
       164 
166 
     | 
    
         
             
                VALUE options, rb_context, rb_name, rb_path, rb_persistent;
         
     | 
| 
       165 
167 
     | 
    
         
             
                VALUE rb_key_normalize, rb_key_with_sis, rb_key_type;
         
     | 
| 
         @@ -488,6 +490,387 @@ rb_grn_patricia_trie_register_key_with_sis_p (VALUE self) 
     | 
|
| 
       488 
490 
     | 
    
         
             
                return CBOOL2RVAL(table->header.flags & GRN_OBJ_KEY_WITH_SIS);
         
     | 
| 
       489 
491 
     | 
    
         
             
            }
         
     | 
| 
       490 
492 
     | 
    
         | 
| 
      
 493 
     | 
    
         
            +
            static grn_table_cursor *
         
     | 
| 
      
 494 
     | 
    
         
            +
            rb_grn_patricia_trie_open_grn_prefix_cursor (int argc, VALUE *argv, VALUE self,
         
     | 
| 
      
 495 
     | 
    
         
            +
            					     grn_ctx **context)
         
     | 
| 
      
 496 
     | 
    
         
            +
            {
         
     | 
| 
      
 497 
     | 
    
         
            +
                grn_obj *table;
         
     | 
| 
      
 498 
     | 
    
         
            +
                grn_table_cursor *cursor;
         
     | 
| 
      
 499 
     | 
    
         
            +
                void *prefix = NULL;
         
     | 
| 
      
 500 
     | 
    
         
            +
                unsigned prefix_size = 0;
         
     | 
| 
      
 501 
     | 
    
         
            +
                int offset = 0, limit = -1;
         
     | 
| 
      
 502 
     | 
    
         
            +
                int flags = GRN_CURSOR_PREFIX;
         
     | 
| 
      
 503 
     | 
    
         
            +
                VALUE options, rb_prefix, rb_key_bytes, rb_key_bits;
         
     | 
| 
      
 504 
     | 
    
         
            +
                VALUE rb_order, rb_order_by;
         
     | 
| 
      
 505 
     | 
    
         
            +
                VALUE rb_greater_than, rb_less_than, rb_offset, rb_limit;
         
     | 
| 
      
 506 
     | 
    
         
            +
             
     | 
| 
      
 507 
     | 
    
         
            +
                rb_grn_table_deconstruct((RbGrnTable *)SELF(self), &table, context,
         
     | 
| 
      
 508 
     | 
    
         
            +
            			     NULL, NULL,
         
     | 
| 
      
 509 
     | 
    
         
            +
            			     NULL, NULL, NULL,
         
     | 
| 
      
 510 
     | 
    
         
            +
            			     NULL);
         
     | 
| 
      
 511 
     | 
    
         
            +
             
     | 
| 
      
 512 
     | 
    
         
            +
                rb_scan_args(argc, argv, "11", &rb_prefix, &options);
         
     | 
| 
      
 513 
     | 
    
         
            +
             
     | 
| 
      
 514 
     | 
    
         
            +
                rb_grn_scan_options(options,
         
     | 
| 
      
 515 
     | 
    
         
            +
            			"key_bytes", &rb_key_bytes,
         
     | 
| 
      
 516 
     | 
    
         
            +
                                    "key_bites", &rb_key_bits,
         
     | 
| 
      
 517 
     | 
    
         
            +
                                    "offset", &rb_offset,
         
     | 
| 
      
 518 
     | 
    
         
            +
                                    "limit", &rb_limit,
         
     | 
| 
      
 519 
     | 
    
         
            +
            			"order", &rb_order,
         
     | 
| 
      
 520 
     | 
    
         
            +
            			"order_by", &rb_order_by,
         
     | 
| 
      
 521 
     | 
    
         
            +
            			"greater_than", &rb_greater_than,
         
     | 
| 
      
 522 
     | 
    
         
            +
            			"less_than", &rb_less_than,
         
     | 
| 
      
 523 
     | 
    
         
            +
            			NULL);
         
     | 
| 
      
 524 
     | 
    
         
            +
             
     | 
| 
      
 525 
     | 
    
         
            +
                prefix = StringValuePtr(rb_prefix);
         
     | 
| 
      
 526 
     | 
    
         
            +
                if (!NIL_P(rb_key_bytes) && !NIL_P(rb_key_bits)) {
         
     | 
| 
      
 527 
     | 
    
         
            +
            	rb_raise(rb_eArgError,
         
     | 
| 
      
 528 
     | 
    
         
            +
            		 "should not specify both :key_bytes and :key_bits once: %s",
         
     | 
| 
      
 529 
     | 
    
         
            +
            		 rb_grn_inspect(rb_ary_new4(argc, argv)));
         
     | 
| 
      
 530 
     | 
    
         
            +
                } else if (!NIL_P(rb_key_bytes)) {
         
     | 
| 
      
 531 
     | 
    
         
            +
            	prefix_size = NUM2UINT(rb_key_bytes);
         
     | 
| 
      
 532 
     | 
    
         
            +
                } else if (!NIL_P(rb_key_bits)) {
         
     | 
| 
      
 533 
     | 
    
         
            +
            	prefix_size = NUM2UINT(rb_key_bits);
         
     | 
| 
      
 534 
     | 
    
         
            +
            	flags |= GRN_CURSOR_SIZE_BY_BIT;
         
     | 
| 
      
 535 
     | 
    
         
            +
                } else {
         
     | 
| 
      
 536 
     | 
    
         
            +
            	prefix_size = RSTRING_LEN(rb_prefix);
         
     | 
| 
      
 537 
     | 
    
         
            +
                }
         
     | 
| 
      
 538 
     | 
    
         
            +
                if (!NIL_P(rb_offset))
         
     | 
| 
      
 539 
     | 
    
         
            +
            	offset = NUM2INT(rb_offset);
         
     | 
| 
      
 540 
     | 
    
         
            +
                if (!NIL_P(rb_limit))
         
     | 
| 
      
 541 
     | 
    
         
            +
            	limit = NUM2INT(rb_limit);
         
     | 
| 
      
 542 
     | 
    
         
            +
             
     | 
| 
      
 543 
     | 
    
         
            +
                if (NIL_P(rb_order)) {
         
     | 
| 
      
 544 
     | 
    
         
            +
                } else if (rb_grn_equal_option(rb_order, "asc") ||
         
     | 
| 
      
 545 
     | 
    
         
            +
            	       rb_grn_equal_option(rb_order, "ascending")) {
         
     | 
| 
      
 546 
     | 
    
         
            +
            	flags |= GRN_CURSOR_ASCENDING;
         
     | 
| 
      
 547 
     | 
    
         
            +
                } else if (rb_grn_equal_option(rb_order, "desc") ||
         
     | 
| 
      
 548 
     | 
    
         
            +
            	       rb_grn_equal_option(rb_order, "descending")) {
         
     | 
| 
      
 549 
     | 
    
         
            +
            	flags |= GRN_CURSOR_DESCENDING;
         
     | 
| 
      
 550 
     | 
    
         
            +
                } else {
         
     | 
| 
      
 551 
     | 
    
         
            +
            	rb_raise(rb_eArgError,
         
     | 
| 
      
 552 
     | 
    
         
            +
            		 "order should be one of "
         
     | 
| 
      
 553 
     | 
    
         
            +
            		 "[:asc, :ascending, :desc, :descending]: %s",
         
     | 
| 
      
 554 
     | 
    
         
            +
            		 rb_grn_inspect(rb_order));
         
     | 
| 
      
 555 
     | 
    
         
            +
                }
         
     | 
| 
      
 556 
     | 
    
         
            +
                if (NIL_P(rb_order_by)) {
         
     | 
| 
      
 557 
     | 
    
         
            +
                } else if (rb_grn_equal_option(rb_order_by, "id")) {
         
     | 
| 
      
 558 
     | 
    
         
            +
            	flags |= GRN_CURSOR_BY_ID;
         
     | 
| 
      
 559 
     | 
    
         
            +
                } else if (rb_grn_equal_option(rb_order_by, "key")) {
         
     | 
| 
      
 560 
     | 
    
         
            +
            	if (table->header.type != GRN_TABLE_PAT_KEY) {
         
     | 
| 
      
 561 
     | 
    
         
            +
            	    rb_raise(rb_eArgError,
         
     | 
| 
      
 562 
     | 
    
         
            +
            		     "order_by => :key is available "
         
     | 
| 
      
 563 
     | 
    
         
            +
            		     "only for Groonga::PatriciaTrie: %s",
         
     | 
| 
      
 564 
     | 
    
         
            +
            		     rb_grn_inspect(self));
         
     | 
| 
      
 565 
     | 
    
         
            +
            	}
         
     | 
| 
      
 566 
     | 
    
         
            +
            	flags |= GRN_CURSOR_BY_KEY;
         
     | 
| 
      
 567 
     | 
    
         
            +
                } else {
         
     | 
| 
      
 568 
     | 
    
         
            +
            	rb_raise(rb_eArgError,
         
     | 
| 
      
 569 
     | 
    
         
            +
            		 "order_by should be one of [:id%s]: %s",
         
     | 
| 
      
 570 
     | 
    
         
            +
            		 table->header.type == GRN_TABLE_PAT_KEY ? ", :key" : "",
         
     | 
| 
      
 571 
     | 
    
         
            +
            		 rb_grn_inspect(rb_order_by));
         
     | 
| 
      
 572 
     | 
    
         
            +
                }
         
     | 
| 
      
 573 
     | 
    
         
            +
             
     | 
| 
      
 574 
     | 
    
         
            +
                if (RVAL2CBOOL(rb_greater_than))
         
     | 
| 
      
 575 
     | 
    
         
            +
            	flags |= GRN_CURSOR_GT;
         
     | 
| 
      
 576 
     | 
    
         
            +
                if (RVAL2CBOOL(rb_less_than))
         
     | 
| 
      
 577 
     | 
    
         
            +
            	flags |= GRN_CURSOR_LT;
         
     | 
| 
      
 578 
     | 
    
         
            +
             
     | 
| 
      
 579 
     | 
    
         
            +
                cursor = grn_table_cursor_open(*context, table,
         
     | 
| 
      
 580 
     | 
    
         
            +
            				   prefix, prefix_size,
         
     | 
| 
      
 581 
     | 
    
         
            +
            				   NULL, 0,
         
     | 
| 
      
 582 
     | 
    
         
            +
            				   offset, limit, flags);
         
     | 
| 
      
 583 
     | 
    
         
            +
                rb_grn_context_check(*context, self);
         
     | 
| 
      
 584 
     | 
    
         
            +
             
     | 
| 
      
 585 
     | 
    
         
            +
                return cursor;
         
     | 
| 
      
 586 
     | 
    
         
            +
            }
         
     | 
| 
      
 587 
     | 
    
         
            +
             
     | 
| 
      
 588 
     | 
    
         
            +
             
     | 
| 
      
 589 
     | 
    
         
            +
            /*
         
     | 
| 
      
 590 
     | 
    
         
            +
             * call-seq:
         
     | 
| 
      
 591 
     | 
    
         
            +
             *   table.open_prefix_cursor(prefix, options={}) -> Groonga::PatriciaTrieCursor
         
     | 
| 
      
 592 
     | 
    
         
            +
             *   table.open_prefix_cursor(prefix, options={}) {|cursor| ... }
         
     | 
| 
      
 593 
     | 
    
         
            +
             *
         
     | 
| 
      
 594 
     | 
    
         
            +
             * _prefix_に前方一致検索をするカーソルを生成して返す。ブロッ
         
     | 
| 
      
 595 
     | 
    
         
            +
             * クを指定すると、そのブロックに生成したカーソルが渡され、ブ
         
     | 
| 
      
 596 
     | 
    
         
            +
             * ロックを抜けると自動的にカーソルが破棄される。
         
     | 
| 
      
 597 
     | 
    
         
            +
             *
         
     | 
| 
      
 598 
     | 
    
         
            +
             * _options_に指定可能な値は以下の通り。
         
     | 
| 
      
 599 
     | 
    
         
            +
             *
         
     | 
| 
      
 600 
     | 
    
         
            +
             * [+:key_bytes+]
         
     | 
| 
      
 601 
     | 
    
         
            +
             *  _prefix_のサイズ(byte)
         
     | 
| 
      
 602 
     | 
    
         
            +
             *
         
     | 
| 
      
 603 
     | 
    
         
            +
             * [+:key_bits+]
         
     | 
| 
      
 604 
     | 
    
         
            +
             *  _prefix_のサイズ(bit)
         
     | 
| 
      
 605 
     | 
    
         
            +
             *
         
     | 
| 
      
 606 
     | 
    
         
            +
             * [+:offset+]
         
     | 
| 
      
 607 
     | 
    
         
            +
             *   該当する範囲のレコードのうち、(0ベースで)_:offset_番目
         
     | 
| 
      
 608 
     | 
    
         
            +
             *   からレコードを取り出す。
         
     | 
| 
      
 609 
     | 
    
         
            +
             *
         
     | 
| 
      
 610 
     | 
    
         
            +
             * [+:limit+]
         
     | 
| 
      
 611 
     | 
    
         
            +
             *   該当する範囲のレコードのうち、_:limit_件のみを取り出す。
         
     | 
| 
      
 612 
     | 
    
         
            +
             *   省略された場合または-1が指定された場合は、全件が指定され
         
     | 
| 
      
 613 
     | 
    
         
            +
             *   たものとみなす。
         
     | 
| 
      
 614 
     | 
    
         
            +
             *
         
     | 
| 
      
 615 
     | 
    
         
            +
             * [+:order+]
         
     | 
| 
      
 616 
     | 
    
         
            +
             *   +:asc+または+:ascending+を指定すると昇順にレコードを取
         
     | 
| 
      
 617 
     | 
    
         
            +
             *   り出す。
         
     | 
| 
      
 618 
     | 
    
         
            +
             *   +:desc+または+:descending+を指定すると降順にレコードを
         
     | 
| 
      
 619 
     | 
    
         
            +
             *   取り出す。
         
     | 
| 
      
 620 
     | 
    
         
            +
             *
         
     | 
| 
      
 621 
     | 
    
         
            +
             * [+:order_by+]
         
     | 
| 
      
 622 
     | 
    
         
            +
             *   +:id+を指定するとID順にレコードを取り出す。(デフォルト)
         
     | 
| 
      
 623 
     | 
    
         
            +
             *
         
     | 
| 
      
 624 
     | 
    
         
            +
             *   +:key+指定するとキー順にレコードを取り出す。
         
     | 
| 
      
 625 
     | 
    
         
            +
             *
         
     | 
| 
      
 626 
     | 
    
         
            +
             * [+:greater_than+]
         
     | 
| 
      
 627 
     | 
    
         
            +
             *   +true+を指定すると_prefix_で指定した値に一致した[+key+]を
         
     | 
| 
      
 628 
     | 
    
         
            +
             *   範囲に含まない。
         
     | 
| 
      
 629 
     | 
    
         
            +
             *
         
     | 
| 
      
 630 
     | 
    
         
            +
             * [+:less_than+]
         
     | 
| 
      
 631 
     | 
    
         
            +
             *   +true+を指定すると_prefix_で指定した値に一致した[+key+]を
         
     | 
| 
      
 632 
     | 
    
         
            +
             *   範囲に含まない。
         
     | 
| 
      
 633 
     | 
    
         
            +
             */
         
     | 
| 
      
 634 
     | 
    
         
            +
            static VALUE
         
     | 
| 
      
 635 
     | 
    
         
            +
            rb_grn_patricia_trie_open_prefix_cursor (int argc, VALUE *argv, VALUE self)
         
     | 
| 
      
 636 
     | 
    
         
            +
            {
         
     | 
| 
      
 637 
     | 
    
         
            +
                grn_ctx *context = NULL;
         
     | 
| 
      
 638 
     | 
    
         
            +
                grn_table_cursor *cursor;
         
     | 
| 
      
 639 
     | 
    
         
            +
                VALUE rb_cursor;
         
     | 
| 
      
 640 
     | 
    
         
            +
             
     | 
| 
      
 641 
     | 
    
         
            +
                cursor = rb_grn_patricia_trie_open_grn_prefix_cursor(argc, argv,
         
     | 
| 
      
 642 
     | 
    
         
            +
            							 self, &context);
         
     | 
| 
      
 643 
     | 
    
         
            +
                rb_cursor = GRNTABLECURSOR2RVAL(Qnil, context, cursor);
         
     | 
| 
      
 644 
     | 
    
         
            +
                rb_iv_set(rb_cursor, "@table", self); /* FIXME: cursor should mark table */
         
     | 
| 
      
 645 
     | 
    
         
            +
                if (rb_block_given_p())
         
     | 
| 
      
 646 
     | 
    
         
            +
            	return rb_ensure(rb_yield, rb_cursor, rb_grn_object_close, rb_cursor);
         
     | 
| 
      
 647 
     | 
    
         
            +
                else
         
     | 
| 
      
 648 
     | 
    
         
            +
            	return rb_cursor;
         
     | 
| 
      
 649 
     | 
    
         
            +
            }
         
     | 
| 
      
 650 
     | 
    
         
            +
             
     | 
| 
      
 651 
     | 
    
         
            +
            static grn_table_cursor *
         
     | 
| 
      
 652 
     | 
    
         
            +
            rb_grn_patricia_trie_open_grn_rk_cursor (int argc, VALUE *argv, VALUE self,
         
     | 
| 
      
 653 
     | 
    
         
            +
            					     grn_ctx **context)
         
     | 
| 
      
 654 
     | 
    
         
            +
            {
         
     | 
| 
      
 655 
     | 
    
         
            +
                grn_obj *table;
         
     | 
| 
      
 656 
     | 
    
         
            +
                grn_table_cursor *cursor;
         
     | 
| 
      
 657 
     | 
    
         
            +
                void *prefix = NULL;
         
     | 
| 
      
 658 
     | 
    
         
            +
                unsigned prefix_size = 0;
         
     | 
| 
      
 659 
     | 
    
         
            +
                int offset = 0, limit = -1;
         
     | 
| 
      
 660 
     | 
    
         
            +
                int flags = GRN_CURSOR_PREFIX | GRN_CURSOR_RK;
         
     | 
| 
      
 661 
     | 
    
         
            +
                VALUE options, rb_prefix, rb_key_bytes, rb_key_bits;
         
     | 
| 
      
 662 
     | 
    
         
            +
                VALUE rb_greater_than, rb_less_than, rb_offset, rb_limit;
         
     | 
| 
      
 663 
     | 
    
         
            +
             
     | 
| 
      
 664 
     | 
    
         
            +
                rb_grn_table_deconstruct((RbGrnTable *)SELF(self), &table, context,
         
     | 
| 
      
 665 
     | 
    
         
            +
            			     NULL, NULL,
         
     | 
| 
      
 666 
     | 
    
         
            +
            			     NULL, NULL, NULL,
         
     | 
| 
      
 667 
     | 
    
         
            +
            			     NULL);
         
     | 
| 
      
 668 
     | 
    
         
            +
             
     | 
| 
      
 669 
     | 
    
         
            +
                rb_scan_args(argc, argv, "11", &rb_prefix, &options);
         
     | 
| 
      
 670 
     | 
    
         
            +
             
     | 
| 
      
 671 
     | 
    
         
            +
                rb_grn_scan_options(options,
         
     | 
| 
      
 672 
     | 
    
         
            +
            			"key_bytes", &rb_key_bytes,
         
     | 
| 
      
 673 
     | 
    
         
            +
                                    "key_bites", &rb_key_bits,
         
     | 
| 
      
 674 
     | 
    
         
            +
                                    "offset", &rb_offset,
         
     | 
| 
      
 675 
     | 
    
         
            +
                                    "limit", &rb_limit,
         
     | 
| 
      
 676 
     | 
    
         
            +
            			"greater_than", &rb_greater_than,
         
     | 
| 
      
 677 
     | 
    
         
            +
            			"less_than", &rb_less_than,
         
     | 
| 
      
 678 
     | 
    
         
            +
            			NULL);
         
     | 
| 
      
 679 
     | 
    
         
            +
             
     | 
| 
      
 680 
     | 
    
         
            +
                prefix = StringValuePtr(rb_prefix);
         
     | 
| 
      
 681 
     | 
    
         
            +
                if (!NIL_P(rb_key_bytes) && !NIL_P(rb_key_bits)) {
         
     | 
| 
      
 682 
     | 
    
         
            +
            	rb_raise(rb_eArgError,
         
     | 
| 
      
 683 
     | 
    
         
            +
            		 "should not specify both :key_bytes and :key_bits once: %s",
         
     | 
| 
      
 684 
     | 
    
         
            +
            		 rb_grn_inspect(rb_ary_new4(argc, argv)));
         
     | 
| 
      
 685 
     | 
    
         
            +
                } else if (!NIL_P(rb_key_bytes)) {
         
     | 
| 
      
 686 
     | 
    
         
            +
            	prefix_size = NUM2UINT(rb_key_bytes);
         
     | 
| 
      
 687 
     | 
    
         
            +
                } else if (!NIL_P(rb_key_bits)) {
         
     | 
| 
      
 688 
     | 
    
         
            +
            	prefix_size = NUM2UINT(rb_key_bits);
         
     | 
| 
      
 689 
     | 
    
         
            +
            	flags |= GRN_CURSOR_SIZE_BY_BIT;
         
     | 
| 
      
 690 
     | 
    
         
            +
                } else {
         
     | 
| 
      
 691 
     | 
    
         
            +
            	prefix_size = RSTRING_LEN(rb_prefix);
         
     | 
| 
      
 692 
     | 
    
         
            +
                }
         
     | 
| 
      
 693 
     | 
    
         
            +
                if (!NIL_P(rb_offset))
         
     | 
| 
      
 694 
     | 
    
         
            +
            	offset = NUM2INT(rb_offset);
         
     | 
| 
      
 695 
     | 
    
         
            +
                if (!NIL_P(rb_limit))
         
     | 
| 
      
 696 
     | 
    
         
            +
            	limit = NUM2INT(rb_limit);
         
     | 
| 
      
 697 
     | 
    
         
            +
             
     | 
| 
      
 698 
     | 
    
         
            +
                if (RVAL2CBOOL(rb_greater_than))
         
     | 
| 
      
 699 
     | 
    
         
            +
            	flags |= GRN_CURSOR_GT;
         
     | 
| 
      
 700 
     | 
    
         
            +
                if (RVAL2CBOOL(rb_less_than))
         
     | 
| 
      
 701 
     | 
    
         
            +
            	flags |= GRN_CURSOR_LT;
         
     | 
| 
      
 702 
     | 
    
         
            +
             
     | 
| 
      
 703 
     | 
    
         
            +
                cursor = grn_table_cursor_open(*context, table,
         
     | 
| 
      
 704 
     | 
    
         
            +
            				   prefix, prefix_size,
         
     | 
| 
      
 705 
     | 
    
         
            +
            				   NULL, 0,
         
     | 
| 
      
 706 
     | 
    
         
            +
            				   offset, limit, flags);
         
     | 
| 
      
 707 
     | 
    
         
            +
                rb_grn_context_check(*context, self);
         
     | 
| 
      
 708 
     | 
    
         
            +
             
     | 
| 
      
 709 
     | 
    
         
            +
                return cursor;
         
     | 
| 
      
 710 
     | 
    
         
            +
            }
         
     | 
| 
      
 711 
     | 
    
         
            +
             
     | 
| 
      
 712 
     | 
    
         
            +
            /*
         
     | 
| 
      
 713 
     | 
    
         
            +
             * call-seq:
         
     | 
| 
      
 714 
     | 
    
         
            +
             *   table.open_rk_cursor(key, options={}) -> Groonga::PatriciaTrieCursor
         
     | 
| 
      
 715 
     | 
    
         
            +
             *   table.open_rk_cursor(key, options={}) {|cursor| ... }
         
     | 
| 
      
 716 
     | 
    
         
            +
             *
         
     | 
| 
      
 717 
     | 
    
         
            +
             * _table_のキーはカタカナである必要がある。また、エンコーディ
         
     | 
| 
      
 718 
     | 
    
         
            +
             * ングはUTF-8である必要がある。ローマ字やひらがなで_key_を指
         
     | 
| 
      
 719 
     | 
    
         
            +
             * 定しても、_key_に対応するカタカナのキーを検索するカーソル
         
     | 
| 
      
 720 
     | 
    
         
            +
             * を生成して返す。ブロックを指定すると、そのブロックに生成し
         
     | 
| 
      
 721 
     | 
    
         
            +
             * たカーソルが渡され、ブロックを抜けると自動的にカーソルが破
         
     | 
| 
      
 722 
     | 
    
         
            +
             * 棄される。
         
     | 
| 
      
 723 
     | 
    
         
            +
             *
         
     | 
| 
      
 724 
     | 
    
         
            +
             * _options_に指定可能な値は以下の通り。
         
     | 
| 
      
 725 
     | 
    
         
            +
             *
         
     | 
| 
      
 726 
     | 
    
         
            +
             * [+:key_bytes+]
         
     | 
| 
      
 727 
     | 
    
         
            +
             *  _key_のサイズ(byte)
         
     | 
| 
      
 728 
     | 
    
         
            +
             *
         
     | 
| 
      
 729 
     | 
    
         
            +
             * [+:key_bits+]
         
     | 
| 
      
 730 
     | 
    
         
            +
             *  _key_のサイズ(bit)(現在は未サポート)
         
     | 
| 
      
 731 
     | 
    
         
            +
             *
         
     | 
| 
      
 732 
     | 
    
         
            +
             * [+:offset+]
         
     | 
| 
      
 733 
     | 
    
         
            +
             *   該当する範囲のレコードのうち、(0ベースで)_:offset_番目
         
     | 
| 
      
 734 
     | 
    
         
            +
             *   からレコードを取り出す。
         
     | 
| 
      
 735 
     | 
    
         
            +
             *
         
     | 
| 
      
 736 
     | 
    
         
            +
             * [+:limit+]
         
     | 
| 
      
 737 
     | 
    
         
            +
             *   該当する範囲のレコードのうち、_:limit_件のみを取り出す。
         
     | 
| 
      
 738 
     | 
    
         
            +
             *   省略された場合または-1が指定された場合は、全件が指定され
         
     | 
| 
      
 739 
     | 
    
         
            +
             *   たものとみなす。
         
     | 
| 
      
 740 
     | 
    
         
            +
             *
         
     | 
| 
      
 741 
     | 
    
         
            +
             * [+:greater_than+]
         
     | 
| 
      
 742 
     | 
    
         
            +
             *   +true+を指定すると_key_で指定した値に一致した[+key+]を
         
     | 
| 
      
 743 
     | 
    
         
            +
             *   範囲に含まない。
         
     | 
| 
      
 744 
     | 
    
         
            +
             *
         
     | 
| 
      
 745 
     | 
    
         
            +
             * [+:less_than+]
         
     | 
| 
      
 746 
     | 
    
         
            +
             *   +true+を指定すると_key_で指定した値に一致した[+key+]を
         
     | 
| 
      
 747 
     | 
    
         
            +
             *   範囲に含まない。
         
     | 
| 
      
 748 
     | 
    
         
            +
             */
         
     | 
| 
      
 749 
     | 
    
         
            +
            static VALUE
         
     | 
| 
      
 750 
     | 
    
         
            +
            rb_grn_patricia_trie_open_rk_cursor (int argc, VALUE *argv, VALUE self)
         
     | 
| 
      
 751 
     | 
    
         
            +
            {
         
     | 
| 
      
 752 
     | 
    
         
            +
                grn_ctx *context = NULL;
         
     | 
| 
      
 753 
     | 
    
         
            +
                grn_table_cursor *cursor;
         
     | 
| 
      
 754 
     | 
    
         
            +
                VALUE rb_cursor;
         
     | 
| 
      
 755 
     | 
    
         
            +
             
     | 
| 
      
 756 
     | 
    
         
            +
                cursor = rb_grn_patricia_trie_open_grn_rk_cursor(argc, argv,
         
     | 
| 
      
 757 
     | 
    
         
            +
            								self, &context);
         
     | 
| 
      
 758 
     | 
    
         
            +
                rb_cursor = GRNTABLECURSOR2RVAL(Qnil, context, cursor);
         
     | 
| 
      
 759 
     | 
    
         
            +
                rb_iv_set(rb_cursor, "@table", self); /* FIXME: cursor should mark table */
         
     | 
| 
      
 760 
     | 
    
         
            +
                if (rb_block_given_p())
         
     | 
| 
      
 761 
     | 
    
         
            +
            	return rb_ensure(rb_yield, rb_cursor, rb_grn_object_close, rb_cursor);
         
     | 
| 
      
 762 
     | 
    
         
            +
                else
         
     | 
| 
      
 763 
     | 
    
         
            +
            	return rb_cursor;
         
     | 
| 
      
 764 
     | 
    
         
            +
            }
         
     | 
| 
      
 765 
     | 
    
         
            +
             
     | 
| 
      
 766 
     | 
    
         
            +
             
     | 
| 
      
 767 
     | 
    
         
            +
            static grn_table_cursor *
         
     | 
| 
      
 768 
     | 
    
         
            +
            rb_grn_patricia_trie_open_grn_near_cursor (int argc, VALUE *argv, VALUE self,
         
     | 
| 
      
 769 
     | 
    
         
            +
            					     grn_ctx **context, int flags)
         
     | 
| 
      
 770 
     | 
    
         
            +
            {
         
     | 
| 
      
 771 
     | 
    
         
            +
                grn_obj *table;
         
     | 
| 
      
 772 
     | 
    
         
            +
                grn_obj *key_p = NULL, casted_key;
         
     | 
| 
      
 773 
     | 
    
         
            +
                grn_table_cursor *cursor;
         
     | 
| 
      
 774 
     | 
    
         
            +
                unsigned min_size = 0;
         
     | 
| 
      
 775 
     | 
    
         
            +
                int offset = 0, limit = -1;
         
     | 
| 
      
 776 
     | 
    
         
            +
                VALUE options, rb_key, rb_min_size;
         
     | 
| 
      
 777 
     | 
    
         
            +
                VALUE rb_greater_than, rb_less_than, rb_offset, rb_limit;
         
     | 
| 
      
 778 
     | 
    
         
            +
             
     | 
| 
      
 779 
     | 
    
         
            +
                flags |= GRN_CURSOR_PREFIX;
         
     | 
| 
      
 780 
     | 
    
         
            +
             
     | 
| 
      
 781 
     | 
    
         
            +
                rb_grn_table_deconstruct((RbGrnTable *)SELF(self), &table, context,
         
     | 
| 
      
 782 
     | 
    
         
            +
            			     NULL, NULL,
         
     | 
| 
      
 783 
     | 
    
         
            +
            			     NULL, NULL, NULL,
         
     | 
| 
      
 784 
     | 
    
         
            +
            			     NULL);
         
     | 
| 
      
 785 
     | 
    
         
            +
             
     | 
| 
      
 786 
     | 
    
         
            +
                rb_scan_args(argc, argv, "11", &rb_key, &options);
         
     | 
| 
      
 787 
     | 
    
         
            +
             
     | 
| 
      
 788 
     | 
    
         
            +
                rb_grn_scan_options(options,
         
     | 
| 
      
 789 
     | 
    
         
            +
            			"size", &rb_min_size,
         
     | 
| 
      
 790 
     | 
    
         
            +
                                    "offset", &rb_offset,
         
     | 
| 
      
 791 
     | 
    
         
            +
                                    "limit", &rb_limit,
         
     | 
| 
      
 792 
     | 
    
         
            +
            			"greater_than", &rb_greater_than,
         
     | 
| 
      
 793 
     | 
    
         
            +
            			"less_than", &rb_less_than,
         
     | 
| 
      
 794 
     | 
    
         
            +
            			NULL);
         
     | 
| 
      
 795 
     | 
    
         
            +
             
     | 
| 
      
 796 
     | 
    
         
            +
                key_p = RVAL2GRNBULK_WITH_TYPE(rb_key, *context, key_p,
         
     | 
| 
      
 797 
     | 
    
         
            +
            				   table->header.domain, grn_ctx_at(*context, table->header.domain));
         
     | 
| 
      
 798 
     | 
    
         
            +
                GRN_OBJ_INIT(&casted_key, GRN_BULK, 0, table->header.domain);
         
     | 
| 
      
 799 
     | 
    
         
            +
                if (key_p->header.domain != table->header.domain) {
         
     | 
| 
      
 800 
     | 
    
         
            +
            	grn_obj_cast(*context, key_p, &casted_key, 0);
         
     | 
| 
      
 801 
     | 
    
         
            +
            	key_p = &casted_key;
         
     | 
| 
      
 802 
     | 
    
         
            +
                }
         
     | 
| 
      
 803 
     | 
    
         
            +
             
     | 
| 
      
 804 
     | 
    
         
            +
                if (!NIL_P(rb_min_size))
         
     | 
| 
      
 805 
     | 
    
         
            +
            	min_size = NUM2UINT(rb_min_size);
         
     | 
| 
      
 806 
     | 
    
         
            +
                if (!NIL_P(rb_offset))
         
     | 
| 
      
 807 
     | 
    
         
            +
            	offset = NUM2INT(rb_offset);
         
     | 
| 
      
 808 
     | 
    
         
            +
                if (!NIL_P(rb_limit))
         
     | 
| 
      
 809 
     | 
    
         
            +
            	limit = NUM2INT(rb_limit);
         
     | 
| 
      
 810 
     | 
    
         
            +
             
     | 
| 
      
 811 
     | 
    
         
            +
                if (RVAL2CBOOL(rb_greater_than))
         
     | 
| 
      
 812 
     | 
    
         
            +
            	flags |= GRN_CURSOR_GT;
         
     | 
| 
      
 813 
     | 
    
         
            +
                if (RVAL2CBOOL(rb_less_than))
         
     | 
| 
      
 814 
     | 
    
         
            +
            	flags |= GRN_CURSOR_LT;
         
     | 
| 
      
 815 
     | 
    
         
            +
             
     | 
| 
      
 816 
     | 
    
         
            +
                cursor = grn_table_cursor_open(*context, table,
         
     | 
| 
      
 817 
     | 
    
         
            +
            				   NULL, min_size,
         
     | 
| 
      
 818 
     | 
    
         
            +
            				   GRN_BULK_HEAD(key_p), GRN_BULK_VSIZE(key_p),
         
     | 
| 
      
 819 
     | 
    
         
            +
            				   offset, limit, flags);
         
     | 
| 
      
 820 
     | 
    
         
            +
                GRN_OBJ_FIN(*context, &casted_key);
         
     | 
| 
      
 821 
     | 
    
         
            +
                rb_grn_context_check(*context, self);
         
     | 
| 
      
 822 
     | 
    
         
            +
             
     | 
| 
      
 823 
     | 
    
         
            +
                return cursor;
         
     | 
| 
      
 824 
     | 
    
         
            +
            }
         
     | 
| 
      
 825 
     | 
    
         
            +
             
     | 
| 
      
 826 
     | 
    
         
            +
            /*
         
     | 
| 
      
 827 
     | 
    
         
            +
             * call-seq:
         
     | 
| 
      
 828 
     | 
    
         
            +
             *   table.open_near_cursor(key, options={}) -> Groonga::PatriciaTrieCursor
         
     | 
| 
      
 829 
     | 
    
         
            +
             *   table.open_near_cursor(key, options={}) {|cursor| ... }
         
     | 
| 
      
 830 
     | 
    
         
            +
             *
         
     | 
| 
      
 831 
     | 
    
         
            +
             * _key_に近い順にレコードを取り出すカーソルを生成して返す。
         
     | 
| 
      
 832 
     | 
    
         
            +
             * ブロックを指定すると、そのブロックに生成したカーソルが渡さ
         
     | 
| 
      
 833 
     | 
    
         
            +
             * れ、ブロックを抜けると自動的にカーソルが破棄される。
         
     | 
| 
      
 834 
     | 
    
         
            +
             *
         
     | 
| 
      
 835 
     | 
    
         
            +
             * _options_に指定可能な値は以下の通り。
         
     | 
| 
      
 836 
     | 
    
         
            +
             *
         
     | 
| 
      
 837 
     | 
    
         
            +
             * [+:size+]
         
     | 
| 
      
 838 
     | 
    
         
            +
             *   _size_バイト以降のデータが同じキーのレコードに限定する。
         
     | 
| 
      
 839 
     | 
    
         
            +
             *
         
     | 
| 
      
 840 
     | 
    
         
            +
             * [+:offset+]
         
     | 
| 
      
 841 
     | 
    
         
            +
             *   該当する範囲のレコードのうち、(0ベースで)_:offset_番目
         
     | 
| 
      
 842 
     | 
    
         
            +
             *   からレコードを取り出す。
         
     | 
| 
      
 843 
     | 
    
         
            +
             *
         
     | 
| 
      
 844 
     | 
    
         
            +
             * [+:limit+]
         
     | 
| 
      
 845 
     | 
    
         
            +
             *   該当する範囲のレコードのうち、_:limit_件のみを取り出す。
         
     | 
| 
      
 846 
     | 
    
         
            +
             *   省略された場合または-1が指定された場合は、全件が指定され
         
     | 
| 
      
 847 
     | 
    
         
            +
             *   たものとみなす。
         
     | 
| 
      
 848 
     | 
    
         
            +
             *
         
     | 
| 
      
 849 
     | 
    
         
            +
             * [+:greater_than+]
         
     | 
| 
      
 850 
     | 
    
         
            +
             *   +true+を指定すると_key_で指定した値に一致した[+key+]を
         
     | 
| 
      
 851 
     | 
    
         
            +
             *   範囲に含まない。
         
     | 
| 
      
 852 
     | 
    
         
            +
             *
         
     | 
| 
      
 853 
     | 
    
         
            +
             * [+:less_than+]
         
     | 
| 
      
 854 
     | 
    
         
            +
             *   +true+を指定すると_key_で指定した値に一致した[+key+]を
         
     | 
| 
      
 855 
     | 
    
         
            +
             *   範囲に含まない。
         
     | 
| 
      
 856 
     | 
    
         
            +
             */
         
     | 
| 
      
 857 
     | 
    
         
            +
            static VALUE
         
     | 
| 
      
 858 
     | 
    
         
            +
            rb_grn_patricia_trie_open_near_cursor (int argc, VALUE *argv, VALUE self)
         
     | 
| 
      
 859 
     | 
    
         
            +
            {
         
     | 
| 
      
 860 
     | 
    
         
            +
                grn_ctx *context = NULL;
         
     | 
| 
      
 861 
     | 
    
         
            +
                grn_table_cursor *cursor;
         
     | 
| 
      
 862 
     | 
    
         
            +
                VALUE rb_cursor;
         
     | 
| 
      
 863 
     | 
    
         
            +
             
     | 
| 
      
 864 
     | 
    
         
            +
                cursor = rb_grn_patricia_trie_open_grn_near_cursor(argc, argv,
         
     | 
| 
      
 865 
     | 
    
         
            +
            								self, &context, GRN_CURSOR_RK);
         
     | 
| 
      
 866 
     | 
    
         
            +
                rb_cursor = GRNTABLECURSOR2RVAL(Qnil, context, cursor);
         
     | 
| 
      
 867 
     | 
    
         
            +
                rb_iv_set(rb_cursor, "@table", self); /* FIXME: cursor should mark table */
         
     | 
| 
      
 868 
     | 
    
         
            +
                if (rb_block_given_p())
         
     | 
| 
      
 869 
     | 
    
         
            +
            	return rb_ensure(rb_yield, rb_cursor, rb_grn_object_close, rb_cursor);
         
     | 
| 
      
 870 
     | 
    
         
            +
                else
         
     | 
| 
      
 871 
     | 
    
         
            +
            	return rb_cursor;
         
     | 
| 
      
 872 
     | 
    
         
            +
            }
         
     | 
| 
      
 873 
     | 
    
         
            +
             
     | 
| 
       491 
874 
     | 
    
         
             
            void
         
     | 
| 
       492 
875 
     | 
    
         
             
            rb_grn_init_patricia_trie (VALUE mGrn)
         
     | 
| 
       493 
876 
     | 
    
         
             
            {
         
     | 
| 
         @@ -507,4 +890,14 @@ rb_grn_init_patricia_trie (VALUE mGrn) 
     | 
|
| 
       507 
890 
     | 
    
         | 
| 
       508 
891 
     | 
    
         
             
                rb_define_method(rb_cGrnPatriciaTrie, "register_key_with_sis?",
         
     | 
| 
       509 
892 
     | 
    
         
             
            		     rb_grn_patricia_trie_register_key_with_sis_p, 0);
         
     | 
| 
      
 893 
     | 
    
         
            +
             
     | 
| 
      
 894 
     | 
    
         
            +
                rb_define_method(rb_cGrnPatriciaTrie, "open_prefix_cursor",
         
     | 
| 
      
 895 
     | 
    
         
            +
            		     rb_grn_patricia_trie_open_prefix_cursor,
         
     | 
| 
      
 896 
     | 
    
         
            +
            		     -1);
         
     | 
| 
      
 897 
     | 
    
         
            +
                rb_define_method(rb_cGrnPatriciaTrie, "open_rk_cursor",
         
     | 
| 
      
 898 
     | 
    
         
            +
            		     rb_grn_patricia_trie_open_rk_cursor,
         
     | 
| 
      
 899 
     | 
    
         
            +
            		     -1);
         
     | 
| 
      
 900 
     | 
    
         
            +
                rb_define_method(rb_cGrnPatriciaTrie, "open_near_cursor",
         
     | 
| 
      
 901 
     | 
    
         
            +
            		     rb_grn_patricia_trie_open_near_cursor,
         
     | 
| 
      
 902 
     | 
    
         
            +
            		     -1);
         
     | 
| 
       510 
903 
     | 
    
         
             
            }
         
     |