rroonga 1.2.7-x86-mingw32 → 1.3.0-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +1 -0
- data/Rakefile +1 -0
- data/bin/grntest-log-analyze +123 -0
- data/bin/groonga-query-log-extract +117 -0
- data/ext/groonga/rb-grn-accessor.c +7 -5
- data/ext/groonga/rb-grn-array-cursor.c +1 -1
- data/ext/groonga/rb-grn-array.c +34 -44
- data/ext/groonga/rb-grn-column.c +74 -38
- data/ext/groonga/rb-grn-context.c +41 -16
- data/ext/groonga/rb-grn-database.c +50 -43
- data/ext/groonga/rb-grn-double-array-trie-cursor.c +40 -0
- data/ext/groonga/rb-grn-double-array-trie.c +530 -0
- data/ext/groonga/rb-grn-encoding-support.c +1 -1
- data/ext/groonga/rb-grn-encoding.c +1 -1
- data/ext/groonga/rb-grn-exception.c +1 -1
- data/ext/groonga/rb-grn-expression-builder.c +1 -1
- data/ext/groonga/rb-grn-expression.c +63 -51
- data/ext/groonga/rb-grn-fix-size-column.c +7 -7
- data/ext/groonga/rb-grn-hash-cursor.c +1 -1
- data/ext/groonga/rb-grn-hash.c +42 -39
- data/ext/groonga/rb-grn-index-column.c +35 -31
- data/ext/groonga/rb-grn-index-cursor.c +1 -1
- data/ext/groonga/rb-grn-logger.c +23 -18
- data/ext/groonga/rb-grn-object.c +69 -40
- data/ext/groonga/rb-grn-operator.c +1 -1
- data/ext/groonga/rb-grn-patricia-trie-cursor.c +1 -1
- data/ext/groonga/rb-grn-patricia-trie.c +122 -90
- data/ext/groonga/rb-grn-plugin.c +8 -7
- data/ext/groonga/rb-grn-posting.c +1 -1
- data/ext/groonga/rb-grn-procedure.c +1 -1
- data/ext/groonga/rb-grn-query.c +12 -12
- data/ext/groonga/rb-grn-record.c +1 -1
- data/ext/groonga/rb-grn-snippet.c +26 -19
- data/ext/groonga/rb-grn-table-cursor-key-support.c +1 -1
- data/ext/groonga/rb-grn-table-cursor.c +4 -3
- data/ext/groonga/rb-grn-table-key-support.c +23 -23
- data/ext/groonga/rb-grn-table.c +280 -149
- data/ext/groonga/rb-grn-type.c +11 -7
- data/ext/groonga/rb-grn-utils.c +81 -9
- data/ext/groonga/rb-grn-variable-size-column.c +1 -1
- data/ext/groonga/rb-grn-variable.c +2 -2
- data/ext/groonga/rb-grn-view-accessor.c +1 -1
- data/ext/groonga/rb-grn-view-cursor.c +1 -1
- data/ext/groonga/rb-grn-view-record.c +1 -1
- data/ext/groonga/rb-grn-view.c +43 -34
- data/ext/groonga/rb-grn.h +10 -2
- data/ext/groonga/rb-groonga.c +1 -1
- data/lib/1.8/groonga.so +0 -0
- data/lib/1.9/groonga.so +0 -0
- data/lib/groonga/context.rb +16 -41
- data/lib/groonga/dumper.rb +41 -10
- data/lib/groonga/expression-builder-19.rb +40 -0
- data/lib/groonga/expression-builder.rb +56 -26
- data/lib/groonga/grntest-log.rb +206 -0
- data/lib/groonga/pagination.rb +21 -19
- data/lib/groonga/patricia-trie.rb +7 -10
- data/lib/groonga/posting.rb +1 -1
- data/lib/groonga/query-log.rb +348 -0
- data/lib/groonga/record.rb +47 -143
- data/lib/groonga/schema.rb +679 -406
- data/lib/groonga/view-record.rb +4 -10
- data/lib/groonga.rb +4 -2
- data/rroonga-build.rb +1 -1
- data/test/groonga-test-utils.rb +8 -0
- data/test/test-array.rb +25 -4
- data/test/test-column.rb +8 -8
- data/test/test-database.rb +2 -3
- data/test/test-double-array-trie.rb +164 -0
- data/test/test-expression-builder.rb +2 -2
- data/test/test-expression.rb +10 -9
- data/test/test-gqtp.rb +2 -2
- data/test/test-hash.rb +32 -8
- data/test/test-patricia-trie.rb +34 -10
- data/test/test-query-log.rb +258 -0
- data/test/test-record.rb +6 -5
- data/test/test-schema-create-table.rb +8 -0
- data/test/test-schema-dumper.rb +6 -0
- data/test/test-schema.rb +491 -234
- data/test/test-table-select.rb +9 -0
- data/test/test-table.rb +17 -24
- data/vendor/local/bin/grntest.exe +0 -0
- data/vendor/local/bin/groonga-query-log-analyzer +22 -17
- data/vendor/local/bin/groonga.exe +0 -0
- data/vendor/local/bin/libgroonga-0.dll +0 -0
- data/vendor/local/bin/libmecab-1.dll +0 -0
- data/vendor/local/bin/mecab-config +2 -2
- data/vendor/local/bin/mecab.exe +0 -0
- data/vendor/local/include/groonga/groonga.h +251 -5
- data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
- data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
- data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/suggest/suggest.la +2 -2
- data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
- data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
- data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +2 -2
- data/vendor/local/lib/libgroonga.a +0 -0
- data/vendor/local/lib/libgroonga.dll.a +0 -0
- data/vendor/local/lib/libgroonga.la +1 -1
- data/vendor/local/lib/libmecab.a +0 -0
- data/vendor/local/lib/libmecab.dll.a +0 -0
- data/vendor/local/lib/libmecab.la +1 -1
- data/vendor/local/lib/pkgconfig/groonga.pc +3 -2
- data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
- data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
- data/vendor/local/share/doc/groonga/en/html/_images/geo-points.png +0 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/characteristic.txt +32 -31
- data/vendor/local/share/doc/groonga/en/html/_sources/commands/select.txt +7 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/contribution/documentation/i18n.txt +6 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/executables/grntest.txt +6 -6
- data/vendor/local/share/doc/groonga/en/html/_sources/geolocation_search.txt +52 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/index.txt +1 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/install.txt +31 -40
- data/vendor/local/share/doc/groonga/en/html/_sources/news/senna.txt +109 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +118 -0
- data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial03.txt → en/html/_sources/tutorial/data.txt} +5 -5
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/{tutorial05.txt → drilldown.txt} +8 -7
- data/vendor/local/share/doc/groonga/{source/tutorial/tutorial06.txt → en/html/_sources/tutorial/index.txt} +8 -8
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/introduction.txt +297 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/{tutorial09.txt → lexicon.txt} +0 -0
- data/vendor/local/share/doc/groonga/{source/tutorial/tutorial07.txt → en/html/_sources/tutorial/match_columns.txt} +4 -4
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/{tutorial10.txt → micro_blog.txt} +17 -17
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/network.txt +103 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/{tutorial08.txt → patricia_trie.txt} +4 -4
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/query_expansion.txt +57 -0
- data/vendor/local/share/doc/groonga/{source/tutorial/tutorial04.txt → en/html/_sources/tutorial/search.txt} +17 -12
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial.txt +11 -2
- data/vendor/local/share/doc/groonga/en/html/_static/groonga.css +9 -0
- data/vendor/local/share/doc/groonga/en/html/characteristic.html +46 -46
- data/vendor/local/share/doc/groonga/en/html/command_version.html +30 -30
- data/vendor/local/share/doc/groonga/en/html/commands/cache_limit.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/check.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/clearlock.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/column_create.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/column_list.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/column_remove.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/define_selector.html +36 -36
- data/vendor/local/share/doc/groonga/en/html/commands/defrag.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/delete.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/dump.html +32 -32
- data/vendor/local/share/doc/groonga/en/html/commands/load.html +36 -36
- data/vendor/local/share/doc/groonga/en/html/commands/log_level.html +36 -36
- data/vendor/local/share/doc/groonga/en/html/commands/log_put.html +36 -36
- data/vendor/local/share/doc/groonga/en/html/commands/log_reopen.html +38 -38
- data/vendor/local/share/doc/groonga/en/html/commands/quit.html +32 -32
- data/vendor/local/share/doc/groonga/en/html/commands/select.html +44 -39
- data/vendor/local/share/doc/groonga/en/html/commands/shutdown.html +32 -32
- data/vendor/local/share/doc/groonga/en/html/commands/status.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/suggest.html +47 -47
- data/vendor/local/share/doc/groonga/en/html/commands/table_create.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/table_list.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/table_remove.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/view_add.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands.html +41 -41
- data/vendor/local/share/doc/groonga/en/html/community.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/contribution/development/document.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/contribution/development.html +8 -8
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +13 -7
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +8 -8
- data/vendor/local/share/doc/groonga/en/html/contribution/report.html +12 -12
- data/vendor/local/share/doc/groonga/en/html/contribution.html +10 -10
- data/vendor/local/share/doc/groonga/en/html/executables/grnslap.html +32 -32
- data/vendor/local/share/doc/groonga/en/html/executables/grntest.html +55 -55
- data/vendor/local/share/doc/groonga/en/html/executables/groonga-http.html +30 -30
- data/vendor/local/share/doc/groonga/en/html/executables/groonga-suggest-create-dataset.html +36 -36
- data/vendor/local/share/doc/groonga/en/html/executables/groonga.html +36 -36
- data/vendor/local/share/doc/groonga/en/html/executables.html +22 -22
- data/vendor/local/share/doc/groonga/en/html/expr.html +26 -26
- data/vendor/local/share/doc/groonga/en/html/functions/edit_distance.html +32 -32
- data/vendor/local/share/doc/groonga/en/html/functions/geo_distance.html +32 -32
- data/vendor/local/share/doc/groonga/en/html/functions/geo_in_circle.html +32 -32
- data/vendor/local/share/doc/groonga/en/html/functions/geo_in_rectangle.html +32 -32
- data/vendor/local/share/doc/groonga/en/html/functions/now.html +30 -30
- data/vendor/local/share/doc/groonga/en/html/functions/rand.html +32 -32
- data/vendor/local/share/doc/groonga/en/html/functions.html +23 -23
- data/vendor/local/share/doc/groonga/en/html/genindex.html +17 -17
- data/vendor/local/share/doc/groonga/en/html/geolocation_search.html +176 -0
- data/vendor/local/share/doc/groonga/en/html/index.html +149 -138
- data/vendor/local/share/doc/groonga/en/html/install.html +57 -65
- data/vendor/local/share/doc/groonga/en/html/limitations.html +17 -17
- data/vendor/local/share/doc/groonga/en/html/log.html +26 -26
- data/vendor/local/share/doc/groonga/en/html/news/0.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/senna.html +281 -0
- data/vendor/local/share/doc/groonga/en/html/news.html +219 -65
- data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
- data/vendor/local/share/doc/groonga/en/html/pseudo_column.html +22 -22
- data/vendor/local/share/doc/groonga/en/html/reference.html +69 -69
- data/vendor/local/share/doc/groonga/en/html/search.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
- data/vendor/local/share/doc/groonga/en/html/spec/search.html +28 -28
- data/vendor/local/share/doc/groonga/en/html/spec.html +15 -15
- data/vendor/local/share/doc/groonga/en/html/suggest/completion.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/suggest/correction.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/suggest/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/suggest/suggestion.html +12 -12
- data/vendor/local/share/doc/groonga/en/html/suggest/tutorial.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/suggest.html +10 -10
- data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +26 -26
- data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +19 -19
- data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial03.html → data.html} +32 -32
- data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial05.html → drilldown.html} +31 -31
- data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial06.html → index.html} +44 -44
- data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +438 -0
- data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial09.html → lexicon.html} +16 -16
- data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial07.html → match_columns.html} +39 -39
- data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial10.html → micro_blog.html} +43 -43
- data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +236 -0
- data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial08.html → patricia_trie.html} +27 -27
- data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +197 -0
- data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial04.html → search.html} +41 -35
- data/vendor/local/share/doc/groonga/en/html/tutorial.html +60 -55
- data/vendor/local/share/doc/groonga/en/html/type.html +30 -30
- data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
- data/vendor/local/share/doc/groonga/ja/html/_images/geo-points.png +0 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/characteristic.txt +32 -31
- data/vendor/local/share/doc/groonga/ja/html/_sources/commands/select.txt +7 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/documentation/i18n.txt +6 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/executables/grntest.txt +6 -6
- data/vendor/local/share/doc/groonga/ja/html/_sources/geolocation_search.txt +52 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/index.txt +1 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/install.txt +31 -40
- data/vendor/local/share/doc/groonga/ja/html/_sources/news/senna.txt +109 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +118 -0
- data/vendor/local/share/doc/groonga/{en/html/_sources/tutorial/tutorial03.txt → ja/html/_sources/tutorial/data.txt} +5 -5
- data/vendor/local/share/doc/groonga/{source/tutorial/tutorial05.txt → ja/html/_sources/tutorial/drilldown.txt} +8 -7
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/{tutorial06.txt → index.txt} +8 -8
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/introduction.txt +297 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/{tutorial09.txt → lexicon.txt} +0 -0
- data/vendor/local/share/doc/groonga/{en/html/_sources/tutorial/tutorial07.txt → ja/html/_sources/tutorial/match_columns.txt} +4 -4
- data/vendor/local/share/doc/groonga/{source/tutorial/tutorial10.txt → ja/html/_sources/tutorial/micro_blog.txt} +17 -17
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/network.txt +103 -0
- data/vendor/local/share/doc/groonga/{source/tutorial/tutorial08.txt → ja/html/_sources/tutorial/patricia_trie.txt} +4 -4
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/query_expansion.txt +57 -0
- data/vendor/local/share/doc/groonga/{en/html/_sources/tutorial/tutorial04.txt → ja/html/_sources/tutorial/search.txt} +17 -12
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial.txt +11 -2
- data/vendor/local/share/doc/groonga/ja/html/_static/groonga.css +9 -0
- data/vendor/local/share/doc/groonga/ja/html/characteristic.html +32 -32
- data/vendor/local/share/doc/groonga/ja/html/command_version.html +30 -30
- data/vendor/local/share/doc/groonga/ja/html/commands/cache_limit.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/check.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/clearlock.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/column_create.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/column_list.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/column_remove.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/define_selector.html +36 -36
- data/vendor/local/share/doc/groonga/ja/html/commands/defrag.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/delete.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/dump.html +32 -32
- data/vendor/local/share/doc/groonga/ja/html/commands/load.html +36 -36
- data/vendor/local/share/doc/groonga/ja/html/commands/log_level.html +36 -36
- data/vendor/local/share/doc/groonga/ja/html/commands/log_put.html +36 -36
- data/vendor/local/share/doc/groonga/ja/html/commands/log_reopen.html +38 -38
- data/vendor/local/share/doc/groonga/ja/html/commands/quit.html +32 -32
- data/vendor/local/share/doc/groonga/ja/html/commands/select.html +44 -39
- data/vendor/local/share/doc/groonga/ja/html/commands/shutdown.html +32 -32
- data/vendor/local/share/doc/groonga/ja/html/commands/status.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/suggest.html +47 -47
- data/vendor/local/share/doc/groonga/ja/html/commands/table_create.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/table_list.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/table_remove.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/view_add.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands.html +41 -41
- data/vendor/local/share/doc/groonga/ja/html/community.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/document.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +13 -8
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +12 -12
- data/vendor/local/share/doc/groonga/ja/html/contribution.html +10 -10
- data/vendor/local/share/doc/groonga/ja/html/executables/grnslap.html +32 -32
- data/vendor/local/share/doc/groonga/ja/html/executables/grntest.html +55 -55
- data/vendor/local/share/doc/groonga/ja/html/executables/groonga-http.html +30 -30
- data/vendor/local/share/doc/groonga/ja/html/executables/groonga-suggest-create-dataset.html +36 -36
- data/vendor/local/share/doc/groonga/ja/html/executables/groonga.html +36 -36
- data/vendor/local/share/doc/groonga/ja/html/executables.html +22 -22
- data/vendor/local/share/doc/groonga/ja/html/expr.html +26 -26
- data/vendor/local/share/doc/groonga/ja/html/functions/edit_distance.html +32 -32
- data/vendor/local/share/doc/groonga/ja/html/functions/geo_distance.html +32 -32
- data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_circle.html +32 -32
- data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_rectangle.html +32 -32
- data/vendor/local/share/doc/groonga/ja/html/functions/now.html +30 -30
- data/vendor/local/share/doc/groonga/ja/html/functions/rand.html +32 -32
- data/vendor/local/share/doc/groonga/ja/html/functions.html +23 -23
- data/vendor/local/share/doc/groonga/ja/html/genindex.html +17 -17
- data/vendor/local/share/doc/groonga/ja/html/geolocation_search.html +165 -0
- data/vendor/local/share/doc/groonga/ja/html/index.html +144 -133
- data/vendor/local/share/doc/groonga/ja/html/install.html +52 -65
- data/vendor/local/share/doc/groonga/ja/html/limitations.html +17 -17
- data/vendor/local/share/doc/groonga/ja/html/log.html +26 -26
- data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/senna.html +282 -0
- data/vendor/local/share/doc/groonga/ja/html/news.html +203 -63
- data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
- data/vendor/local/share/doc/groonga/ja/html/pseudo_column.html +22 -22
- data/vendor/local/share/doc/groonga/ja/html/reference.html +69 -69
- data/vendor/local/share/doc/groonga/ja/html/search.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
- data/vendor/local/share/doc/groonga/ja/html/spec/search.html +28 -28
- data/vendor/local/share/doc/groonga/ja/html/spec.html +15 -15
- data/vendor/local/share/doc/groonga/ja/html/suggest/completion.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/suggest/correction.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/suggest/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/suggest/suggestion.html +12 -12
- data/vendor/local/share/doc/groonga/ja/html/suggest/tutorial.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/suggest.html +10 -10
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +26 -26
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +19 -19
- data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial03.html → data.html} +31 -31
- data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial05.html → drilldown.html} +31 -31
- data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial06.html → index.html} +44 -44
- data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial01.html → introduction.html} +140 -129
- data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial09.html → lexicon.html} +16 -16
- data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial07.html → match_columns.html} +39 -39
- data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial10.html → micro_blog.html} +43 -43
- data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial02.html → network.html} +56 -58
- data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial08.html → patricia_trie.html} +27 -27
- data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +198 -0
- data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial04.html → search.html} +41 -35
- data/vendor/local/share/doc/groonga/ja/html/tutorial.html +59 -54
- data/vendor/local/share/doc/groonga/ja/html/type.html +30 -30
- data/vendor/local/share/doc/groonga/source/characteristic.txt +32 -31
- data/vendor/local/share/doc/groonga/source/commands/select.txt +7 -1
- data/vendor/local/share/doc/groonga/source/commands/suggest-completion.log +5 -0
- data/vendor/local/share/doc/groonga/source/commands/suggest-correction.log +5 -0
- data/vendor/local/share/doc/groonga/source/commands/suggest-learn-completion.log +13 -0
- data/vendor/local/share/doc/groonga/source/commands/suggest-learn-correction.log +15 -0
- data/vendor/local/share/doc/groonga/source/commands/suggest-learn-suggestion.log +9 -0
- data/vendor/local/share/doc/groonga/source/commands/suggest-mixed.log +5 -0
- data/vendor/local/share/doc/groonga/source/commands/suggest-suggestion.log +5 -0
- data/vendor/local/share/doc/groonga/source/conf.py +1 -1
- data/vendor/local/share/doc/groonga/source/contribution/documentation/i18n.txt +6 -0
- data/vendor/local/share/doc/groonga/source/example/completion-1.log +2 -2
- data/vendor/local/share/doc/groonga/source/example/correction-1.log +2 -2
- data/vendor/local/share/doc/groonga/source/example/suggestion-1.log +2 -2
- data/vendor/local/share/doc/groonga/source/example/{tutorial03-1.log → tutorial/data-1.log} +0 -0
- data/vendor/local/share/doc/groonga/source/example/{tutorial03-2.log → tutorial/data-2.log} +0 -0
- data/vendor/local/share/doc/groonga/source/example/{tutorial03-3.log → tutorial/data-3.log} +0 -0
- data/vendor/local/share/doc/groonga/source/example/{tutorial05-1.log → tutorial/drilldown-1.log} +6 -6
- data/vendor/local/share/doc/groonga/source/example/tutorial/drilldown-2.log +5 -0
- data/vendor/local/share/doc/groonga/source/example/{tutorial05-3.log → tutorial/drilldown-3.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/drilldown-4.log +5 -0
- data/vendor/local/share/doc/groonga/source/example/{tutorial05-5.log → tutorial/drilldown-5.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/{tutorial05-6.log → tutorial/drilldown-6.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/index-1.log +25 -0
- data/vendor/local/share/doc/groonga/source/example/{tutorial06-2.log → tutorial/index-2.log} +4 -4
- data/vendor/local/share/doc/groonga/source/example/tutorial/index-3.log +21 -0
- data/vendor/local/share/doc/groonga/source/example/{tutorial06-4.log → tutorial/index-4.log} +3 -3
- data/vendor/local/share/doc/groonga/source/example/{tutorial06-5.log → tutorial/index-5.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/{tutorial06-6.log → tutorial/index-6.log} +5 -5
- data/vendor/local/share/doc/groonga/source/example/{tutorial06-7.log → tutorial/index-7.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-1.log +18 -0
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-10.log +5 -0
- data/vendor/local/share/doc/groonga/source/example/{tutorial01-11.log → tutorial/introduction-11.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/{tutorial01-12.log → tutorial/introduction-12.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-13.log +5 -0
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-14.log +9 -0
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-15.log +5 -0
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-16.log +5 -0
- data/vendor/local/share/doc/groonga/source/example/{tutorial01-17.log → tutorial/introduction-17.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-2.log +10 -0
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-3.log +10 -0
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-4.log +7 -0
- data/vendor/local/share/doc/groonga/source/example/{tutorial01-5.log → tutorial/introduction-5.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/{tutorial01-6.log → tutorial/introduction-6.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/{tutorial01-7.log → tutorial/introduction-7.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/{tutorial01-8.log → tutorial/introduction-8.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-9.log +5 -0
- data/vendor/local/share/doc/groonga/source/example/{tutorial07-1.log → tutorial/match_columns-1.log} +8 -8
- data/vendor/local/share/doc/groonga/source/example/{tutorial07-2.log → tutorial/match_columns-2.log} +4 -4
- data/vendor/local/share/doc/groonga/source/example/{tutorial07-3.log → tutorial/match_columns-3.log} +7 -7
- data/vendor/local/share/doc/groonga/source/example/{tutorial07-4.log → tutorial/match_columns-4.log} +4 -4
- data/vendor/local/share/doc/groonga/source/example/{tutorial10-1.log → tutorial/micro_blog-1.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/{tutorial10-10.log → tutorial/micro_blog-10.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/{tutorial10-2.log → tutorial/micro_blog-2.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/{tutorial10-3.log → tutorial/micro_blog-3.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/{tutorial10-4.log → tutorial/micro_blog-4.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/{tutorial10-5.log → tutorial/micro_blog-5.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-6.log +5 -0
- data/vendor/local/share/doc/groonga/source/example/{tutorial10-7.log → tutorial/micro_blog-7.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/{tutorial10-8.log → tutorial/micro_blog-8.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/{tutorial10-9.log → tutorial/micro_blog-9.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/network-1.log +8 -0
- data/vendor/local/share/doc/groonga/source/example/{tutorial02-2.log → tutorial/network-2.log} +1 -1
- data/vendor/local/share/doc/groonga/source/example/{tutorial02-3.log → tutorial/network-3.log} +3 -3
- data/vendor/local/share/doc/groonga/source/example/{tutorial08-1.log → tutorial/patricia_trie-1.log} +4 -4
- data/vendor/local/share/doc/groonga/source/example/{tutorial08-2.log → tutorial/patricia_trie-2.log} +6 -6
- data/vendor/local/share/doc/groonga/source/example/tutorial/query_expansion-1.log +27 -0
- data/vendor/local/share/doc/groonga/source/example/tutorial/query_expansion-2.log +7 -0
- data/vendor/local/share/doc/groonga/source/example/tutorial/query_expansion-3.log +7 -0
- data/vendor/local/share/doc/groonga/source/example/{tutorial04-1.log → tutorial/search-1.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/search-2.log +7 -0
- data/vendor/local/share/doc/groonga/source/example/tutorial/search-3.log +7 -0
- data/vendor/local/share/doc/groonga/source/example/{tutorial04-4.log → tutorial/search-4.log} +4 -4
- data/vendor/local/share/doc/groonga/source/example/{tutorial04-5.log → tutorial/search-5.log} +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/search-6.log +5 -0
- data/vendor/local/share/doc/groonga/source/example/{tutorial04-7.log → tutorial/search-7.log} +2 -2
- data/vendor/local/share/doc/groonga/source/executables/grntest.txt +6 -6
- data/vendor/local/share/doc/groonga/source/geolocation_search.txt +52 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/array.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/array.svg +188 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/columns.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/columns.svg +501 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/hash-table.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/hash-table.svg +275 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/index-column.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/index-column.svg +899 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/inverted-index.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/inverted-index.svg +249 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/patricia-trie.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/patricia-trie.svg +275 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/prefix-search.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/prefix-search.svg +743 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/record-id.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/record-id.svg +261 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/record.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/record.svg +228 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/scalar-column.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/scalar-column.svg +241 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram-index-column-value.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram-index-column-value.svg +879 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram-token-id.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram-token-id.svg +879 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram.svg +879 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-choose-tokenizer.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-choose-tokenizer.svg +602 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-first-index-column-value.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-first-index-column-value.svg +600 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-first-token-id.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-first-token-id.svg +600 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-initial-state.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-initial-state.svg +600 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-on-key-table.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-on-key-table.svg +917 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-result.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-result.svg +600 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-second-index-column-value.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-second-index-column-value.svg +600 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-second-token-id.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-second-token-id.svg +600 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/tokenizer.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/tokenizer.svg +561 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-initial.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-initial.svg +389 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-first-data-first-token.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-first-data-first-token.svg +469 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-first-data-second-token.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-first-data-second-token.svg +514 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-second-data-first-token.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-second-data-first-token.svg +595 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-second-data-second-token.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-second-data-second-token.svg +600 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-save-first-data.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-save-first-data.svg +424 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-save-second-data.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-save-second-data.svg +549 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/vector-column.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/vector-column.svg +241 -0
- data/vendor/local/share/doc/groonga/source/images/geo-encode-leading-2bit.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/geo-encode-leading-2bit.svg +203 -0
- data/vendor/local/share/doc/groonga/source/images/geo-encode-leading-4bit.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/geo-encode-leading-4bit.svg +264 -0
- data/vendor/local/share/doc/groonga/source/images/geo-in-rectangle.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/geo-points-distance.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/geo-points-distance.svg +317 -0
- data/vendor/local/share/doc/groonga/source/images/geo-points-in-circle.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/geo-points-in-circle.svg +306 -0
- data/vendor/local/share/doc/groonga/source/images/geo-points-in-rectangle.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/geo-points-in-rectangle.svg +304 -0
- data/vendor/local/share/doc/groonga/source/images/geo-points-sort.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/geo-points-sort.svg +383 -0
- data/vendor/local/share/doc/groonga/source/images/geo-points.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/geo-points.svg +296 -0
- data/vendor/local/share/doc/groonga/source/images/geo-search-in-circle.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/geo-search-in-circle.svg +287 -0
- data/vendor/local/share/doc/groonga/source/images/geo-search-in-rectangle.png +0 -0
- data/vendor/local/share/doc/groonga/source/images/geo-search-in-rectangle.svg +174 -0
- data/vendor/local/share/doc/groonga/source/index.txt +1 -0
- data/vendor/local/share/doc/groonga/source/install.txt +31 -40
- data/vendor/local/share/doc/groonga/source/news/senna.txt +109 -0
- data/vendor/local/share/doc/groonga/source/news.txt +118 -0
- data/vendor/local/share/doc/groonga/source/tutorial/{tutorial03.txt → data.txt} +5 -5
- data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial05.txt → source/tutorial/drilldown.txt} +8 -7
- data/vendor/local/share/doc/groonga/{en/html/_sources/tutorial/tutorial06.txt → source/tutorial/index.txt} +8 -8
- data/vendor/local/share/doc/groonga/source/tutorial/introduction.txt +297 -0
- data/vendor/local/share/doc/groonga/source/tutorial/{tutorial09.txt → lexicon.txt} +0 -0
- data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial07.txt → source/tutorial/match_columns.txt} +4 -4
- data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial10.txt → source/tutorial/micro_blog.txt} +17 -17
- data/vendor/local/share/doc/groonga/source/tutorial/network.txt +103 -0
- data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial08.txt → source/tutorial/patricia_trie.txt} +4 -4
- data/vendor/local/share/doc/groonga/source/tutorial/query_expansion.txt +57 -0
- data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial04.txt → source/tutorial/search.txt} +17 -12
- data/vendor/local/share/doc/groonga/source/tutorial.txt +11 -2
- data/vendor/local/share/man/ja/man1/groonga.1 +449 -772
- data/vendor/local/share/man/man1/groonga.1 +591 -875
- metadata +232 -124
- data/vendor/local/etc/groonga/init.d/redhat/groonga +0 -160
- data/vendor/local/etc/groonga/init.d/redhat/sysconfig/groonga +0 -8
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/tutorial01.txt +0 -296
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/tutorial02.txt +0 -102
- data/vendor/local/share/doc/groonga/en/html/tutorial/tutorial01.html +0 -409
- data/vendor/local/share/doc/groonga/en/html/tutorial/tutorial02.html +0 -235
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/tutorial01.txt +0 -296
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/tutorial02.txt +0 -102
- data/vendor/local/share/doc/groonga/source/example/tutorial01-1.log +0 -6
- data/vendor/local/share/doc/groonga/source/example/tutorial01-10.log +0 -5
- data/vendor/local/share/doc/groonga/source/example/tutorial01-13.log +0 -5
- data/vendor/local/share/doc/groonga/source/example/tutorial01-14.log +0 -9
- data/vendor/local/share/doc/groonga/source/example/tutorial01-15.log +0 -5
- data/vendor/local/share/doc/groonga/source/example/tutorial01-16.log +0 -5
- data/vendor/local/share/doc/groonga/source/example/tutorial01-2.log +0 -5
- data/vendor/local/share/doc/groonga/source/example/tutorial01-3.log +0 -5
- data/vendor/local/share/doc/groonga/source/example/tutorial01-4.log +0 -7
- data/vendor/local/share/doc/groonga/source/example/tutorial01-9.log +0 -5
- data/vendor/local/share/doc/groonga/source/example/tutorial02-1.log +0 -8
- data/vendor/local/share/doc/groonga/source/example/tutorial04-2.log +0 -7
- data/vendor/local/share/doc/groonga/source/example/tutorial04-3.log +0 -7
- data/vendor/local/share/doc/groonga/source/example/tutorial04-6.log +0 -5
- data/vendor/local/share/doc/groonga/source/example/tutorial05-2.log +0 -5
- data/vendor/local/share/doc/groonga/source/example/tutorial05-4.log +0 -5
- data/vendor/local/share/doc/groonga/source/example/tutorial06-1.log +0 -25
- data/vendor/local/share/doc/groonga/source/example/tutorial06-3.log +0 -21
- data/vendor/local/share/doc/groonga/source/example/tutorial10-6.log +0 -5
- data/vendor/local/share/doc/groonga/source/tutorial/tutorial01.txt +0 -296
- data/vendor/local/share/doc/groonga/source/tutorial/tutorial02.txt +0 -102
- data/vendor/local/share/groonga/munin/plugins/groonga_cpu_load +0 -47
- data/vendor/local/share/groonga/munin/plugins/groonga_cpu_time +0 -57
- data/vendor/local/share/groonga/munin/plugins/groonga_disk +0 -162
- data/vendor/local/share/groonga/munin/plugins/groonga_memory +0 -51
- data/vendor/local/share/groonga/munin/plugins/groonga_n_records +0 -110
- data/vendor/local/share/groonga/munin/plugins/groonga_query_performance +0 -133
- data/vendor/local/share/groonga/munin/plugins/groonga_status +0 -84
data/lib/groonga/schema.rb
CHANGED
@@ -24,9 +24,9 @@ module Groonga
|
|
24
24
|
# Groonga::Schemaを使うことにより簡単にテーブルやカラムを
|
25
25
|
# 追加・削除することができる。
|
26
26
|
#
|
27
|
-
# http://qwik.jp/senna/senna2.files/rect4605.png
|
28
|
-
# のようなスキーマを定義する場合は以下のようになる。
|
27
|
+
# !http://qwik.jp/senna/senna2.files/rect4605.png!
|
29
28
|
#
|
29
|
+
# @example 上図のようなスキーマを定義する場合は以下のようになる。
|
30
30
|
# Groonga::Schema.define do |schema|
|
31
31
|
# schema.create_table("Items") do |table|
|
32
32
|
# table.short_text("title")
|
@@ -148,192 +148,252 @@ module Groonga
|
|
148
148
|
|
149
149
|
class << self
|
150
150
|
|
151
|
-
# call-seq:
|
152
|
-
# Groonga::Schema.define(options={}) {|schema| ...}
|
153
|
-
#
|
154
151
|
# スキーマを定義する。ブロックにはGroonga::Schemaオブ
|
155
152
|
# ジェクトがわたるので、そのオブジェクトを利用してスキー
|
156
153
|
# マを定義する。以下の省略形。
|
157
|
-
#
|
154
|
+
# <pre>
|
158
155
|
# schema = Groonga::Scheme.new(options)
|
159
|
-
#
|
156
|
+
# ==...==
|
160
157
|
# schema.define
|
158
|
+
# </pre>
|
159
|
+
# @param [::Hash] options The name and value
|
160
|
+
# pairs. Omitted names are initialized as the default value.
|
161
|
+
# @option options [Groonga::Context] :content (Groonga::Context.default) The context
|
161
162
|
#
|
162
|
-
# _options_に指定可能な値は以下の通り。
|
163
|
-
#
|
164
|
-
# [+:context+]
|
165
163
|
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
166
|
-
# 省略した場合はGroonga::Context.defaultを使用する。
|
167
164
|
def define(options={})
|
168
165
|
schema = new(options)
|
169
166
|
yield(schema)
|
170
167
|
schema.define
|
171
168
|
end
|
172
169
|
|
173
|
-
#
|
174
|
-
#
|
175
|
-
#
|
176
|
-
#
|
177
|
-
#
|
178
|
-
#
|
179
|
-
# schema.create_table(name, options) do |table|
|
180
|
-
# ...
|
181
|
-
# end
|
182
|
-
# end
|
183
|
-
#
|
170
|
+
# @example 名前が _name_ のテーブルを作成する。以下の省略形。
|
171
|
+
# Groonga::Schema.define do |schema|
|
172
|
+
# schema.create_table(name, options) do |table|
|
173
|
+
# ...
|
174
|
+
# end
|
175
|
+
# end
|
184
176
|
# ブロックにはGroonga::Schema::TableDefinitionオブジェ
|
185
177
|
# クトがわたるので、そのオブジェクトを利用してテーブル
|
186
178
|
# の詳細を定義する。
|
187
179
|
#
|
188
|
-
# _options_に指定可能な値は以下の通り。
|
189
|
-
#
|
190
|
-
# [
|
191
|
-
#
|
192
|
-
#
|
193
|
-
#
|
194
|
-
#
|
195
|
-
#
|
196
|
-
#
|
197
|
-
#
|
198
|
-
#
|
199
|
-
#
|
200
|
-
#
|
201
|
-
#
|
202
|
-
#
|
203
|
-
#
|
204
|
-
#
|
205
|
-
#
|
206
|
-
#
|
207
|
-
#
|
208
|
-
#
|
209
|
-
#
|
210
|
-
#
|
211
|
-
#
|
212
|
-
#
|
213
|
-
#
|
214
|
-
#
|
215
|
-
#
|
216
|
-
#
|
217
|
-
#
|
218
|
-
#
|
219
|
-
#
|
220
|
-
#
|
221
|
-
#
|
222
|
-
#
|
223
|
-
#
|
224
|
-
# [
|
225
|
-
#
|
226
|
-
#
|
227
|
-
#
|
228
|
-
#
|
229
|
-
#
|
230
|
-
#
|
231
|
-
#
|
232
|
-
#
|
233
|
-
#
|
234
|
-
#
|
235
|
-
#
|
236
|
-
#
|
237
|
-
#
|
238
|
-
#
|
239
|
-
#
|
240
|
-
#
|
241
|
-
#
|
242
|
-
#
|
243
|
-
#
|
244
|
-
#
|
245
|
-
#
|
246
|
-
#
|
247
|
-
#
|
248
|
-
#
|
249
|
-
#
|
250
|
-
#
|
251
|
-
#
|
252
|
-
#
|
253
|
-
#
|
254
|
-
#
|
255
|
-
#
|
256
|
-
#
|
257
|
-
#
|
258
|
-
#
|
259
|
-
#
|
260
|
-
#
|
180
|
+
# _options_ に指定可能な値は以下の通り。
|
181
|
+
# @overload create_table(name, options= {:type => :array}, &block)
|
182
|
+
# @param [::Hash] options The name and value
|
183
|
+
# pairs. Omitted names are initialized as the default value.
|
184
|
+
# @option options :force The force
|
185
|
+
#
|
186
|
+
# +true+ を指定すると既存の同名のテーブルが
|
187
|
+
# 存在していても、強制的にテーブルを作成する。
|
188
|
+
# @option options :type (:array) The type
|
189
|
+
#
|
190
|
+
# テーブルの型を指定する。
|
191
|
+
# +:array+ , +:hash+ , +:patricia_trie+ ,
|
192
|
+
# +:double_array_trie+ のいずれかを指定する。
|
193
|
+
# (:key_typeの項も参照)
|
194
|
+
# @option options [Groonga::Context] :context (Groonga::Context.default) The context
|
195
|
+
#
|
196
|
+
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
197
|
+
# @option options :path The path
|
198
|
+
#
|
199
|
+
# テーブルを保存するパスを指定する。
|
200
|
+
# パスを指定すると永続テーブルになる。
|
201
|
+
# @option options :persistent (true) The persistent
|
202
|
+
#
|
203
|
+
# テーブルを永続テーブルとする。 +:path+ を省略した場合は
|
204
|
+
# パス名は自動的に作成される。デフォルトでは永続テーブルとなる。
|
205
|
+
# @option options :value_type (nil) The value_type
|
206
|
+
#
|
207
|
+
# 値の型を指定する。省略すると値のための領域を確保しない。
|
208
|
+
# 値を保存したい場合は必ず指定すること。
|
209
|
+
# @option options :sub_records The sub_records
|
210
|
+
#
|
211
|
+
# +true+ を指定するとGroonga::Table#groupで
|
212
|
+
# グループ化したときに、Groonga::Record#n_sub_recordsでグループに
|
213
|
+
# 含まれるレコードの件数を取得できる。
|
214
|
+
#
|
215
|
+
# @overload create_table(name, options= {:type => :hash}, &block)
|
216
|
+
# @param [::Hash] options The name and value
|
217
|
+
# pairs. Omitted names are initialized as the default value.
|
218
|
+
# @option options :force The force
|
219
|
+
#
|
220
|
+
# +true+ を指定すると既存の同名のテーブルが
|
221
|
+
# 存在していても、強制的にテーブルを作成する。
|
222
|
+
# @option options :type (:array) The type
|
223
|
+
#
|
224
|
+
# テーブルの型を指定する。
|
225
|
+
# +:array+ , +:hash+ , +:patricia_trie+ ,
|
226
|
+
# +:double_array_trie+ のいずれかを指定する。
|
227
|
+
# (:key_typeの項も参照)
|
228
|
+
# @option options [Groonga::Context] :context (Groonga::Context.default) The context
|
229
|
+
#
|
230
|
+
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
231
|
+
# @option options :path The path
|
232
|
+
#
|
233
|
+
# テーブルを保存するパスを指定する。
|
234
|
+
# パスを指定すると永続テーブルになる。
|
235
|
+
# @option options :persistent (true) The persistent
|
236
|
+
#
|
237
|
+
# テーブルを永続テーブルとする。 +:path+ を省略した場合は
|
238
|
+
# パス名は自動的に作成される。デフォルトでは永続テーブルとなる。
|
239
|
+
# @option options :value_type (nil) The value_type
|
240
|
+
#
|
241
|
+
# 値の型を指定する。省略すると値のための領域を確保しない。
|
242
|
+
# 値を保存したい場合は必ず指定すること。
|
243
|
+
# @option options :sub_records The sub_records
|
244
|
+
#
|
245
|
+
# +true+ を指定するとGroonga::Table#groupで
|
246
|
+
# グループ化したときに、Groonga::Record#n_sub_recordsでグループに
|
247
|
+
# 含まれるレコードの件数を取得できる。
|
248
|
+
# @option options :key_type The key_type
|
249
|
+
#
|
250
|
+
# キーの種類を示すオブジェクトを指定する。
|
251
|
+
# キーの種類には型名("Int32"や"ShortText"など)またはGroonga::Type
|
252
|
+
# またはテーブル(Groonga::Array、Groonga::Hash、
|
253
|
+
# Groonga::PatriciaTrie、Groonga::DoubleArrayTrieの
|
254
|
+
# どれか)を指定する。Groonga::Typeを指定した場合は、その型が示す範囲の
|
255
|
+
# 値をキーとして使用する。ただし、キーの最大サイズは4096バイトで
|
256
|
+
# あるため、Groonga::Type::TEXTやGroonga::Type::LONG_TEXTは使用できない
|
257
|
+
# 。テーブルを指定した場合はレコードIDをキーとして使用する。
|
258
|
+
# 指定したテーブルのGroonga::Recordをキーとして使用することもでき、
|
259
|
+
# その場合は自動的にGroonga::RecordからレコードIDを取得する。
|
260
|
+
# 省略した場合は文字列をキーとして使用する。
|
261
|
+
# この場合、4096バイトまで使用可能である。
|
262
|
+
# @option options :default_tokenizer The default_tokenizer
|
263
|
+
#
|
264
|
+
# Groonga::IndexColumnで
|
265
|
+
# 使用するトークナイザを指定する。デフォルトでは
|
266
|
+
# 何も設定されていないので、テーブルに
|
267
|
+
# Groonga::IndexColumnを定義する場合は<tt>"TokenBigram"</tt>
|
268
|
+
# などを指定する必要がある。
|
269
|
+
# @option options :key_normalize The key_normalize
|
270
|
+
#
|
271
|
+
# +true+ を指定するとキーを正規化する。
|
272
|
+
#
|
273
|
+
# @overload create_table(name, options= {:type => :patricia_trie}, &block)
|
274
|
+
# @param [::Hash] options The name and value
|
275
|
+
# pairs. Omitted names are initialized as the default value.
|
276
|
+
# @option options :force The force
|
277
|
+
#
|
278
|
+
# +true+ を指定すると既存の同名のテーブルが
|
279
|
+
# 存在していても、強制的にテーブルを作成する。
|
280
|
+
# @option options :type (:array) The type
|
281
|
+
#
|
282
|
+
# テーブルの型を指定する。
|
283
|
+
# +:array+ , +:hash+ , +:patricia_trie+ ,
|
284
|
+
# +:double_array_trie+ のいずれかを指定する。
|
285
|
+
# (:key_typeの項も参照)
|
286
|
+
# @option options [Groonga::Context] :context (Groonga::Context.default) The context
|
287
|
+
#
|
288
|
+
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
289
|
+
# @option options :path The path
|
290
|
+
#
|
291
|
+
# テーブルを保存するパスを指定する。
|
292
|
+
# パスを指定すると永続テーブルになる。
|
293
|
+
# @option options :persistent (true) The persistent
|
294
|
+
#
|
295
|
+
# テーブルを永続テーブルとする。 +:path+ を省略した場合は
|
296
|
+
# パス名は自動的に作成される。デフォルトでは永続テーブルとなる。
|
297
|
+
# @option options :value_type (nil) The value_type
|
298
|
+
#
|
299
|
+
# 値の型を指定する。省略すると値のための領域を確保しない。
|
300
|
+
# 値を保存したい場合は必ず指定すること。
|
301
|
+
# @option options :sub_records The sub_records
|
302
|
+
#
|
303
|
+
# +true+ を指定するとGroonga::Table#groupで
|
304
|
+
# グループ化したときに、Groonga::Record#n_sub_recordsでグループに
|
305
|
+
# 含まれるレコードの件数を取得できる。
|
306
|
+
# @option options :key_normalize The key_normalize
|
307
|
+
#
|
308
|
+
# +true+ を指定するとキーを正規化する。
|
309
|
+
# @option options :key_with_sis The key_with_sis
|
310
|
+
#
|
311
|
+
# +true+ を指定するとキーの文字列の
|
312
|
+
# 全suffixが自動的に登録される。
|
261
313
|
def create_table(name, options={}, &block)
|
262
314
|
define do |schema|
|
263
315
|
schema.create_table(name, options, &block)
|
264
316
|
end
|
265
317
|
end
|
266
|
-
|
267
|
-
#
|
268
|
-
#
|
269
|
-
#
|
318
|
+
# 名前が _name_ のテーブルを削除する。
|
319
|
+
# @param options [::Hash] The name and value
|
320
|
+
# pairs. Omitted names are initialized as the default value.
|
321
|
+
# @option options :context (Groonga::Context.default)
|
270
322
|
#
|
271
|
-
# [+:context+]
|
272
323
|
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
273
|
-
# 省略した場合はGroonga::Context.defaultを使用する。
|
274
324
|
def remove_table(name, options={})
|
275
325
|
define do |schema|
|
276
326
|
schema.remove_table(name, options)
|
277
327
|
end
|
278
328
|
end
|
279
329
|
|
280
|
-
#
|
281
|
-
#
|
282
|
-
#
|
283
|
-
# 名前が_name_のテーブルを変更する。以下の省略形。
|
284
|
-
#
|
330
|
+
# 名前が _name_ のテーブルを変更する。以下の省略形。
|
331
|
+
# <pre>
|
285
332
|
# Groonga::Schema.define do |schema|
|
286
333
|
# schema.change_table(name, options) do |table|
|
287
|
-
#
|
334
|
+
# ==...==
|
288
335
|
# end
|
289
336
|
# end
|
337
|
+
# </pre>
|
290
338
|
#
|
291
339
|
# ブロックにはGroonga::Schema::TableDefinitionオブジェ
|
292
340
|
# クトがわたるので、そのオブジェクトを利用してテーブル
|
293
341
|
# の詳細を定義する。
|
294
342
|
#
|
295
|
-
#
|
343
|
+
# @param options [::Hash] The name and value
|
344
|
+
# pairs. Omitted names are initialized as the default value.
|
345
|
+
# @option options :context (Groonga::Context.default) The context
|
296
346
|
#
|
297
|
-
# [+:context+]
|
298
347
|
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
299
|
-
# 省略した場合はGroonga::Context.defaultを使用する。
|
300
348
|
def change_table(name, options={}, &block)
|
301
349
|
define do |schema|
|
302
350
|
schema.change_table(name, options, &block)
|
303
351
|
end
|
304
352
|
end
|
305
353
|
|
306
|
-
#
|
307
|
-
# Groonga::Schema.create_view(name, options={}) {|view| ...}
|
354
|
+
# (See Groonga::Schema#rename_table)
|
308
355
|
#
|
309
|
-
#
|
356
|
+
# This is a syntax sugar the following code:
|
310
357
|
#
|
358
|
+
# <pre>
|
359
|
+
# Groonga::Schema.define do |schema|
|
360
|
+
# schema.rename_table(current_name, new_name, options)
|
361
|
+
# end
|
362
|
+
# </pre>
|
363
|
+
def rename_table(current_name, new_name, options={})
|
364
|
+
define do |schema|
|
365
|
+
schema.rename_table(current_name, new_name, options)
|
366
|
+
end
|
367
|
+
end
|
368
|
+
|
369
|
+
# 名前が_name_のビューを作成する。以下の省略形。
|
370
|
+
# <pre>
|
311
371
|
# Groonga::Schema.define do |schema|
|
312
372
|
# schema.create_view(name, options) do |view|
|
313
|
-
#
|
373
|
+
# ==...==
|
314
374
|
# end
|
315
375
|
# end
|
316
|
-
#
|
376
|
+
# </pre>
|
317
377
|
# ブロックにはGroonga::Schema::ViewDefinitionオブジェ
|
318
378
|
# クトがわたるので、そのオブジェクトを利用してビュー
|
319
379
|
# の詳細を定義する。
|
320
380
|
#
|
321
|
-
#
|
381
|
+
# @param options [::Hash] The name and value
|
382
|
+
# pairs. Omitted names are initialized as the default value.
|
383
|
+
# @option options :force The force
|
322
384
|
#
|
323
|
-
#
|
324
|
-
#
|
325
|
-
#
|
385
|
+
# +true+ を指定すると既存の同名のビューが
|
386
|
+
# 存在していても、強制的にビューを作成する。
|
387
|
+
# @option options :context (Groonga::Context.default) The context
|
326
388
|
#
|
327
|
-
# [+:context+]
|
328
389
|
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
329
|
-
#
|
390
|
+
# @option options :path The path
|
330
391
|
#
|
331
|
-
#
|
332
|
-
#
|
333
|
-
#
|
392
|
+
# ビューを保存するパスを指定する。
|
393
|
+
# パスを指定すると永続ビューになる。
|
394
|
+
# @option options :persistent (true) The persistent
|
334
395
|
#
|
335
|
-
#
|
336
|
-
# ビューを永続ビューとする。+:path:+を省略した場
|
396
|
+
# ビューを永続ビューとする。 +:path:+ を省略した場
|
337
397
|
# 合はパス名は自動的に作成される。デフォルトでは永続
|
338
398
|
# ビューとなる。
|
339
399
|
def create_view(name, options={}, &block)
|
@@ -342,48 +402,42 @@ module Groonga
|
|
342
402
|
end
|
343
403
|
end
|
344
404
|
|
345
|
-
# 名前が_name_のテーブルを削除する。
|
346
|
-
#
|
347
|
-
# _options_に指定可能な値は以下の通り。
|
405
|
+
# 名前が _name_ のテーブルを削除する。
|
348
406
|
#
|
349
|
-
# [
|
407
|
+
# @param options [::Hash] The name and value
|
408
|
+
# pairs. Omitted names are initialized as the default value.
|
409
|
+
# @option options :context (Groonga::context.default) The context
|
350
410
|
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
351
|
-
# 省略した場合はGroonga::Context.defaultを使用する。
|
352
411
|
def remove_view(name, options={})
|
353
412
|
define do |schema|
|
354
413
|
schema.remove_view(name, options)
|
355
414
|
end
|
356
415
|
end
|
357
416
|
|
358
|
-
# call-seq:
|
359
|
-
# Groonga::Schema.change_view(name, options={}) {|view| ...}
|
360
|
-
#
|
361
417
|
# 名前が_name_のビューを変更する。以下の省略形。
|
362
|
-
#
|
418
|
+
# <pre>
|
363
419
|
# Groonga::Schema.define do |schema|
|
364
420
|
# schema.change_view(name, options) do |view|
|
365
|
-
#
|
421
|
+
# ==...==
|
366
422
|
# end
|
367
423
|
# end
|
424
|
+
# </pre>
|
368
425
|
#
|
369
426
|
# ブロックにはGroonga::Schema::ViewDefinitionオブジェ
|
370
427
|
# クトがわたるので、そのオブジェクトを利用してテーブル
|
371
428
|
# の詳細を定義する。
|
372
429
|
#
|
373
|
-
#
|
430
|
+
# @param options [::Hash] The name and value
|
431
|
+
# pairs. Omitted names are initialized as the default value.
|
432
|
+
# @option options :context (Groonga::Context.default) The context
|
374
433
|
#
|
375
|
-
# [+:context+]
|
376
434
|
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
377
|
-
# 省略した場合はGroonga::Context.defaultを使用する。
|
378
435
|
def change_view(name, options={}, &block)
|
379
436
|
define do |schema|
|
380
437
|
schema.change_view(name, options, &block)
|
381
438
|
end
|
382
439
|
end
|
383
440
|
|
384
|
-
# call-seq:
|
385
|
-
# Groonga::Schema.remove_column(table_name, column_name)
|
386
|
-
#
|
387
441
|
# 以下と同様:
|
388
442
|
#
|
389
443
|
# Groonga::Schema.change_table(table_name) do |table|
|
@@ -395,49 +449,54 @@ module Groonga
|
|
395
449
|
end
|
396
450
|
end
|
397
451
|
|
452
|
+
# This is a syntax sugar of the following:
|
453
|
+
#
|
454
|
+
# Groonga::Schema.define do |schema|
|
455
|
+
# schema.rename_column(table_name,
|
456
|
+
# current_column_name, new_column_name)
|
457
|
+
# end
|
458
|
+
def rename_column(table_name, current_column_name, new_column_name)
|
459
|
+
define do |schema|
|
460
|
+
schema.rename_column(table_name, current_column_name, new_column_name)
|
461
|
+
end
|
462
|
+
end
|
463
|
+
|
398
464
|
# スキーマの内容を文字列をRubyスクリプト形式またはgrn式
|
399
465
|
# 形式で返す。デフォルトはRubyスクリプト形式である。
|
400
466
|
# Rubyスクリプト形式で返された値は
|
401
467
|
# Groonga::Schema.restoreすることによりスキーマ内に組み
|
402
468
|
# 込むことができる。
|
403
|
-
#
|
404
|
-
# dump.rb:
|
469
|
+
# <pre>
|
470
|
+
# ==dump.rb:
|
405
471
|
# File.open("/tmp/groonga-schema.rb", "w") do |schema|
|
406
472
|
# dumped_text = Groonga::Schema.dump
|
407
473
|
# end
|
408
|
-
#
|
409
474
|
# restore.rb:
|
410
475
|
# dumped_text = Groonga::Schema.dump
|
411
476
|
# Groonga::Database.create(:path => "/tmp/new-db.grn")
|
412
|
-
# Groonga::Schema.restore(dumped_text)
|
413
|
-
#
|
477
|
+
# Groonga::Schema.restore(dumped_text)==
|
478
|
+
# </pre>
|
414
479
|
# grn式形式で返された値はgroongaコマンドで読み込むこと
|
415
480
|
# ができる。
|
416
|
-
#
|
417
|
-
# dump.rb:
|
481
|
+
# <pre>
|
482
|
+
# ==dump.rb:
|
418
483
|
# File.open("/tmp/groonga-schema.grn", "w") do |schema|
|
419
484
|
# dumped_text = Groonga::Schema.dump(:syntax => :command)
|
420
485
|
# end
|
486
|
+
# % groonga db/path < /tmp/groonga-schema.grn==
|
487
|
+
# </pre>
|
488
|
+
# @param options [::Hash] The name and value
|
489
|
+
# pairs. Omitted names are initialized as the default value.
|
490
|
+
# @option options :context (Groonga::Context.default) The context
|
421
491
|
#
|
422
|
-
# % groonga db/path < /tmp/groonga-schema.grn
|
423
|
-
#
|
424
|
-
# _options_に指定可能な値は以下の通り。
|
425
|
-
#
|
426
|
-
# [+:context+]
|
427
492
|
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
428
|
-
#
|
429
|
-
#
|
430
|
-
# [+:syntax+]
|
431
|
-
# スキーマの文字列の形式を指定する。指定可能な値は以
|
432
|
-
# 下の通り。
|
493
|
+
# @option options :syntax The syntax
|
433
494
|
#
|
434
|
-
#
|
435
|
-
#
|
436
|
-
#
|
437
|
-
#
|
438
|
-
#
|
439
|
-
# groongaコマンド形式。groongaコマンドで読み込むこ
|
440
|
-
# とができる。
|
495
|
+
# スキーマの文字列の形式を指定する。指定可能な値は以下の通り。
|
496
|
+
# +:ruby+ Rubyスクリプト形式。省略した場合、+nil+ の場合も
|
497
|
+
# Rubyスクリプト形式になる。
|
498
|
+
# +:command+ groongaコマンド形式。groongaコマンドで読み込む
|
499
|
+
# ことができる。
|
441
500
|
def dump(options={})
|
442
501
|
schema = new(:context => options[:context],
|
443
502
|
:syntax => options[:syntax])
|
@@ -508,7 +567,8 @@ module Groonga
|
|
508
567
|
"mecab" => "TokenMecab",
|
509
568
|
"token_mecab"=> "TokenMecab",
|
510
569
|
}
|
511
|
-
|
570
|
+
# @private
|
571
|
+
def normalize_type(type, options={})
|
512
572
|
return type if type.nil?
|
513
573
|
return type if type.is_a?(Groonga::Object)
|
514
574
|
type = type.to_s if type.is_a?(Symbol)
|
@@ -519,11 +579,10 @@ module Groonga
|
|
519
579
|
|
520
580
|
# スキーマ定義を開始する。
|
521
581
|
#
|
522
|
-
#
|
523
|
-
#
|
524
|
-
#
|
582
|
+
# @param options [::Hash] The name and value
|
583
|
+
# pairs. Omitted names are initialized as the default value.
|
584
|
+
# @option options :context (Groonga::Context.default) The context
|
525
585
|
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
526
|
-
# 省略した場合はGroonga::Context.defaultを使用する。
|
527
586
|
def initialize(options={})
|
528
587
|
@options = (options || {}).dup
|
529
588
|
@options[:context] ||= Groonga::Context.default
|
@@ -556,122 +615,208 @@ module Groonga
|
|
556
615
|
dumper.dump
|
557
616
|
end
|
558
617
|
|
559
|
-
#
|
560
|
-
# schema.create_table(name, options={}) {|table| ...}
|
561
|
-
#
|
562
|
-
# 名前が_name_のテーブルを作成する。
|
618
|
+
# 名前が _name_ のテーブルを作成する。
|
563
619
|
#
|
564
620
|
# テーブルの作成は#defineを呼び出すまでは実行されないこ
|
565
621
|
# とに注意すること。
|
622
|
+
# @overload create_table(name, options= {:type => :array})
|
623
|
+
# :typeにデフォルトの:arrayを使用した場合
|
624
|
+
# @param options [::Hash] The name and value
|
625
|
+
# pairs. Omitted names are initialized as the default value.
|
626
|
+
# @option options :force The force.
|
566
627
|
#
|
567
|
-
#
|
628
|
+
# +true+ を指定すると既存の同名のテーブルが
|
629
|
+
# 存在していても、強制的にテーブルを作成する。
|
630
|
+
# @option options :type (:array) The type
|
568
631
|
#
|
569
|
-
#
|
570
|
-
#
|
571
|
-
#
|
632
|
+
# テーブルの型を指定する。
|
633
|
+
# +:array+ , +:hash+ , +:patricia_trie+ ,
|
634
|
+
# +:double_array_trie+ のいずれかを指定する。
|
635
|
+
# @option options [Groonga::Context] :context The context.
|
572
636
|
#
|
573
|
-
#
|
574
|
-
#
|
575
|
-
#
|
576
|
-
#
|
637
|
+
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
638
|
+
# 省略した場合はGroonga::Schema.newで指定した
|
639
|
+
# Groonga::Contextを使用する。Groonga::Schema.newで指
|
640
|
+
# 定していない場合はGroonga::Context.defaultを使用する。
|
641
|
+
# @option options :path The path
|
577
642
|
#
|
578
|
-
#
|
579
|
-
#
|
580
|
-
#
|
581
|
-
# Groonga::Contextを使用する。Groonga::Schema.newで指
|
582
|
-
# 定していない場合はGroonga::Context.defaultを使用する。
|
643
|
+
# テーブルを保存するパスを指定する。パスを指定すると
|
644
|
+
# 永続テーブルになる。
|
645
|
+
# @option options :persistent (true) The persistent
|
583
646
|
#
|
584
|
-
#
|
585
|
-
#
|
586
|
-
#
|
647
|
+
# テーブルを永続テーブルとする。 +:path:+ を省略した場
|
648
|
+
# 合はパス名は自動的に作成される。デフォルトでは永続
|
649
|
+
# テーブルとなる。
|
650
|
+
# @option options :value_type The value_type
|
651
|
+
#
|
652
|
+
# 値の型を指定する。省略すると値のための領域を確保しない。
|
653
|
+
# 値を保存したい場合は必ず指定すること。
|
654
|
+
# 参考: Groonga::Type.new
|
655
|
+
# @option options :sub_records The sub_records
|
656
|
+
#
|
657
|
+
# +true+ を指定するとGroonga::Table#groupでグループ化
|
658
|
+
# したときに、Groonga::Record#n_sub_recordsでグループに
|
659
|
+
# 含まれるレコードの件数を取得できる。
|
660
|
+
#
|
661
|
+
# @overload create_table(name, options= {:type => :hash})
|
662
|
+
# :typeに:hashを使用した場合
|
663
|
+
# @param options [::Hash] The name and value
|
664
|
+
# pairs. Omitted names are initialized as the default value.
|
665
|
+
# @option options :force The force
|
666
|
+
#
|
667
|
+
# +true+ を指定すると既存の同名のテーブルが
|
668
|
+
# 存在していても、強制的にテーブルを作成する。
|
669
|
+
# @option options :type (:array) The type
|
670
|
+
#
|
671
|
+
# テーブルの型を指定する。
|
672
|
+
# +:array+ , +:hash+ , +:patricia_trie+ ,
|
673
|
+
# +:double_array_trie+ のいずれかを指定する。
|
674
|
+
# @option options [Groonga::Context] :context The context
|
675
|
+
#
|
676
|
+
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
677
|
+
# 省略した場合はGroonga::Schema.newで指定した
|
678
|
+
# Groonga::Contextを使用する。Groonga::Schema.newで指
|
679
|
+
# 定していない場合はGroonga::Context.defaultを使用する。
|
680
|
+
# @option options :path The path
|
681
|
+
#
|
682
|
+
# テーブルを保存するパスを指定する。パスを指定すると
|
683
|
+
# 永続テーブルになる。
|
684
|
+
# @option options :persistent (true) The persistent
|
685
|
+
#
|
686
|
+
# テーブルを永続テーブルとする。 +:path:+ を省略した場
|
687
|
+
# 合はパス名は自動的に作成される。デフォルトでは永続
|
688
|
+
# テーブルとなる。
|
689
|
+
# @option options :value_type The value_type
|
690
|
+
#
|
691
|
+
# 値の型を指定する。省略すると値のための領域を確保しない。
|
692
|
+
# 値を保存したい場合は必ず指定すること。
|
693
|
+
# 参考: Groonga::Type.new
|
694
|
+
# @option options :sub_records The sub_records
|
695
|
+
#
|
696
|
+
# +true+ を指定するとGroonga::Table#groupでグループ化
|
697
|
+
# したときに、Groonga::Record#n_sub_recordsでグループに
|
698
|
+
# 含まれるレコードの件数を取得できる。
|
699
|
+
# @option options :key_type The key_type
|
700
|
+
#
|
701
|
+
# キーの種類を示すオブジェクトを指定する。
|
702
|
+
# キーの種類には型名("Int32"や"ShortText"など)または
|
703
|
+
# Groonga::Typeまたはテーブル(Groonga::Array、
|
704
|
+
# Groonga::Hash、Groonga::PatriciaTrie、
|
705
|
+
# Groonga::DoubleArrayTrieのどれか)を指定する。
|
706
|
+
#
|
707
|
+
# Groonga::Typeを指定した場合は、その型が示す範囲の
|
708
|
+
# 値をキーとして使用する。ただし、キーの最大サイズは
|
709
|
+
# 4096バイトであるため、Groonga::Type::TEXTや
|
710
|
+
# Groonga::Type::LONG_TEXTは使用できない。
|
711
|
+
#
|
712
|
+
# テーブルを指定した場合はレコードIDをキーとして使用
|
713
|
+
# する。指定したテーブルのGroonga::Recordをキーとし
|
714
|
+
# て使用することもでき、その場合は自動的に
|
715
|
+
# Groonga::RecordからレコードIDを取得する。
|
587
716
|
#
|
588
|
-
#
|
589
|
-
#
|
590
|
-
# 合はパス名は自動的に作成される。デフォルトでは永続
|
591
|
-
# テーブルとなる。
|
717
|
+
# 省略した場合は文字列をキーとして使用する。この場合、
|
718
|
+
# 4096バイトまで使用可能である。
|
592
719
|
#
|
593
|
-
#
|
594
|
-
# 値の型を指定する。省略すると値のための領域を確保しな
|
595
|
-
# い。値を保存したい場合は必ず指定すること。
|
720
|
+
# @option options :default_tokenizer The default_tokenizer
|
596
721
|
#
|
597
|
-
#
|
722
|
+
# Groonga::IndexColumnで使用するトークナイザを指定する。
|
723
|
+
# デフォルトでは何も設定されていないので、テーブルに
|
724
|
+
# Groonga::IndexColumnを定義する場合は
|
725
|
+
# <tt>"TokenBigram"</tt>などを指定する必要がある。
|
598
726
|
#
|
599
|
-
#
|
600
|
-
#
|
601
|
-
#
|
602
|
-
#
|
727
|
+
# @overload create_table(name, options= {:type => :double_array_trie})
|
728
|
+
# :typeに:double_array_trieを使用した場合
|
729
|
+
# @param options [::Hash] The name and value
|
730
|
+
# pairs. Omitted names are initialized as the default value.
|
731
|
+
# @option options :force The force
|
603
732
|
#
|
604
|
-
#
|
605
|
-
#
|
733
|
+
# +true+ を指定すると既存の同名のテーブルが
|
734
|
+
# 存在していても、強制的にテーブルを作成する。
|
735
|
+
# @option options [Groonga::Context] :context The context
|
606
736
|
#
|
607
|
-
#
|
608
|
-
#
|
609
|
-
#
|
610
|
-
#
|
611
|
-
#
|
612
|
-
# 定する。
|
737
|
+
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
738
|
+
# 省略した場合はGroonga::Schema.newで指定した
|
739
|
+
# Groonga::Contextを使用する。Groonga::Schema.newで指
|
740
|
+
# 定していない場合はGroonga::Context.defaultを使用する。
|
741
|
+
# @option options :path The path
|
613
742
|
#
|
614
|
-
#
|
615
|
-
#
|
616
|
-
#
|
617
|
-
# Groonga::Type::LONG_TEXTは使用できない。
|
743
|
+
# テーブルを保存するパスを指定する。パスを指定すると
|
744
|
+
# 永続テーブルになる。
|
745
|
+
# @option options :persistent (true) The persistent
|
618
746
|
#
|
619
|
-
#
|
620
|
-
#
|
621
|
-
#
|
622
|
-
#
|
747
|
+
# テーブルを永続テーブルとする。 +:path:+ を省略した場
|
748
|
+
# 合はパス名は自動的に作成される。デフォルトでは永続
|
749
|
+
# テーブルとなる。
|
750
|
+
# @option options :value_type The value_type
|
623
751
|
#
|
624
|
-
#
|
625
|
-
#
|
752
|
+
# 値の型を指定する。省略すると値のための領域を確保しない。
|
753
|
+
# 値を保存したい場合は必ず指定すること。
|
754
|
+
# 参考: Groonga::Type.new
|
755
|
+
# @option options :sub_records The sub_records
|
626
756
|
#
|
627
|
-
#
|
628
|
-
#
|
629
|
-
#
|
630
|
-
#
|
631
|
-
# <tt>"TokenBigram"</tt>などを指定する必要がある。
|
757
|
+
# +true+ を指定するとGroonga::Table#groupでグループ化
|
758
|
+
# したときに、Groonga::Record#n_sub_recordsでグループに
|
759
|
+
# 含まれるレコードの件数を取得できる。
|
760
|
+
# @option options :key_normalize The key_normalize
|
632
761
|
#
|
633
|
-
#
|
762
|
+
# +true+ を指定するとキーを正規化する。
|
763
|
+
# @option options :key_type The key_type
|
634
764
|
#
|
635
|
-
#
|
636
|
-
#
|
765
|
+
# キーの種類を示すオブジェクトを指定する。
|
766
|
+
# キーの種類には型名("Int32"や"ShortText"など)または
|
767
|
+
# Groonga::Typeまたはテーブル(Groonga::Array、
|
768
|
+
# Groonga::Hash、Groonga::PatriciaTrie、
|
769
|
+
# Groonga::DoubleArrayTrieのどれか)を指定する。
|
637
770
|
#
|
638
|
-
#
|
639
|
-
#
|
640
|
-
#
|
771
|
+
# Groonga::Typeを指定した場合は、その型が示す範囲の
|
772
|
+
# 値をキーとして使用する。ただし、キーの最大サイズは
|
773
|
+
# 4096バイトであるため、Groonga::Type::TEXTや
|
774
|
+
# Groonga::Type::LONG_TEXTは使用できない。
|
775
|
+
#
|
776
|
+
# テーブルを指定した場合はレコードIDをキーとして使用
|
777
|
+
# する。指定したテーブルのGroonga::Recordをキーとし
|
778
|
+
# て使用することもでき、その場合は自動的に
|
779
|
+
# Groonga::RecordからレコードIDを取得する。
|
780
|
+
#
|
781
|
+
# 省略した場合は文字列をキーとして使用する。この場合、
|
782
|
+
# 4096バイトまで使用可能である。
|
783
|
+
# @option options :default_tokenizer The default_tokenizer
|
784
|
+
#
|
785
|
+
# Groonga::IndexColumnで使用するトークナイザを指定する。
|
786
|
+
# デフォルトでは何も設定されていないので、テーブルに
|
787
|
+
# Groonga::IndexColumnを定義する場合は
|
788
|
+
# <tt>"TokenBigram"</tt>などを指定する必要がある。
|
641
789
|
def create_table(name, options={})
|
642
790
|
definition = TableDefinition.new(name, @options.merge(options || {}))
|
643
791
|
yield(definition) if block_given?
|
644
792
|
@definitions << definition
|
645
793
|
end
|
646
794
|
|
647
|
-
# 名前が_name_のテーブルを削除する。
|
795
|
+
# 名前が _name_ のテーブルを削除する。
|
648
796
|
#
|
649
797
|
# テーブルの削除は#defineを呼び出すまでは実行されないこ
|
650
798
|
# とに注意すること。
|
651
799
|
#
|
652
|
-
#
|
800
|
+
# @param options [::Hash] The name and value
|
801
|
+
# pairs. Omitted names are initialized as the default value.
|
802
|
+
# @option options :context (Groonga::Context.default) The context
|
653
803
|
#
|
654
|
-
# [+:context+]
|
655
804
|
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
656
|
-
# 省略した場合はGroonga::Context.defaultを使用する。
|
657
805
|
def remove_table(name, options={})
|
658
806
|
definition = TableRemoveDefinition.new(name, @options.merge(options || {}))
|
659
807
|
@definitions << definition
|
660
808
|
end
|
661
809
|
|
662
|
-
#
|
663
|
-
# schema.change_table(name, options={}) {|table| ...}
|
810
|
+
# 名前が _name_ のテーブルを変更する。
|
664
811
|
#
|
665
|
-
#
|
666
|
-
#
|
667
|
-
# テーブルの変更は#defineを呼び出すまでは実行されないこ
|
812
|
+
# テーブルの変更は #define を呼び出すまでは実行されないこ
|
668
813
|
# とに注意すること。
|
669
814
|
#
|
670
|
-
#
|
815
|
+
# @param options [::Hash] The name and value
|
816
|
+
# pairs. Omitted names are initialized as the default value.
|
817
|
+
# @option options :context (Groonga::Context.default) The context
|
671
818
|
#
|
672
|
-
# [+:context+]
|
673
819
|
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
674
|
-
# 省略した場合はGroonga::Context.defaultを使用する。
|
675
820
|
def change_table(name, options={})
|
676
821
|
options = @options.merge(options || {}).merge(:change => true)
|
677
822
|
definition = TableDefinition.new(name, options)
|
@@ -679,68 +824,77 @@ module Groonga
|
|
679
824
|
@definitions << definition
|
680
825
|
end
|
681
826
|
|
682
|
-
#
|
683
|
-
#
|
827
|
+
# Renames _current_name_ table to _new_name.
|
828
|
+
#
|
829
|
+
# Note that table renaming will will not be performed
|
830
|
+
# until {#define} is called.
|
684
831
|
#
|
685
|
-
#
|
832
|
+
# @param options [::Hash] The name and value
|
833
|
+
# pairs. Omitted names are initialized as the default value.
|
834
|
+
# @option options :context (Groonga::Context.default)
|
835
|
+
# The Groonga::Context to be used in renaming.
|
836
|
+
def rename_table(current_name, new_name, options={})
|
837
|
+
options = @options.merge(options || {})
|
838
|
+
definition = TableRenameDefinition.new(current_name, new_name, options)
|
839
|
+
@definitions << definition
|
840
|
+
end
|
841
|
+
|
842
|
+
# 名前が _name_ のビューを作成する。
|
686
843
|
#
|
687
|
-
#
|
844
|
+
# ビューの作成は #define を呼び出すまでは実行されないこ
|
688
845
|
# とに注意すること。
|
689
846
|
#
|
690
|
-
#
|
847
|
+
# @param options [::Hash] The name and value
|
848
|
+
# pairs. Omitted names are initialized as the default value.
|
849
|
+
# @option options :force The force
|
691
850
|
#
|
692
|
-
#
|
693
|
-
#
|
694
|
-
#
|
851
|
+
# +true+ を指定すると既存の同名の
|
852
|
+
# ビューが存在していても、強制的にビューを作成する。
|
853
|
+
# @option options [Groonga::Context] :context (Groonga::Schema.new) The context
|
695
854
|
#
|
696
|
-
# [+:context+]
|
697
855
|
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
698
|
-
#
|
699
|
-
# Groonga::Contextを使用する。
|
700
|
-
#
|
856
|
+
# Groonga::Schema.newで指定していない場合は
|
857
|
+
# Groonga::Context.defaultを使用する。
|
858
|
+
# @option options :path The path
|
701
859
|
#
|
702
|
-
# [+:path+]
|
703
860
|
# テーブルを保存するパスを指定する。パスを指定すると
|
704
861
|
# 永続テーブルになる。
|
862
|
+
# @option options :persistent (true) The persistent
|
705
863
|
#
|
706
|
-
#
|
707
|
-
#
|
708
|
-
# 合はパス名は自動的に作成される。デフォルトでは永続
|
709
|
-
# テーブルとなる。
|
864
|
+
# テーブルを永続テーブルとする。 +:path:+ を省略した場合は
|
865
|
+
# パス名は自動的に作成される。デフォルトでは永続テーブルとなる。
|
710
866
|
def create_view(name, options={})
|
711
867
|
definition = ViewDefinition.new(name, @options.merge(options || {}))
|
712
868
|
yield(definition)
|
713
869
|
@definitions << definition
|
714
870
|
end
|
715
871
|
|
716
|
-
# 名前が_name_のビューを削除する。
|
872
|
+
# 名前が _name_ のビューを削除する。
|
717
873
|
#
|
718
|
-
#
|
874
|
+
# ビューの削除は #define を呼び出すまでは実行されないことに
|
719
875
|
# 注意すること。
|
720
876
|
#
|
721
|
-
#
|
877
|
+
# @param options [::Hash] The name and value
|
878
|
+
# pairs. Omitted names are initialized as the default value.
|
879
|
+
# @option options [Groonga::Context] :context (Groonga::Context.default)
|
880
|
+
# The context
|
722
881
|
#
|
723
|
-
# [+:context+]
|
724
882
|
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
725
|
-
# 省略した場合はGroonga::Context.defaultを使用する。
|
726
883
|
def remove_view(name, options={})
|
727
884
|
definition = ViewRemoveDefinition.new(name, @options.merge(options || {}))
|
728
885
|
@definitions << definition
|
729
886
|
end
|
730
887
|
|
731
|
-
#
|
732
|
-
# schema.change_view(name, options={}) {|table| ...}
|
888
|
+
# 名前が _name_ のビューを変更する。
|
733
889
|
#
|
734
|
-
#
|
735
|
-
#
|
736
|
-
# ビューの変更は#defineを呼び出すまでは実行されないこ
|
890
|
+
# ビューの変更は #define を呼び出すまでは実行されないこ
|
737
891
|
# とに注意すること。
|
738
892
|
#
|
739
|
-
#
|
893
|
+
# @param options [::Hash] The name and value
|
894
|
+
# pairs. Omitted names are initialized as the default value.
|
895
|
+
# @option options :context (Groonga::Context.default) The context
|
740
896
|
#
|
741
|
-
# [+:context+]
|
742
897
|
# スキーマ定義時に使用するGroonga::Contextを指定する。
|
743
|
-
# 省略した場合はGroonga::Context.defaultを使用する。
|
744
898
|
def change_view(name, options={})
|
745
899
|
options = @options.merge(options || {}).merge(:change => true)
|
746
900
|
definition = ViewDefinition.new(name, options)
|
@@ -748,11 +902,7 @@ module Groonga
|
|
748
902
|
@definitions << definition
|
749
903
|
end
|
750
904
|
|
751
|
-
# call-seq:
|
752
|
-
# schema.remove_column(table_name, column_name)
|
753
|
-
#
|
754
905
|
# 以下と同様:
|
755
|
-
#
|
756
906
|
# schema.change_table(table_name) do |table|
|
757
907
|
# table.remove_column(column_name)
|
758
908
|
# end
|
@@ -762,11 +912,23 @@ module Groonga
|
|
762
912
|
end
|
763
913
|
end
|
764
914
|
|
765
|
-
|
915
|
+
# It is a syntax sugar of the following:
|
916
|
+
# schema.change_table(table_name) do |table|
|
917
|
+
# table.rename_column(current_column_name, new_column_name)
|
918
|
+
# end
|
919
|
+
def rename_column(table_name, current_column_name, new_column_name)
|
920
|
+
change_table(table_name) do |table|
|
921
|
+
table.rename_column(current_column_name, new_column_name)
|
922
|
+
end
|
923
|
+
end
|
924
|
+
|
925
|
+
# @private
|
926
|
+
def context
|
766
927
|
@options[:context] || Groonga::Context.default
|
767
928
|
end
|
768
929
|
|
769
|
-
|
930
|
+
# @private
|
931
|
+
module Path
|
770
932
|
def tables_directory_path(database)
|
771
933
|
"#{database.path}.tables"
|
772
934
|
end
|
@@ -775,12 +937,18 @@ module Groonga
|
|
775
937
|
"#{table.path}.columns"
|
776
938
|
end
|
777
939
|
|
778
|
-
def
|
940
|
+
def rmdir_if_available(dir)
|
779
941
|
begin
|
780
942
|
Dir.rmdir(dir)
|
781
|
-
rescue
|
943
|
+
rescue SystemCallError
|
782
944
|
end
|
783
945
|
end
|
946
|
+
|
947
|
+
private
|
948
|
+
# @private
|
949
|
+
def use_named_path?
|
950
|
+
@options[:named_path]
|
951
|
+
end
|
784
952
|
end
|
785
953
|
|
786
954
|
# スキーマ定義時にGroonga::Schema.create_tableや
|
@@ -792,7 +960,8 @@ module Groonga
|
|
792
960
|
# テーブルの名前
|
793
961
|
attr_reader :name
|
794
962
|
|
795
|
-
|
963
|
+
# @private
|
964
|
+
def initialize(name, options)
|
796
965
|
@name = name
|
797
966
|
@name = @name.to_s if @name.is_a?(Symbol)
|
798
967
|
@definitions = []
|
@@ -801,7 +970,8 @@ module Groonga
|
|
801
970
|
@table_type = table_type
|
802
971
|
end
|
803
972
|
|
804
|
-
|
973
|
+
# @private
|
974
|
+
def define
|
805
975
|
table = context[@name]
|
806
976
|
if @options[:change]
|
807
977
|
raise TableNotExists.new(@name) if table.nil?
|
@@ -825,38 +995,34 @@ module Groonga
|
|
825
995
|
table
|
826
996
|
end
|
827
997
|
|
828
|
-
# 名前が_name_で型が_type_のカラムを作成する。
|
998
|
+
# 名前が _name_ で型が _type_ のカラムを作成する。
|
829
999
|
#
|
830
|
-
#
|
1000
|
+
# @param options [::Hash] The name and value
|
1001
|
+
# pairs. Omitted names are initialized as the default value.
|
1002
|
+
# @option options :force The force
|
831
1003
|
#
|
832
|
-
#
|
833
|
-
#
|
834
|
-
#
|
1004
|
+
# +true+ を指定すると既存の同名のカラムが
|
1005
|
+
# 存在していても、強制的に新しいカラムを作成する。
|
1006
|
+
# @option options :path The path
|
835
1007
|
#
|
836
|
-
# [+:path+]
|
837
1008
|
# カラムを保存するパス。
|
1009
|
+
# @option options :persistent The persistent
|
838
1010
|
#
|
839
|
-
#
|
840
|
-
# +true+を指定すると永続カラムとなる。+:path+を省略
|
1011
|
+
# +true+ を指定すると永続カラムとなる。+:path+ を省略
|
841
1012
|
# した場合は自動的にパスが付加される。
|
1013
|
+
# @option options :type (:scalar) The type
|
842
1014
|
#
|
843
|
-
#
|
844
|
-
#
|
845
|
-
# +:scalar+になる。
|
846
|
-
#
|
847
|
-
# [+:scalar+]
|
1015
|
+
# カラムの値の格納方法について指定する。
|
1016
|
+
# <b>:scalar</b>
|
848
1017
|
# スカラ値(単独の値)を格納する。
|
849
|
-
#
|
850
|
-
# [+:vector+]
|
1018
|
+
# <b>:vector</b>
|
851
1019
|
# 値の配列を格納する。
|
1020
|
+
# @option options :compress The compress
|
852
1021
|
#
|
853
|
-
# [+:compress+]
|
854
1022
|
# 値の圧縮方法を指定する。省略した場合は、圧縮しない。
|
855
|
-
#
|
856
|
-
# [+:zlib+]
|
1023
|
+
# <b>:zlib</b>
|
857
1024
|
# 値をzlib圧縮して格納する。
|
858
|
-
#
|
859
|
-
# [+:lzo+]
|
1025
|
+
# <b>:lzo</b>
|
860
1026
|
# 値をlzo圧縮して格納する。
|
861
1027
|
def column(name, type, options={})
|
862
1028
|
definition = self[name, ColumnDefinition]
|
@@ -869,9 +1035,9 @@ module Groonga
|
|
869
1035
|
self
|
870
1036
|
end
|
871
1037
|
|
872
|
-
# 名前が_name_のカラムを削除します。
|
1038
|
+
# 名前が _name_ のカラムを削除します。
|
873
1039
|
#
|
874
|
-
# _options_に指定可能な値はありません(TODO _options_は不要?)。
|
1040
|
+
# _options_ に指定可能な値はありません(TODO _options_ は不要?)。
|
875
1041
|
#
|
876
1042
|
def remove_column(name, options={})
|
877
1043
|
definition = self[name, ColumnRemoveDefinition]
|
@@ -883,52 +1049,66 @@ module Groonga
|
|
883
1049
|
self
|
884
1050
|
end
|
885
1051
|
|
886
|
-
#
|
887
|
-
# table.index(target_column_full_name, options={})
|
888
|
-
# table.index(target_table, target_column, options={})
|
889
|
-
# table.index(target_table, target_column1, target_column2, ..., options={})
|
1052
|
+
# Renames _current_name_ column to _new_name_ column.
|
890
1053
|
#
|
891
|
-
#
|
1054
|
+
# @param [::Hash] options The name and value
|
1055
|
+
# pairs. Omitted names are initialized as the default
|
1056
|
+
# value.
|
1057
|
+
# @option options [Groonga:Context] :context (Groonga::Context.default)
|
1058
|
+
# The context to be used in renaming.
|
1059
|
+
def rename_column(current_name, new_name, options={})
|
1060
|
+
definition = self[name, ColumnRenameDefinition]
|
1061
|
+
if definition.nil?
|
1062
|
+
definition = ColumnRenameDefinition.new(current_name, new_name,
|
1063
|
+
options)
|
1064
|
+
update_definition(name, ColumnRenameDefinition, definition)
|
1065
|
+
end
|
1066
|
+
definition.options.merge!(options)
|
1067
|
+
self
|
1068
|
+
end
|
1069
|
+
|
1070
|
+
# _target_table_ の _target_column_ を対象とするインデック
|
892
1071
|
# スカラムを作成します。複数のカラムを指定することもで
|
893
1072
|
# きます。
|
894
1073
|
#
|
895
|
-
# _target_column_full_name_で指定するときはテーブル名
|
1074
|
+
# _target_column_full_name_ で指定するときはテーブル名
|
896
1075
|
# とカラム名を"."でつなげます。例えば、「Users」テーブ
|
897
1076
|
# ルの「name」カラムのインデックスカラムを指定する場合
|
898
1077
|
# はこうなります。
|
899
1078
|
#
|
900
1079
|
# table.index("Users.name")
|
901
1080
|
#
|
902
|
-
#
|
1081
|
+
# @param options [::Hash] The name and value
|
1082
|
+
# pairs. Omitted names are initialized as the default value.
|
1083
|
+
# @option options :name The name
|
903
1084
|
#
|
904
|
-
# [+:name+]
|
905
1085
|
# インデックスカラムのカラム名を任意に指定する。
|
1086
|
+
# @option options :force The force
|
906
1087
|
#
|
907
|
-
#
|
908
|
-
#
|
909
|
-
#
|
1088
|
+
# +true+ を指定すると既存の同名のカラムが
|
1089
|
+
# 存在していても、強制的に新しいカラムを作成する。
|
1090
|
+
# @option options :path The path
|
910
1091
|
#
|
911
|
-
# [+:path+]
|
912
1092
|
# カラムを保存するパス。
|
1093
|
+
# @option options :persistent The persistent
|
913
1094
|
#
|
914
|
-
#
|
915
|
-
# +
|
916
|
-
#
|
1095
|
+
# +true+ を指定すると永続カラムとなる。
|
1096
|
+
# +:path+ を省略した場合は自動的にパスが付加される。
|
1097
|
+
# @option options :with_section The with_section
|
917
1098
|
#
|
918
|
-
#
|
919
|
-
# +
|
920
|
-
# わせて格納する。未指定または+nil+を指定した場合、
|
1099
|
+
# +true+ を指定すると転置索引にsection(段落情報)を
|
1100
|
+
# 合わせて格納する。未指定または +nil+ を指定した場合、
|
921
1101
|
# 複数のカラムを指定すると自動的に有効になる。
|
1102
|
+
# @option options :with_weight The with_weight
|
922
1103
|
#
|
923
|
-
#
|
924
|
-
#
|
925
|
-
#
|
1104
|
+
# +true+ を指定すると転置索引にweight情報を合わせて
|
1105
|
+
# 格納する。
|
1106
|
+
# @option options :with_position
|
926
1107
|
#
|
927
|
-
#
|
928
|
-
# +
|
929
|
-
#
|
930
|
-
#
|
931
|
-
# 動的に有効になる。
|
1108
|
+
# +true+ を指定すると転置索引に出現位置情報を合わせて
|
1109
|
+
# 格納する。未指定または +nil+ を指定した場合、テーブル
|
1110
|
+
# がN-gram系のトークナイザーを利用している場合は
|
1111
|
+
# 自動的に有効になる。
|
932
1112
|
def index(target_table_or_target_column_full_name, *args)
|
933
1113
|
key, target_table, target_columns, options =
|
934
1114
|
parse_index_argument(target_table_or_target_column_full_name, *args)
|
@@ -945,24 +1125,19 @@ module Groonga
|
|
945
1125
|
self
|
946
1126
|
end
|
947
1127
|
|
948
|
-
#
|
949
|
-
# table.remove_index(target_column_full_name, options={})
|
950
|
-
# table.remove_index(target_table, target_column, options={})
|
951
|
-
# table.remove_index(target_table, target_column1, target_column2, ..., options={})
|
952
|
-
#
|
953
|
-
# _target_table_の_target_column_を対象とするインデッ
|
1128
|
+
# _target_table_ の _target_column_ を対象とするインデッ
|
954
1129
|
# クスカラムを削除します。
|
955
1130
|
#
|
956
|
-
# _target_column_full_name_で指定するときはテーブル名
|
1131
|
+
# _target_column_full_name_ で指定するときはテーブル名
|
957
1132
|
# とカラム名を"."でつなげます。例えば、「Users」テーブ
|
958
1133
|
# ルの「name」カラムのインデックスカラムを削除する場合
|
959
1134
|
# はこうなります。
|
960
1135
|
#
|
961
1136
|
# table.remove_index("Users.name")
|
962
1137
|
#
|
963
|
-
#
|
964
|
-
#
|
965
|
-
#
|
1138
|
+
# @param options [::Hash] The name and value
|
1139
|
+
# pairs. Omitted names are initialized as the default value.
|
1140
|
+
# @option options :name The name
|
966
1141
|
# インデックスカラムのカラム名を任意に指定する。
|
967
1142
|
def remove_index(target_table_or_target_column_full_name, *args)
|
968
1143
|
key, target_table, target_columns, options =
|
@@ -983,58 +1158,58 @@ module Groonga
|
|
983
1158
|
self
|
984
1159
|
end
|
985
1160
|
|
986
|
-
# 名前が_name_の32bit符号付き整数のカラムを作成する。
|
1161
|
+
# 名前が _name_ の32bit符号付き整数のカラムを作成する。
|
987
1162
|
#
|
988
|
-
# _options_に指定可能な値は
|
989
|
-
# Groonga::Schema::TableDefinition#columnを参照。
|
1163
|
+
# _options_ に指定可能な値は
|
1164
|
+
# {Groonga::Schema::TableDefinition#column} を参照。
|
990
1165
|
def integer32(name, options={})
|
991
1166
|
column(name, "Int32", options)
|
992
1167
|
end
|
993
1168
|
alias_method :integer, :integer32
|
994
1169
|
alias_method :int32, :integer32
|
995
1170
|
|
996
|
-
# 名前が_name_の64bit符号付き整数のカラムを作成する。
|
1171
|
+
# 名前が _name_ の64bit符号付き整数のカラムを作成する。
|
997
1172
|
#
|
998
|
-
# _options_に指定可能な値は
|
999
|
-
# Groonga::Schema::TableDefinition#columnを参照。
|
1173
|
+
# _options_ に指定可能な値は
|
1174
|
+
# {Groonga::Schema::TableDefinition#column} を参照。
|
1000
1175
|
def integer64(name, options={})
|
1001
1176
|
column(name, "Int64", options)
|
1002
1177
|
end
|
1003
1178
|
alias_method :int64, :integer64
|
1004
1179
|
|
1005
|
-
# 名前が_name_の32bit符号なし整数のカラムを作成する。
|
1180
|
+
# 名前が _name_ の32bit符号なし整数のカラムを作成する。
|
1006
1181
|
#
|
1007
|
-
# _options_に指定可能な値は
|
1008
|
-
# Groonga::Schema::TableDefinition#columnを参照。
|
1182
|
+
# _options_ に指定可能な値は
|
1183
|
+
# {Groonga::Schema::TableDefinition#column} を参照。
|
1009
1184
|
def unsigned_integer32(name, options={})
|
1010
1185
|
column(name, "UInt32", options)
|
1011
1186
|
end
|
1012
1187
|
alias_method :unsigned_integer, :unsigned_integer32
|
1013
1188
|
alias_method :uint32, :unsigned_integer32
|
1014
1189
|
|
1015
|
-
# 名前が_name_の64bit符号なし整数のカラムを作成する。
|
1190
|
+
# 名前が _name_ の64bit符号なし整数のカラムを作成する。
|
1016
1191
|
#
|
1017
|
-
# _options_に指定可能な値は
|
1018
|
-
# Groonga::Schema::TableDefinition#columnを参照。
|
1192
|
+
# _options_ に指定可能な値は
|
1193
|
+
# {Groonga::Schema::TableDefinition#column} を参照。
|
1019
1194
|
def unsigned_integer64(name, options={})
|
1020
1195
|
column(name, "UInt64", options)
|
1021
1196
|
end
|
1022
1197
|
alias_method :uint64, :unsigned_integer64
|
1023
1198
|
|
1024
|
-
# 名前が_name_のieee754形式の64bit浮動小数点数のカラム
|
1199
|
+
# 名前が _name_ のieee754形式の64bit浮動小数点数のカラム
|
1025
1200
|
# を作成する。
|
1026
1201
|
#
|
1027
|
-
# _options_に指定可能な値は
|
1028
|
-
# Groonga::Schema::TableDefinition#columnを参照。
|
1202
|
+
# _options_ に指定可能な値は
|
1203
|
+
# {Groonga::Schema::TableDefinition#column} を参照。
|
1029
1204
|
def float(name, options={})
|
1030
1205
|
column(name, "Float", options)
|
1031
1206
|
end
|
1032
1207
|
|
1033
|
-
# 名前が_name_の64bit符号付き整数で1970年1月1日0時0分
|
1208
|
+
# 名前が _name_ の64bit符号付き整数で1970年1月1日0時0分
|
1034
1209
|
# 0秒からの経過マイクロ秒数を格納するカラムを作成する。
|
1035
1210
|
#
|
1036
|
-
# _options_に指定可能な値は
|
1037
|
-
# Groonga::Schema::TableDefinition#columnを参照。
|
1211
|
+
# _options_ に指定可能な値は
|
1212
|
+
# {Groonga::Schema::TableDefinition#column} を参照。
|
1038
1213
|
def time(name, options={})
|
1039
1214
|
column(name, "Time", options)
|
1040
1215
|
end
|
@@ -1047,69 +1222,72 @@ module Groonga
|
|
1047
1222
|
time("updated_at", options)
|
1048
1223
|
end
|
1049
1224
|
|
1050
|
-
# 名前が_name_の4Kbyte以下の文字列を格納できるカラムを
|
1225
|
+
# 名前が _name_ の4Kbyte以下の文字列を格納できるカラムを
|
1051
1226
|
# 作成する。
|
1052
1227
|
#
|
1053
|
-
# _options_に指定可能な値は
|
1054
|
-
# Groonga::Schema::TableDefinition#columnを参照。
|
1228
|
+
# _options_ に指定可能な値は
|
1229
|
+
# {Groonga::Schema::TableDefinition#column} を参照。
|
1055
1230
|
def short_text(name, options={})
|
1056
1231
|
column(name, "ShortText", options)
|
1057
1232
|
end
|
1058
1233
|
alias_method :string, :short_text
|
1059
1234
|
|
1060
|
-
# 名前が_name_の64Kbyte以下の文字列を格納できるカラムを
|
1235
|
+
# 名前が _name_ の64Kbyte以下の文字列を格納できるカラムを
|
1061
1236
|
# 作成する。
|
1062
1237
|
#
|
1063
|
-
# _options_に指定可能な値は
|
1064
|
-
# Groonga::Schema::TableDefinition#columnを参照。
|
1238
|
+
# _options_ に指定可能な値は
|
1239
|
+
# {Groonga::Schema::TableDefinition#column} を参照。
|
1065
1240
|
def text(name, options={})
|
1066
1241
|
column(name, "Text", options)
|
1067
1242
|
end
|
1068
1243
|
|
1069
|
-
# 名前が_name_の2Gbyte以下の文字列を格納できるカラムを
|
1244
|
+
# 名前が _name_ の2Gbyte以下の文字列を格納できるカラムを
|
1070
1245
|
# 作成する。
|
1071
1246
|
#
|
1072
|
-
# _options_に指定可能な値は
|
1073
|
-
# Groonga::Schema::TableDefinition#columnを参照。
|
1247
|
+
# _options_ に指定可能な値は
|
1248
|
+
# {Groonga::Schema::TableDefinition#column} を参照。
|
1074
1249
|
def long_text(name, options={})
|
1075
1250
|
column(name, "LongText", options)
|
1076
1251
|
end
|
1077
1252
|
|
1078
|
-
# 名前が_name_で_table_のレコードIDを格納する参照カラ
|
1253
|
+
# 名前が _name_ で _table_ のレコードIDを格納する参照カラ
|
1079
1254
|
# ムを作成する。
|
1080
1255
|
#
|
1081
|
-
# _table_が省略された場合は_name_の複数形が使われる。
|
1082
|
-
# 例えば、_name_が"user"な場合は_table_は"users"になる。
|
1256
|
+
# _table_ が省略された場合は _name_ の複数形が使われる。
|
1257
|
+
# 例えば、 _name_ が"user"な場合は _table_ は"users"になる。
|
1083
1258
|
#
|
1084
|
-
# _options_に指定可能な値は
|
1085
|
-
# Groonga::Schema::TableDefinition#columnを参照。
|
1259
|
+
# _options_ に指定可能な値は
|
1260
|
+
# {Groonga::Schema::TableDefinition#column} を参照。
|
1086
1261
|
def reference(name, table=nil, options={})
|
1087
1262
|
table ||= lambda {|context| guess_table_name(context, name)}
|
1088
1263
|
column(name, table, options)
|
1089
1264
|
end
|
1090
1265
|
|
1091
|
-
# 名前が_name_の真偽値を格納できるカラムを作成する。
|
1266
|
+
# 名前が _name_ の真偽値を格納できるカラムを作成する。
|
1092
1267
|
#
|
1093
|
-
# _options_に指定可能な値は
|
1094
|
-
# Groonga::Schema::TableDefinition#columnを参照。
|
1268
|
+
# _options_ に指定可能な値は
|
1269
|
+
# {Groonga::Schema::TableDefinition#column} を参照。
|
1095
1270
|
def boolean(name, options={})
|
1096
1271
|
column(name, "Bool", options)
|
1097
1272
|
end
|
1098
1273
|
alias_method :bool, :boolean
|
1099
1274
|
|
1100
|
-
|
1275
|
+
# @private
|
1276
|
+
def [](name, definition_class=nil)
|
1101
1277
|
@definitions.find do |definition|
|
1102
1278
|
definition.name.to_s == name.to_s and
|
1103
1279
|
(definition_class.nil? or definition.is_a?(definition_class))
|
1104
1280
|
end
|
1105
1281
|
end
|
1106
1282
|
|
1107
|
-
|
1283
|
+
# @private
|
1284
|
+
def context
|
1108
1285
|
@options[:context] || Groonga::Context.default
|
1109
1286
|
end
|
1110
1287
|
|
1111
1288
|
private
|
1112
|
-
|
1289
|
+
# @private
|
1290
|
+
def update_definition(key, definition_class, definition)
|
1113
1291
|
old_definition = self[key, definition_class]
|
1114
1292
|
if old_definition
|
1115
1293
|
index = @definitions.index(old_definition)
|
@@ -1119,12 +1297,15 @@ module Groonga
|
|
1119
1297
|
end
|
1120
1298
|
end
|
1121
1299
|
|
1300
|
+
# @private
|
1122
1301
|
AVAILABLE_OPTION_KEYS = [:context, :change, :force,
|
1123
1302
|
:type, :path, :persistent,
|
1124
1303
|
:key_type, :value_type, :sub_records,
|
1125
1304
|
:default_tokenizer,
|
1126
|
-
:key_normalize, :key_with_sis
|
1127
|
-
|
1305
|
+
:key_normalize, :key_with_sis,
|
1306
|
+
:named_path]
|
1307
|
+
# @private
|
1308
|
+
def validate_options(options)
|
1128
1309
|
return if options.nil?
|
1129
1310
|
unknown_keys = options.keys - AVAILABLE_OPTION_KEYS
|
1130
1311
|
unless unknown_keys.empty?
|
@@ -1132,7 +1313,8 @@ module Groonga
|
|
1132
1313
|
end
|
1133
1314
|
end
|
1134
1315
|
|
1135
|
-
|
1316
|
+
# @private
|
1317
|
+
def table_type
|
1136
1318
|
type = @options[:type]
|
1137
1319
|
case type
|
1138
1320
|
when :array, nil
|
@@ -1141,12 +1323,17 @@ module Groonga
|
|
1141
1323
|
Groonga::Hash
|
1142
1324
|
when :patricia_trie
|
1143
1325
|
Groonga::PatriciaTrie
|
1326
|
+
when :double_array_trie
|
1327
|
+
Groonga::DoubleArrayTrie
|
1144
1328
|
else
|
1145
|
-
|
1329
|
+
supported_types = [nil, :array, :hash, :patricia_trie,
|
1330
|
+
:double_array_trie]
|
1331
|
+
raise UnknownTableType.new(type, supported_types)
|
1146
1332
|
end
|
1147
1333
|
end
|
1148
1334
|
|
1149
|
-
|
1335
|
+
# @private
|
1336
|
+
def create_options
|
1150
1337
|
common = {
|
1151
1338
|
:name => @name,
|
1152
1339
|
:path => path,
|
@@ -1170,22 +1357,27 @@ module Groonga
|
|
1170
1357
|
:key_with_sis => @options[:key_with_sis],
|
1171
1358
|
}
|
1172
1359
|
common.merge(key_support_table_common).merge(options)
|
1360
|
+
elsif @table_type == Groonga::DoubleArrayTrie
|
1361
|
+
common.merge(key_support_table_common)
|
1173
1362
|
end
|
1174
1363
|
end
|
1175
1364
|
|
1176
1365
|
def path
|
1177
1366
|
user_path = @options[:path]
|
1178
1367
|
return user_path if user_path
|
1368
|
+
return nil unless use_named_path?
|
1179
1369
|
tables_dir = tables_directory_path(context.database)
|
1180
1370
|
FileUtils.mkdir_p(tables_dir)
|
1181
1371
|
File.join(tables_dir, @name)
|
1182
1372
|
end
|
1183
1373
|
|
1184
|
-
|
1185
|
-
|
1374
|
+
# @private
|
1375
|
+
def column_options
|
1376
|
+
{:persistent => persistent?, :named_path => use_named_path?}
|
1186
1377
|
end
|
1187
1378
|
|
1188
|
-
|
1379
|
+
# @private
|
1380
|
+
def persistent?
|
1189
1381
|
@options[:persistent].nil? ? true : @options[:persistent]
|
1190
1382
|
end
|
1191
1383
|
|
@@ -1221,7 +1413,7 @@ module Groonga
|
|
1221
1413
|
case table
|
1222
1414
|
when Groonga::Array
|
1223
1415
|
true
|
1224
|
-
when Groonga::Hash, Groonga::PatriciaTrie
|
1416
|
+
when Groonga::Hash, Groonga::PatriciaTrie, Groonga::DoubleArrayTrie
|
1225
1417
|
key_type = normalize_key_type(options[:key_type])
|
1226
1418
|
return false unless table.domain == resolve_name(key_type)
|
1227
1419
|
default_tokenizer = normalize_type(options[:default_tokenizer])
|
@@ -1281,7 +1473,8 @@ module Groonga
|
|
1281
1473
|
end
|
1282
1474
|
end
|
1283
1475
|
|
1284
|
-
|
1476
|
+
# @private
|
1477
|
+
class TableRemoveDefinition
|
1285
1478
|
include Path
|
1286
1479
|
|
1287
1480
|
def initialize(name, options={})
|
@@ -1291,21 +1484,53 @@ module Groonga
|
|
1291
1484
|
|
1292
1485
|
def define
|
1293
1486
|
table = removed_table
|
1294
|
-
|
1487
|
+
tables_dir = tables_directory_path(context.database)
|
1488
|
+
columns_dir = columns_directory_path(table)
|
1295
1489
|
result = table.remove
|
1296
|
-
|
1490
|
+
rmdir_if_available(columns_dir)
|
1491
|
+
rmdir_if_available(tables_dir)
|
1297
1492
|
result
|
1298
1493
|
end
|
1299
1494
|
|
1300
1495
|
private
|
1496
|
+
def context
|
1497
|
+
@options[:context]
|
1498
|
+
end
|
1499
|
+
|
1301
1500
|
def removed_table
|
1302
|
-
context = @options[:context]
|
1303
1501
|
table = context[@name]
|
1304
1502
|
raise TableNotExists.new(@name) if table.nil?
|
1305
1503
|
table
|
1306
1504
|
end
|
1307
1505
|
end
|
1308
1506
|
|
1507
|
+
# @private
|
1508
|
+
class TableRenameDefinition
|
1509
|
+
include Path
|
1510
|
+
|
1511
|
+
def initialize(current_name, new_name, options={})
|
1512
|
+
@current_name = current_name
|
1513
|
+
@new_name = new_name
|
1514
|
+
@options = options
|
1515
|
+
end
|
1516
|
+
|
1517
|
+
def define
|
1518
|
+
table = current_table
|
1519
|
+
table.rename(@new_name)
|
1520
|
+
end
|
1521
|
+
|
1522
|
+
private
|
1523
|
+
def context
|
1524
|
+
@options[:context]
|
1525
|
+
end
|
1526
|
+
|
1527
|
+
def current_table
|
1528
|
+
table = context[@current_name]
|
1529
|
+
raise TableNotExists.new(@current_name) if table.nil?
|
1530
|
+
table
|
1531
|
+
end
|
1532
|
+
end
|
1533
|
+
|
1309
1534
|
# スキーマ定義時にGroonga::Schema.create_viewや
|
1310
1535
|
# Groonga::Schema#create_viewからブロックに渡されてくる
|
1311
1536
|
# オブジェクト
|
@@ -1313,7 +1538,8 @@ module Groonga
|
|
1313
1538
|
# ビューの名前
|
1314
1539
|
attr_reader :name
|
1315
1540
|
|
1316
|
-
|
1541
|
+
# @private
|
1542
|
+
def initialize(name, options)
|
1317
1543
|
@name = name
|
1318
1544
|
@name = @name.to_s if @name.is_a?(Symbol)
|
1319
1545
|
@tables = []
|
@@ -1321,7 +1547,8 @@ module Groonga
|
|
1321
1547
|
@options = options
|
1322
1548
|
end
|
1323
1549
|
|
1324
|
-
|
1550
|
+
# @private
|
1551
|
+
def define
|
1325
1552
|
view = context[@name]
|
1326
1553
|
if @options[:change]
|
1327
1554
|
raise TableNotExists.new(@name) if view.nil?
|
@@ -1332,7 +1559,6 @@ module Groonga
|
|
1332
1559
|
end
|
1333
1560
|
view ||= Groonga::View.create(create_options)
|
1334
1561
|
end
|
1335
|
-
_context = context
|
1336
1562
|
@tables.each do |table|
|
1337
1563
|
unless table.is_a?(Groonga::Table)
|
1338
1564
|
table_name = table
|
@@ -1351,14 +1577,17 @@ module Groonga
|
|
1351
1577
|
self
|
1352
1578
|
end
|
1353
1579
|
|
1354
|
-
|
1580
|
+
# @private
|
1581
|
+
def context
|
1355
1582
|
@options[:context] || Groonga::Context.default
|
1356
1583
|
end
|
1357
1584
|
|
1358
1585
|
private
|
1586
|
+
# @private
|
1359
1587
|
AVAILABLE_OPTION_KEYS = [:context, :change, :force,
|
1360
|
-
:path, :persistent
|
1361
|
-
|
1588
|
+
:path, :persistent, :named_path]
|
1589
|
+
# @private
|
1590
|
+
def validate_options(options)
|
1362
1591
|
return if options.nil?
|
1363
1592
|
unknown_keys = options.keys - AVAILABLE_OPTION_KEYS
|
1364
1593
|
unless unknown_keys.empty?
|
@@ -1366,7 +1595,8 @@ module Groonga
|
|
1366
1595
|
end
|
1367
1596
|
end
|
1368
1597
|
|
1369
|
-
|
1598
|
+
# @private
|
1599
|
+
def create_options
|
1370
1600
|
{
|
1371
1601
|
:name => @name,
|
1372
1602
|
:path => @options[:path],
|
@@ -1375,12 +1605,14 @@ module Groonga
|
|
1375
1605
|
}
|
1376
1606
|
end
|
1377
1607
|
|
1378
|
-
|
1608
|
+
# @private
|
1609
|
+
def persistent?
|
1379
1610
|
@options[:persistent].nil? ? true : @options[:persistent]
|
1380
1611
|
end
|
1381
1612
|
end
|
1382
1613
|
|
1383
|
-
|
1614
|
+
# @private
|
1615
|
+
class ViewRemoveDefinition
|
1384
1616
|
def initialize(name, options={})
|
1385
1617
|
@name = name
|
1386
1618
|
@options = options
|
@@ -1392,7 +1624,8 @@ module Groonga
|
|
1392
1624
|
end
|
1393
1625
|
end
|
1394
1626
|
|
1395
|
-
|
1627
|
+
# @private
|
1628
|
+
class ColumnDefinition
|
1396
1629
|
include Path
|
1397
1630
|
|
1398
1631
|
attr_accessor :name, :type
|
@@ -1448,13 +1681,17 @@ module Groonga
|
|
1448
1681
|
def path(context, table)
|
1449
1682
|
user_path = @options[:path]
|
1450
1683
|
return user_path if user_path
|
1684
|
+
return nil unless use_named_path?
|
1451
1685
|
columns_dir = columns_directory_path(table)
|
1452
1686
|
FileUtils.mkdir_p(columns_dir)
|
1453
1687
|
File.join(columns_dir, @name)
|
1454
1688
|
end
|
1455
1689
|
end
|
1456
1690
|
|
1457
|
-
|
1691
|
+
# @private
|
1692
|
+
class ColumnRemoveDefinition
|
1693
|
+
include Path
|
1694
|
+
|
1458
1695
|
attr_accessor :name
|
1459
1696
|
attr_reader :options
|
1460
1697
|
|
@@ -1476,11 +1713,46 @@ module Groonga
|
|
1476
1713
|
raise ColumnNotExists.new(name)
|
1477
1714
|
end
|
1478
1715
|
|
1479
|
-
column.remove
|
1716
|
+
result = column.remove
|
1717
|
+
columns_dir = columns_directory_path(table)
|
1718
|
+
rmdir_if_available(columns_dir)
|
1719
|
+
result
|
1720
|
+
end
|
1721
|
+
end
|
1722
|
+
|
1723
|
+
# @private
|
1724
|
+
class ColumnRenameDefinition
|
1725
|
+
include Path
|
1726
|
+
|
1727
|
+
attr_accessor :current_name, :new_name
|
1728
|
+
attr_reader :options
|
1729
|
+
|
1730
|
+
def initialize(current_name, new_name, options={})
|
1731
|
+
@current_name = current_name
|
1732
|
+
@current_name = @current_name.to_s if @current_name.is_a?(Symbol)
|
1733
|
+
@new_name = new_name
|
1734
|
+
@new_name = @new_name.to_s if @new_name.is_a?(Symbol)
|
1735
|
+
@options = (options || {}).dup
|
1736
|
+
end
|
1737
|
+
|
1738
|
+
def define(table_definition, table)
|
1739
|
+
if @current_name.respond_to?(:call)
|
1740
|
+
current_name = @current_name.call(table_definition.context)
|
1741
|
+
else
|
1742
|
+
current_name = @current_name
|
1743
|
+
end
|
1744
|
+
column = table.column(current_name)
|
1745
|
+
|
1746
|
+
if column.nil?
|
1747
|
+
raise ColumnNotExists.new(name)
|
1748
|
+
end
|
1749
|
+
|
1750
|
+
column.rename(@new_name)
|
1480
1751
|
end
|
1481
1752
|
end
|
1482
1753
|
|
1483
|
-
|
1754
|
+
# @private
|
1755
|
+
class IndexColumnDefinition
|
1484
1756
|
include Path
|
1485
1757
|
|
1486
1758
|
class << self
|
@@ -1581,6 +1853,7 @@ module Groonga
|
|
1581
1853
|
def path(context, table, name)
|
1582
1854
|
user_path = @options[:path]
|
1583
1855
|
return user_path if user_path
|
1856
|
+
return nil unless use_named_path?
|
1584
1857
|
columns_dir = "#{table.path}.columns"
|
1585
1858
|
FileUtils.mkdir_p(columns_dir)
|
1586
1859
|
File.join(columns_dir, name)
|