rroonga 5.0.9-x64-mingw32 → 5.1.1-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +2 -1
- data/ext/groonga/{rb-grn-conf.c → rb-grn-config.c} +18 -13
- data/ext/groonga/rb-grn-database.c +83 -0
- data/ext/groonga/rb-grn-fix-size-column.c +85 -0
- data/ext/groonga/rb-grn-index-column.c +82 -0
- data/ext/groonga/rb-grn-object.c +67 -1
- data/ext/groonga/rb-grn-table-key-support.c +87 -1
- data/ext/groonga/rb-grn-table.c +2 -2
- data/ext/groonga/rb-grn-variable-size-column.c +84 -1
- data/ext/groonga/rb-grn.h +5 -5
- data/ext/groonga/rb-groonga.c +27 -1
- data/lib/2.0/groonga.so +0 -0
- data/lib/2.1/groonga.so +0 -0
- data/lib/2.2/groonga.so +0 -0
- data/lib/2.3/groonga.so +0 -0
- data/lib/groonga/context.rb +12 -3
- data/lib/groonga/expression-builder.rb +2 -1
- data/rroonga-build.rb +6 -6
- data/test/test-accessor.rb +30 -0
- data/test/{test-conf.rb → test-config.rb} +5 -5
- data/test/test-database.rb +41 -0
- data/test/test-fix-size-column.rb +84 -0
- data/test/test-index-column.rb +71 -1
- data/test/test-package-label.rb +20 -0
- data/test/test-table-key-support.rb +42 -0
- data/test/test-table.rb +13 -0
- data/test/test-variable-size-column.rb +71 -1
- data/vendor/local/bin/grndb.exe +0 -0
- data/vendor/local/bin/groonga-benchmark.exe +0 -0
- data/vendor/local/bin/groonga.exe +0 -0
- data/vendor/local/bin/libgcc_s_seh-1.dll +0 -0
- data/vendor/local/bin/libgroonga-0.dll +0 -0
- data/vendor/local/bin/libmecab-1.dll +0 -0
- data/vendor/local/bin/libmsgpack-4.dll +0 -0
- data/vendor/local/bin/libmsgpackc-2.dll +0 -0
- data/vendor/local/bin/libonig-5.dll +0 -0
- data/vendor/local/bin/libstdc++-6.dll +0 -0
- data/vendor/local/bin/lz4.exe +0 -0
- data/vendor/local/bin/lz4c.exe +0 -0
- data/vendor/local/bin/lz4cat +0 -0
- data/vendor/local/bin/mecab.exe +0 -0
- data/vendor/local/bin/zlib1.dll +0 -0
- data/vendor/local/etc/groonga/httpd/groonga-httpd.conf +9 -9
- data/vendor/local/include/groonga/groonga/file_reader.h +40 -0
- data/vendor/local/include/groonga/groonga/groonga.h +1 -0
- data/vendor/local/include/groonga/groonga/obj.h +7 -42
- data/vendor/local/include/groonga/groonga/portability.h +4 -4
- data/vendor/local/include/groonga/groonga.h +1 -0
- data/vendor/local/lib/groonga/plugins/functions/vector.a +0 -0
- data/vendor/local/lib/groonga/plugins/functions/vector.dll +0 -0
- data/vendor/local/lib/groonga/plugins/functions/vector.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/query_expanders/tsv.a +0 -0
- data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll +0 -0
- data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/ruby/eval.a +0 -0
- data/vendor/local/lib/groonga/plugins/ruby/eval.dll +0 -0
- data/vendor/local/lib/groonga/plugins/ruby/eval.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/ruby/load.a +0 -0
- data/vendor/local/lib/groonga/plugins/ruby/load.dll +0 -0
- data/vendor/local/lib/groonga/plugins/ruby/load.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/sharding/logical_range_filter.rb +70 -38
- 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/table/table.a +0 -0
- data/vendor/local/lib/groonga/plugins/table/table.dll +0 -0
- data/vendor/local/lib/groonga/plugins/table/table.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/token_filters/stop_word.a +0 -0
- data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll +0 -0
- data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll.a +0 -0
- 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/scripts/ruby/command_line/grndb.rb +21 -0
- data/vendor/local/lib/groonga/scripts/ruby/id.rb +12 -0
- data/vendor/local/lib/groonga/scripts/ruby/initialize/post.rb +2 -0
- data/vendor/local/lib/groonga/scripts/ruby/logger.rb +3 -1
- data/vendor/local/lib/groonga/scripts/ruby/scan_info_data.rb +6 -0
- data/vendor/local/lib/libgroonga.a +0 -0
- data/vendor/local/lib/libgroonga.dll.a +0 -0
- data/vendor/local/lib/liblz4.a +0 -0
- data/vendor/local/lib/liblz4.dll +0 -0
- data/vendor/local/lib/liblz4.dll.1 +0 -0
- data/vendor/local/lib/liblz4.dll.1.5.0 +0 -0
- data/vendor/local/lib/libmecab.a +0 -0
- data/vendor/local/lib/libmecab.dll.a +0 -0
- data/vendor/local/lib/libmsgpack.a +0 -0
- data/vendor/local/lib/libmsgpack.dll.a +0 -0
- data/vendor/local/lib/libmsgpackc.a +0 -0
- data/vendor/local/lib/libmsgpackc.dll.a +0 -0
- data/vendor/local/lib/libonig.a +0 -0
- data/vendor/local/lib/libonig.dll.a +0 -0
- data/vendor/local/lib/libz.a +0 -0
- data/vendor/local/lib/libz.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/groonga.pc +2 -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/sbin/groonga-httpd.exe +0 -0
- data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/community.txt +7 -2
- data/vendor/local/share/doc/groonga/en/html/_sources/install/centos.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/debian.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/fedora.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/mac_os_x.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/others.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/solaris.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/ubuntu.txt +4 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/windows.txt +9 -9
- data/vendor/local/share/doc/groonga/en/html/_sources/news/4.x.txt +1 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +122 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/command/pretty_print.txt +45 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/command.txt +1 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/lock_clear.txt +1 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/reindex.txt +142 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/between.txt +10 -23
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/geo_distance.txt +4 -4
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/highlight_full.txt +2 -2
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/highlight_html.txt +2 -2
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/html_untag.txt +2 -2
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/in_values.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/prefix_rk_search.txt +158 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/query.txt +2 -2
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/snippet_html.txt +2 -2
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/sub_filter.txt +2 -2
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/vector_size.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/operations/geolocation_search.txt +1 -2
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/operations/prefix_rk_search.txt +76 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/operations.txt +3 -2
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/suggest/completion.txt +2 -7
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/tuning.txt +1 -2
- data/vendor/local/share/doc/groonga/en/html/_static/searchtools.js +37 -8
- data/vendor/local/share/doc/groonga/en/html/characteristic.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/client.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/community.html +12 -6
- data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_autotools.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_cmake.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/build/windows_cmake.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/build.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/cooperation.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/release.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/repository.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/development.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution/report.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/contribution.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/development/travis-ci.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/development.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/genindex.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/index.html +72 -68
- data/vendor/local/share/doc/groonga/en/html/install/centos.html +8 -8
- data/vendor/local/share/doc/groonga/en/html/install/debian.html +8 -8
- data/vendor/local/share/doc/groonga/en/html/install/fedora.html +8 -8
- data/vendor/local/share/doc/groonga/en/html/install/mac_os_x.html +8 -8
- data/vendor/local/share/doc/groonga/en/html/install/others.html +8 -8
- data/vendor/local/share/doc/groonga/en/html/install/solaris.html +8 -8
- data/vendor/local/share/doc/groonga/en/html/install/ubuntu.html +9 -8
- data/vendor/local/share/doc/groonga/en/html/install/windows.html +14 -14
- data/vendor/local/share/doc/groonga/en/html/install.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/limitations.html +5 -5
- 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/1.2.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/1.3.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/2.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/3.x.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news/4.x.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/news/senna.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/news.html +187 -76
- data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
- data/vendor/local/share/doc/groonga/en/html/reference/api/global_configurations.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_cache.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_column.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_command_version.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_content_type.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ctx.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_db.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_encoding.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_expr.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_geo.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_hook.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ii.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_index_cursor.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_info.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_match_escalation.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_obj.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_proc.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_search.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table_cursor.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_thread.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_type.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_user_data.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/overview.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api/plugin.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/api.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/cast.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/column.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/columns/index.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/columns/pseudo.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/columns/scalar.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/columns/vector.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/command/command_version.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/command/output_format.html +10 -10
- data/vendor/local/share/doc/groonga/en/html/reference/command/pretty_print.html +183 -0
- data/vendor/local/share/doc/groonga/en/html/reference/command/request_id.html +22 -22
- data/vendor/local/share/doc/groonga/en/html/reference/command/return_code.html +21 -21
- data/vendor/local/share/doc/groonga/en/html/reference/command.html +58 -56
- data/vendor/local/share/doc/groonga/en/html/reference/commands/cache_limit.html +29 -29
- data/vendor/local/share/doc/groonga/en/html/reference/commands/check.html +25 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/clearlock.html +27 -27
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_copy.html +41 -41
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_create.html +25 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_list.html +31 -31
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_remove.html +25 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_rename.html +33 -33
- data/vendor/local/share/doc/groonga/en/html/reference/commands/database_unmap.html +29 -29
- data/vendor/local/share/doc/groonga/en/html/reference/commands/define_selector.html +27 -27
- data/vendor/local/share/doc/groonga/en/html/reference/commands/defrag.html +25 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/delete.html +29 -29
- data/vendor/local/share/doc/groonga/en/html/reference/commands/dump.html +37 -37
- data/vendor/local/share/doc/groonga/en/html/reference/commands/io_flush.html +33 -33
- data/vendor/local/share/doc/groonga/en/html/reference/commands/load.html +29 -29
- data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_clear.html +28 -27
- data/vendor/local/share/doc/groonga/en/html/reference/commands/log_level.html +27 -27
- data/vendor/local/share/doc/groonga/en/html/reference/commands/log_put.html +27 -27
- data/vendor/local/share/doc/groonga/en/html/reference/commands/log_reopen.html +29 -29
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_count.html +39 -39
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_parameters.html +31 -31
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_range_filter.html +57 -57
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_select.html +105 -105
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_shard_list.html +33 -33
- data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_table_remove.html +37 -37
- data/vendor/local/share/doc/groonga/en/html/reference/commands/normalize.html +37 -37
- data/vendor/local/share/doc/groonga/en/html/reference/commands/normalizer_list.html +25 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/object_exist.html +29 -29
- data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_register.html +25 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_unregister.html +25 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/quit.html +25 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/range_filter.html +25 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/register.html +26 -26
- data/vendor/local/share/doc/groonga/en/html/reference/commands/reindex.html +279 -0
- data/vendor/local/share/doc/groonga/en/html/reference/commands/request_cancel.html +32 -32
- data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_eval.html +29 -29
- data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_load.html +29 -29
- data/vendor/local/share/doc/groonga/en/html/reference/commands/select.html +107 -107
- data/vendor/local/share/doc/groonga/en/html/reference/commands/shutdown.html +25 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/status.html +29 -29
- data/vendor/local/share/doc/groonga/en/html/reference/commands/suggest.html +27 -27
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_create.html +49 -49
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_list.html +25 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_remove.html +35 -35
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_rename.html +31 -31
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_tokenize.html +39 -39
- data/vendor/local/share/doc/groonga/en/html/reference/commands/thread_limit.html +31 -31
- data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenize.html +43 -43
- data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenizer_list.html +25 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/truncate.html +25 -25
- data/vendor/local/share/doc/groonga/en/html/reference/executables/grndb.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables/grnslap.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-benchmark.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-httpd.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-server-http.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-create-dataset.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-httpd.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-learner.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/executables.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/function.html +18 -17
- data/vendor/local/share/doc/groonga/en/html/reference/functions/between.html +14 -8
- data/vendor/local/share/doc/groonga/en/html/reference/functions/edit_distance.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_distance.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_circle.html +6 -6
- data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_rectangle.html +6 -6
- data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_full.html +8 -8
- data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_html.html +9 -9
- data/vendor/local/share/doc/groonga/en/html/reference/functions/html_untag.html +9 -9
- data/vendor/local/share/doc/groonga/en/html/reference/functions/in_values.html +8 -8
- data/vendor/local/share/doc/groonga/en/html/reference/functions/now.html +11 -11
- data/vendor/local/share/doc/groonga/en/html/reference/functions/prefix_rk_search.html +434 -0
- data/vendor/local/share/doc/groonga/en/html/reference/functions/query.html +42 -42
- data/vendor/local/share/doc/groonga/en/html/reference/functions/rand.html +27 -27
- data/vendor/local/share/doc/groonga/en/html/reference/functions/snippet_html.html +27 -27
- data/vendor/local/share/doc/groonga/en/html/reference/functions/sub_filter.html +31 -31
- data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_size.html +23 -23
- data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/query_syntax.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/script_syntax.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/grn_expr.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/indexing.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/log.html +9 -9
- data/vendor/local/share/doc/groonga/en/html/reference/normalizers.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/operations/geolocation_search.html +12 -12
- data/vendor/local/share/doc/groonga/en/html/reference/operations/prefix_rk_search.html +203 -0
- data/vendor/local/share/doc/groonga/en/html/reference/operations.html +15 -17
- data/vendor/local/share/doc/groonga/en/html/reference/output.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/query_expanders/tsv.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/query_expanders.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/regular_expression.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/scorer.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_at_most.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_idf.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/sharding.html +15 -15
- data/vendor/local/share/doc/groonga/en/html/reference/suggest/completion.html +7 -11
- data/vendor/local/share/doc/groonga/en/html/reference/suggest/correction.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/suggest/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/suggest/suggestion.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/suggest.html +10 -10
- data/vendor/local/share/doc/groonga/en/html/reference/tables.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/token_filters.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/reference/tuning.html +6 -6
- data/vendor/local/share/doc/groonga/en/html/reference/types.html +9 -9
- data/vendor/local/share/doc/groonga/en/html/reference.html +72 -68
- 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/server/gqtp.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/server/http/comparison.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/server/http/groonga-httpd.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/server/http/groonga.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/server/http.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/server/memcached.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/server/package.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/server.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/spec/gqtp.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/spec/search.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/spec.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/troubleshooting/mmap_cannot_allocate_memory.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/community.txt +7 -2
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/centos.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/debian.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/fedora.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/mac_os_x.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/others.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/solaris.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/ubuntu.txt +4 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/windows.txt +9 -9
- data/vendor/local/share/doc/groonga/ja/html/_sources/news/4.x.txt +1 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +122 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/command/pretty_print.txt +45 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/command.txt +1 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/lock_clear.txt +1 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/reindex.txt +142 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/between.txt +10 -23
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/geo_distance.txt +4 -4
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/highlight_full.txt +2 -2
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/highlight_html.txt +2 -2
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/html_untag.txt +2 -2
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/in_values.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/prefix_rk_search.txt +158 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/query.txt +2 -2
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/snippet_html.txt +2 -2
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/sub_filter.txt +2 -2
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/vector_size.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/operations/geolocation_search.txt +1 -2
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/operations/prefix_rk_search.txt +76 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/operations.txt +3 -2
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/suggest/completion.txt +2 -7
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/tuning.txt +1 -2
- data/vendor/local/share/doc/groonga/ja/html/_static/searchtools.js +37 -8
- data/vendor/local/share/doc/groonga/ja/html/characteristic.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/client.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/community.html +14 -6
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_autotools.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_cmake.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/windows_cmake.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/build.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/cooperation.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/release.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/repository.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/contribution.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/development/travis-ci.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/development.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/genindex.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/index.html +71 -67
- data/vendor/local/share/doc/groonga/ja/html/install/centos.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/install/debian.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/install/fedora.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/install/mac_os_x.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/install/others.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/install/solaris.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/install/ubuntu.html +9 -8
- data/vendor/local/share/doc/groonga/ja/html/install/windows.html +14 -14
- data/vendor/local/share/doc/groonga/ja/html/install.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/limitations.html +5 -5
- 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/1.2.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/1.3.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/2.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/3.x.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news/4.x.html +6 -6
- data/vendor/local/share/doc/groonga/ja/html/news/senna.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/news.html +188 -76
- data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/api/global_configurations.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_cache.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_column.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_command_version.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_content_type.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ctx.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_db.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_encoding.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_expr.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_geo.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_hook.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ii.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_index_cursor.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_info.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_match_escalation.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_obj.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_proc.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_search.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table_cursor.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_thread.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_type.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_user_data.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/overview.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api/plugin.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/api.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/cast.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/column.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/columns/index.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/columns/pseudo.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/columns/scalar.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/columns/vector.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/command/command_version.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/command/output_format.html +12 -11
- data/vendor/local/share/doc/groonga/ja/html/reference/command/pretty_print.html +183 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/command/request_id.html +28 -33
- data/vendor/local/share/doc/groonga/ja/html/reference/command/return_code.html +21 -21
- data/vendor/local/share/doc/groonga/ja/html/reference/command.html +58 -56
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/cache_limit.html +29 -29
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/check.html +25 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/clearlock.html +27 -27
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_copy.html +41 -41
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_create.html +25 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_list.html +31 -31
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_remove.html +25 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_rename.html +33 -33
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/database_unmap.html +29 -29
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/define_selector.html +27 -27
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/defrag.html +25 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/delete.html +29 -29
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/dump.html +37 -37
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/io_flush.html +33 -33
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/load.html +31 -31
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_clear.html +33 -37
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_level.html +27 -27
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_put.html +27 -27
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_reopen.html +29 -29
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_count.html +39 -39
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_parameters.html +31 -31
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_range_filter.html +57 -57
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_select.html +105 -105
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_shard_list.html +33 -33
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_table_remove.html +37 -37
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalize.html +37 -37
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalizer_list.html +25 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_exist.html +29 -29
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_register.html +25 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_unregister.html +25 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/quit.html +25 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/range_filter.html +25 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/register.html +26 -26
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/reindex.html +267 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/request_cancel.html +32 -32
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_eval.html +29 -29
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_load.html +29 -29
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/select.html +107 -107
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/shutdown.html +25 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/status.html +29 -29
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/suggest.html +31 -31
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_create.html +49 -49
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_list.html +25 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_remove.html +35 -35
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_rename.html +31 -31
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_tokenize.html +39 -39
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/thread_limit.html +31 -31
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenize.html +43 -43
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenizer_list.html +25 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/truncate.html +25 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/grndb.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/grnslap.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-benchmark.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-httpd.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-server-http.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-create-dataset.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-httpd.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-learner.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/executables.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/function.html +18 -17
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/between.html +13 -7
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/edit_distance.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_distance.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_circle.html +6 -6
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_rectangle.html +6 -6
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_full.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_html.html +9 -9
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/html_untag.html +9 -9
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_values.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/now.html +11 -11
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/prefix_rk_search.html +422 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/query.html +42 -42
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/rand.html +27 -27
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/snippet_html.html +27 -27
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/sub_filter.html +31 -31
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_size.html +23 -23
- data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/query_syntax.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/script_syntax.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/indexing.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/log.html +9 -9
- data/vendor/local/share/doc/groonga/ja/html/reference/normalizers.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/operations/geolocation_search.html +10 -10
- data/vendor/local/share/doc/groonga/ja/html/reference/operations/prefix_rk_search.html +190 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/operations.html +11 -13
- data/vendor/local/share/doc/groonga/ja/html/reference/output.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders/tsv.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/regular_expression.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/scorer.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_at_most.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_idf.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/sharding.html +15 -15
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest/completion.html +6 -7
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest/correction.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest/suggestion.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest.html +10 -10
- data/vendor/local/share/doc/groonga/ja/html/reference/tables.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/token_filters.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/reference/tuning.html +6 -6
- data/vendor/local/share/doc/groonga/ja/html/reference/types.html +9 -9
- data/vendor/local/share/doc/groonga/ja/html/reference.html +71 -67
- 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/server/gqtp.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/server/http/comparison.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/server/http/groonga-httpd.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/server/http/groonga.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/server/http.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/server/memcached.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/server/package.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/server.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/spec/gqtp.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/spec/search.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/spec.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting/mmap_cannot_allocate_memory.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial.html +5 -5
- data/vendor/local/share/groonga/html/admin/404.html +26 -2
- data/vendor/local/share/groonga/html/admin/bower_components/bootstrap-sass-official/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
- data/vendor/local/share/groonga/html/admin/bower_components/bootstrap-sass-official/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +272 -213
- data/vendor/local/share/groonga/html/admin/bower_components/bootstrap-sass-official/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
- data/vendor/local/share/groonga/html/admin/bower_components/bootstrap-sass-official/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
- data/vendor/local/share/groonga/html/admin/bower_components/bootstrap-sass-official/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
- data/vendor/local/share/groonga/html/admin/index.html +39 -5
- data/vendor/local/share/groonga/html/admin/scripts/oldieshim.572be7b4.js +2337 -0
- data/vendor/local/share/groonga/html/admin/scripts/scripts.a1c295fa.js +1749 -0
- data/vendor/local/share/groonga/html/admin/scripts/vendor.2c228d46.js +50748 -0
- data/vendor/local/share/groonga/html/admin/styles/main.d9de008c.css +12602 -0
- data/vendor/local/share/groonga/html/admin/styles/vendor.7f75f6e0.css +130 -0
- data/vendor/local/share/groonga/html/admin/views/columns/new.html +64 -1
- data/vendor/local/share/groonga/html/admin/views/columns/show.html +70 -1
- data/vendor/local/share/groonga/html/admin/views/tables/index.html +53 -1
- data/vendor/local/share/groonga/html/admin/views/tables/new.html +54 -2
- data/vendor/local/share/groonga/html/admin/views/tables/search.html +236 -1
- data/vendor/local/share/groonga/html/admin/views/tables/show.html +111 -1
- data/vendor/local/share/groonga/html/admin/views/top.html +20 -1
- data/vendor/local/share/license/groonga-admin/README.md +2 -2
- data/vendor/local/share/man/ja/man1/groonga.1 +955 -3334
- data/vendor/local/share/man/man1/groonga.1 +937 -3373
- metadata +78 -57
- data/vendor/local/share/groonga/html/admin/images/yeoman.d2754b85.png +0 -0
- data/vendor/local/share/groonga/html/admin/scripts/oldieshim.a466b7b1.js +0 -1
- data/vendor/local/share/groonga/html/admin/scripts/scripts.87083bfd.js +0 -1
- data/vendor/local/share/groonga/html/admin/scripts/vendor.fa48c0ac.js +0 -13
- data/vendor/local/share/groonga/html/admin/styles/main.0390285b.css +0 -1
- data/vendor/local/share/groonga/html/admin/styles/vendor.f4ae649a.css +0 -10
@@ -0,0 +1,1749 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
(function() {
|
4
|
+
function GroongaClient($http) {
|
5
|
+
this._$http = $http;
|
6
|
+
this._pathPrefix = '/d/';
|
7
|
+
}
|
8
|
+
window.GroongaClient = GroongaClient;
|
9
|
+
|
10
|
+
GroongaClient.prototype.execute = function(name, parameters) {
|
11
|
+
var params = {
|
12
|
+
callback: 'JSON_CALLBACK'
|
13
|
+
};
|
14
|
+
for (var key in parameters) {
|
15
|
+
var value = parameters[key].toString();
|
16
|
+
if (value.length === 0) {
|
17
|
+
continue;
|
18
|
+
}
|
19
|
+
params[key] = value;
|
20
|
+
}
|
21
|
+
var rawRequest = this._$http.jsonp(this._pathPrefix + name + '.json',
|
22
|
+
{params: params});
|
23
|
+
var request = new GroongaClient.Request(rawRequest, name, params);
|
24
|
+
return request;
|
25
|
+
};
|
26
|
+
|
27
|
+
GroongaClient.Request = function(rawRequest, name, parameters) {
|
28
|
+
this._rawRequest = rawRequest;
|
29
|
+
this._name = name;
|
30
|
+
this._parameters = parameters;
|
31
|
+
};
|
32
|
+
|
33
|
+
GroongaClient.Request.prototype.success = function(callback) {
|
34
|
+
var name = this._name;
|
35
|
+
return this._rawRequest.then(function(rawResponse) {
|
36
|
+
var ResponseConstructor = GroongaClient.Response.find(name);
|
37
|
+
var response = new ResponseConstructor(rawResponse.data);
|
38
|
+
return callback(response, rawResponse);
|
39
|
+
});
|
40
|
+
};
|
41
|
+
|
42
|
+
GroongaClient.Request.prototype.error = function(callback) {
|
43
|
+
return this._rawRequest.then(null, function(rawResponse) {
|
44
|
+
var ResponseConstructor = GroongaClient.Response.find(name);
|
45
|
+
var response = new ResponseConstructor(rawResponse.data);
|
46
|
+
return callback(response, rawResponse);
|
47
|
+
});
|
48
|
+
};
|
49
|
+
|
50
|
+
GroongaClient.Request.prototype.commandLine = function() {
|
51
|
+
function escapeCommandValue(value) {
|
52
|
+
return value.toString().replace(/(["\\])/g, function(match) {
|
53
|
+
return '\\' + match;
|
54
|
+
});
|
55
|
+
}
|
56
|
+
|
57
|
+
var components = [this._name];
|
58
|
+
for (var key in this._parameters) {
|
59
|
+
if (key === 'callback') {
|
60
|
+
continue;
|
61
|
+
}
|
62
|
+
|
63
|
+
var value = this._parameters[key];
|
64
|
+
components.push('--' + key);
|
65
|
+
components.push('"' + escapeCommandValue(value) + '"');
|
66
|
+
}
|
67
|
+
return components.join(' ');
|
68
|
+
};
|
69
|
+
})();
|
70
|
+
|
71
|
+
'use strict';
|
72
|
+
|
73
|
+
GroongaClient.Response = {
|
74
|
+
};
|
75
|
+
|
76
|
+
GroongaClient.Response.find = function(name) {
|
77
|
+
var constructorName = name.replace(/(^.|_.)/g, function(matched) {
|
78
|
+
if (matched.length === 1) {
|
79
|
+
return matched.toUpperCase();
|
80
|
+
} else {
|
81
|
+
return matched[1].toUpperCase();
|
82
|
+
}
|
83
|
+
});
|
84
|
+
return this[constructorName] || this.Base;
|
85
|
+
};
|
86
|
+
|
87
|
+
'use strict';
|
88
|
+
|
89
|
+
(function() {
|
90
|
+
function Base(rawData) {
|
91
|
+
this._rawData = rawData;
|
92
|
+
}
|
93
|
+
GroongaClient.Response.Base = Base;
|
94
|
+
|
95
|
+
Base.prototype.rawData = function() {
|
96
|
+
return this._rawData;
|
97
|
+
};
|
98
|
+
|
99
|
+
Base.prototype.header = function() {
|
100
|
+
return this._rawData[0];
|
101
|
+
};
|
102
|
+
|
103
|
+
Base.prototype.status = function() {
|
104
|
+
return this.header()[0];
|
105
|
+
};
|
106
|
+
|
107
|
+
Base.prototype.isSuccess = function() {
|
108
|
+
return this.status() === 0;
|
109
|
+
};
|
110
|
+
|
111
|
+
Base.prototype.startTime = function() {
|
112
|
+
var startTime = new Date();
|
113
|
+
startTime.setTime(this.header()[1]);
|
114
|
+
return startTime;
|
115
|
+
};
|
116
|
+
|
117
|
+
Base.prototype.elapsedTime = function() {
|
118
|
+
return this.header()[2];
|
119
|
+
};
|
120
|
+
|
121
|
+
Base.prototype.errorMessage = function() {
|
122
|
+
return this.header()[3];
|
123
|
+
};
|
124
|
+
|
125
|
+
Base.prototype.body = function() {
|
126
|
+
return this._rawData[1];
|
127
|
+
};
|
128
|
+
})();
|
129
|
+
|
130
|
+
'use strict';
|
131
|
+
|
132
|
+
(function() {
|
133
|
+
function Select(rawData) {
|
134
|
+
GroongaClient.Response.Base.call(this, rawData);
|
135
|
+
}
|
136
|
+
GroongaClient.Response.Select = Select;
|
137
|
+
|
138
|
+
Select.prototype = Object.create(GroongaClient.Response.Base.prototype);
|
139
|
+
Select.prototype.constructor = Select;
|
140
|
+
|
141
|
+
Select.prototype.nTotalRecords = function() {
|
142
|
+
return this.body()[0][0][0];
|
143
|
+
};
|
144
|
+
|
145
|
+
Select.prototype.columns = function() {
|
146
|
+
return this.body()[0][1].map(function(rawDefinition) {
|
147
|
+
return {
|
148
|
+
name: rawDefinition[0],
|
149
|
+
type: rawDefinition[1]
|
150
|
+
};
|
151
|
+
});
|
152
|
+
};
|
153
|
+
|
154
|
+
Select.prototype.records = function() {
|
155
|
+
return this.body()[0].slice(2);
|
156
|
+
};
|
157
|
+
|
158
|
+
Select.prototype.drilldowns = function() {
|
159
|
+
return this.body().slice(1).map(function(drilldown) {
|
160
|
+
var columns = drilldown[1].map(function(rawColumn) {
|
161
|
+
return {
|
162
|
+
name: rawColumn[0],
|
163
|
+
type: rawColumn[1]
|
164
|
+
};
|
165
|
+
});
|
166
|
+
return {
|
167
|
+
nTotalRecords: drilldown[0][0],
|
168
|
+
columns: columns,
|
169
|
+
records: drilldown.slice(2).map(function(rawRecord) {
|
170
|
+
var record = {};
|
171
|
+
columns.forEach(function(column, i) {
|
172
|
+
record[column.name] = rawRecord[i];
|
173
|
+
});
|
174
|
+
return record;
|
175
|
+
})
|
176
|
+
};
|
177
|
+
});
|
178
|
+
};
|
179
|
+
})();
|
180
|
+
|
181
|
+
'use strict';
|
182
|
+
|
183
|
+
(function() {
|
184
|
+
function Schema(rawData) {
|
185
|
+
GroongaClient.Response.Base.call(this, rawData);
|
186
|
+
}
|
187
|
+
GroongaClient.Response.Schema = Schema;
|
188
|
+
|
189
|
+
Schema.prototype = Object.create(GroongaClient.Response.Base.prototype);
|
190
|
+
Schema.prototype.constructor = Schema;
|
191
|
+
})();
|
192
|
+
|
193
|
+
'use strict';
|
194
|
+
|
195
|
+
(function() {
|
196
|
+
function TableList(rawData) {
|
197
|
+
GroongaClient.Response.Base.call(this, rawData);
|
198
|
+
}
|
199
|
+
GroongaClient.Response.TableList = TableList;
|
200
|
+
|
201
|
+
TableList.prototype = Object.create(GroongaClient.Response.Base.prototype);
|
202
|
+
TableList.prototype.constructor = TableList;
|
203
|
+
|
204
|
+
TableList.prototype.parameters = function() {
|
205
|
+
return this.body()[0].map(function(parameter) {
|
206
|
+
return {
|
207
|
+
name: parameter[0],
|
208
|
+
type: parameter[1]
|
209
|
+
};
|
210
|
+
});
|
211
|
+
};
|
212
|
+
|
213
|
+
TableList.prototype.tables = function() {
|
214
|
+
var parameters = this.parameters();
|
215
|
+
return this.body().slice(1).map(function(tableProperties) {
|
216
|
+
var table = {
|
217
|
+
properties: {},
|
218
|
+
rawProperties: tableProperties
|
219
|
+
};
|
220
|
+
parameters.forEach(function(parameter, index) {
|
221
|
+
var name = parameter.name;
|
222
|
+
var value = tableProperties[index];
|
223
|
+
switch (name) {
|
224
|
+
case 'flags':
|
225
|
+
value = value.split('|');
|
226
|
+
break;
|
227
|
+
case 'default_tokenizer':
|
228
|
+
name = 'tokenizer';
|
229
|
+
break;
|
230
|
+
case 'token_filters':
|
231
|
+
name = 'tokenFilters';
|
232
|
+
break;
|
233
|
+
}
|
234
|
+
table[name] = table.properties[name] = value;
|
235
|
+
});
|
236
|
+
table.isArray = table.flags.indexOf('TABLE_NO_KEY') != -1;
|
237
|
+
table.isHashTable = table.flags.indexOf('TABLE_HASH_KEY') != -1;
|
238
|
+
table.isPatriciaTrie = table.flags.indexOf('TABLE_PAT_KEY') != -1;
|
239
|
+
table.isDoubleArrayTrie = table.flags.indexOf('TABLE_DAT_KEY') != -1;
|
240
|
+
table.hasKey = !table.isArray;
|
241
|
+
if (table.isArray) {
|
242
|
+
table.type = 'array';
|
243
|
+
} else if (table.isHashTable) {
|
244
|
+
table.type = 'hash table';
|
245
|
+
} else if (table.isPatriciaTrie) {
|
246
|
+
table.type = 'patricia trie';
|
247
|
+
} else if (table.isDoubleArrayTrie) {
|
248
|
+
table.type = 'double array trie';
|
249
|
+
} else {
|
250
|
+
table.type = 'unknown';
|
251
|
+
}
|
252
|
+
return table;
|
253
|
+
});
|
254
|
+
};
|
255
|
+
})();
|
256
|
+
|
257
|
+
'use strict';
|
258
|
+
|
259
|
+
(function() {
|
260
|
+
function TableCreate(rawData) {
|
261
|
+
GroongaClient.Response.Base.call(this, rawData);
|
262
|
+
}
|
263
|
+
GroongaClient.Response.TableCreate = TableCreate;
|
264
|
+
|
265
|
+
TableCreate.prototype = Object.create(GroongaClient.Response.Base.prototype);
|
266
|
+
TableCreate.prototype.constructor = TableCreate;
|
267
|
+
|
268
|
+
TableCreate.prototype.isCreated = function() {
|
269
|
+
return this.isSuccess() && this.body();
|
270
|
+
};
|
271
|
+
})();
|
272
|
+
|
273
|
+
'use strict';
|
274
|
+
|
275
|
+
(function() {
|
276
|
+
function TableRemove(rawData) {
|
277
|
+
GroongaClient.Response.Base.call(this, rawData);
|
278
|
+
}
|
279
|
+
GroongaClient.Response.TableRemove = TableRemove;
|
280
|
+
|
281
|
+
TableRemove.prototype = Object.create(GroongaClient.Response.Base.prototype);
|
282
|
+
TableRemove.prototype.constructor = TableRemove;
|
283
|
+
|
284
|
+
TableRemove.prototype.isRemoved = function() {
|
285
|
+
return this.isSuccess() && this.body();
|
286
|
+
};
|
287
|
+
})();
|
288
|
+
|
289
|
+
'use strict';
|
290
|
+
|
291
|
+
(function() {
|
292
|
+
function ColumnList(rawData) {
|
293
|
+
GroongaClient.Response.Base.call(this, rawData);
|
294
|
+
}
|
295
|
+
GroongaClient.Response.ColumnList = ColumnList;
|
296
|
+
|
297
|
+
ColumnList.prototype = Object.create(GroongaClient.Response.Base.prototype);
|
298
|
+
ColumnList.prototype.constructor = ColumnList;
|
299
|
+
|
300
|
+
ColumnList.prototype.parameters = function() {
|
301
|
+
return this.body()[0].map(function(parameter) {
|
302
|
+
return {
|
303
|
+
name: parameter[0],
|
304
|
+
type: parameter[1]
|
305
|
+
};
|
306
|
+
});
|
307
|
+
};
|
308
|
+
|
309
|
+
ColumnList.prototype.columns = function() {
|
310
|
+
return this.body().slice(1).map(function(rawColumn) {
|
311
|
+
return this.parseRawColumn(rawColumn);
|
312
|
+
}, this);
|
313
|
+
};
|
314
|
+
|
315
|
+
ColumnList.prototype.parseRawColumn = function(rawColumn) {
|
316
|
+
var parameters = this.parameters();
|
317
|
+
var column = {
|
318
|
+
properties: {},
|
319
|
+
rawProperties: rawColumn
|
320
|
+
};
|
321
|
+
parameters.forEach(function(parameter, index) {
|
322
|
+
var name = parameter.name;
|
323
|
+
var value = rawColumn[index];
|
324
|
+
switch (parameter.name) {
|
325
|
+
case 'type':
|
326
|
+
name = 'sizeType';
|
327
|
+
break;
|
328
|
+
case 'flags':
|
329
|
+
value = value.split('|');
|
330
|
+
break;
|
331
|
+
case 'source':
|
332
|
+
name = 'sources';
|
333
|
+
break;
|
334
|
+
}
|
335
|
+
column[name] = column.properties[name] = value;
|
336
|
+
});
|
337
|
+
column.isScalar = column.flags.indexOf('COLUMN_SCALAR') != -1;
|
338
|
+
column.isVector = column.flags.indexOf('COLUMN_VECTOR') != -1;
|
339
|
+
column.isIndex = column.flags.indexOf('COLUMN_INDEX') != -1;
|
340
|
+
if (column.isScalar) {
|
341
|
+
column.type = 'scalar';
|
342
|
+
} else if (column.isVector) {
|
343
|
+
column.type = 'vector';
|
344
|
+
} else if (column.isIndex) {
|
345
|
+
column.type = 'index';
|
346
|
+
} else {
|
347
|
+
column.type = 'unknown';
|
348
|
+
}
|
349
|
+
return column;
|
350
|
+
};
|
351
|
+
})();
|
352
|
+
|
353
|
+
'use strict';
|
354
|
+
|
355
|
+
(function() {
|
356
|
+
function ColumnCreate(rawData) {
|
357
|
+
GroongaClient.Response.Base.call(this, rawData);
|
358
|
+
}
|
359
|
+
GroongaClient.Response.ColumnCreate = ColumnCreate;
|
360
|
+
|
361
|
+
ColumnCreate.prototype = Object.create(GroongaClient.Response.Base.prototype);
|
362
|
+
ColumnCreate.prototype.constructor = ColumnCreate;
|
363
|
+
|
364
|
+
ColumnCreate.prototype.isCreated = function() {
|
365
|
+
return this.isSuccess() && this.body();
|
366
|
+
};
|
367
|
+
})();
|
368
|
+
|
369
|
+
'use strict';
|
370
|
+
|
371
|
+
(function() {
|
372
|
+
function ColumnRemove(rawData) {
|
373
|
+
GroongaClient.Response.Base.call(this, rawData);
|
374
|
+
}
|
375
|
+
GroongaClient.Response.ColumnRemove = ColumnRemove;
|
376
|
+
|
377
|
+
ColumnRemove.prototype = Object.create(GroongaClient.Response.Base.prototype);
|
378
|
+
ColumnRemove.prototype.constructor = ColumnRemove;
|
379
|
+
|
380
|
+
ColumnRemove.prototype.isRemoved = function() {
|
381
|
+
return this.isSuccess() && this.body();
|
382
|
+
};
|
383
|
+
})();
|
384
|
+
|
385
|
+
'use strict';
|
386
|
+
|
387
|
+
(function(global) {
|
388
|
+
function TimeUnit(parameters) {
|
389
|
+
this.label = parameters.label;
|
390
|
+
this.baseTimeInMilliseconds = parameters.baseTimeInMilliseconds;
|
391
|
+
this.getBaseDate = parameters.getBaseDate;
|
392
|
+
}
|
393
|
+
global.TimeUnit = TimeUnit;
|
394
|
+
|
395
|
+
TimeUnit.units = {};
|
396
|
+
|
397
|
+
TimeUnit.register = function(name, unit) {
|
398
|
+
TimeUnit.units[name] = unit;
|
399
|
+
};
|
400
|
+
|
401
|
+
TimeUnit.getOrderedUnits = function() {
|
402
|
+
var orderedUnits = [];
|
403
|
+
for (var name in TimeUnit.units) {
|
404
|
+
orderedUnits.push(TimeUnit.units[name]);
|
405
|
+
}
|
406
|
+
orderedUnits.sort(function(unit1, unit2) {
|
407
|
+
return unit1.baseTimeInMilliseconds - unit2.baseTimeInMilliseconds;
|
408
|
+
});
|
409
|
+
return orderedUnits;
|
410
|
+
};
|
411
|
+
|
412
|
+
TimeUnit.findByDateRange = function(start, end) {
|
413
|
+
var orderedUnits = TimeUnit.getOrderedUnits();
|
414
|
+
|
415
|
+
if (!start && !end) {
|
416
|
+
return orderedUnits[0];
|
417
|
+
}
|
418
|
+
|
419
|
+
var unit;
|
420
|
+
for (var i = 0; i < orderedUnits.length; i++) {
|
421
|
+
var candidateUnit = orderedUnits[i];
|
422
|
+
if (start && !candidateUnit.dateIncluded(start)) {
|
423
|
+
continue;
|
424
|
+
}
|
425
|
+
if (end && !candidateUnit.dateIncluded(end)) {
|
426
|
+
continue;
|
427
|
+
}
|
428
|
+
unit = candidateUnit;
|
429
|
+
break;
|
430
|
+
}
|
431
|
+
if (!unit) {
|
432
|
+
unit = orderedUnits[orderedUnits.length - 1];
|
433
|
+
}
|
434
|
+
return unit;
|
435
|
+
};
|
436
|
+
|
437
|
+
TimeUnit.prototype.dateIncluded = function(date) {
|
438
|
+
var baseDate = this.getBaseDate();
|
439
|
+
var baseTime = baseDate.getTime();
|
440
|
+
var time = date.getTime();
|
441
|
+
return (baseTime <= time &&
|
442
|
+
time <= (baseTime * this.baseTimeInMilliseconds));
|
443
|
+
};
|
444
|
+
|
445
|
+
TimeUnit.prototype.percentToDate = function(percent) {
|
446
|
+
var baseDate = this.getBaseDate();
|
447
|
+
var date;
|
448
|
+
date = new Date();
|
449
|
+
date.setTime(baseDate.getTime() +
|
450
|
+
this.baseTimeInMilliseconds * percent);
|
451
|
+
return date;
|
452
|
+
};
|
453
|
+
|
454
|
+
TimeUnit.prototype.dateToPercent = function(date) {
|
455
|
+
var diffTime = date.getTime() - this.getBaseDate().getTime();
|
456
|
+
return diffTime / this.baseTimeInMilliseconds;
|
457
|
+
};
|
458
|
+
|
459
|
+
|
460
|
+
// Built-in units
|
461
|
+
TimeUnit.register('hour', new TimeUnit({
|
462
|
+
label: 'Hour',
|
463
|
+
baseTimeInMilliseconds: 60 * 60 * 1000,
|
464
|
+
getBaseDate: function() {
|
465
|
+
var now = new Date();
|
466
|
+
return new Date(now.getFullYear(),
|
467
|
+
now.getMonth(),
|
468
|
+
now.getDate(),
|
469
|
+
now.getHours(),
|
470
|
+
now.getMinutes() - 30);
|
471
|
+
}
|
472
|
+
}));
|
473
|
+
|
474
|
+
TimeUnit.register('day', new TimeUnit({
|
475
|
+
label: 'Day',
|
476
|
+
baseTimeInMilliseconds: 24 * 60 * 60 * 1000,
|
477
|
+
getBaseDate: function() {
|
478
|
+
var now = new Date();
|
479
|
+
return new Date(now.getFullYear(),
|
480
|
+
now.getMonth(),
|
481
|
+
now.getDate(),
|
482
|
+
now.getHours() - 12);
|
483
|
+
}
|
484
|
+
}));
|
485
|
+
|
486
|
+
TimeUnit.register('week', new TimeUnit({
|
487
|
+
label: 'Week',
|
488
|
+
baseTimeInMilliseconds: 7 * 24 * 60 * 60 * 1000,
|
489
|
+
getBaseDate: function() {
|
490
|
+
var now = new Date();
|
491
|
+
return new Date(now.getFullYear(),
|
492
|
+
now.getMonth(),
|
493
|
+
now.getDate() - 3,
|
494
|
+
now.getHours() - 12);
|
495
|
+
}
|
496
|
+
}));
|
497
|
+
|
498
|
+
TimeUnit.register('month', new TimeUnit({
|
499
|
+
label: 'Month',
|
500
|
+
baseTimeInMilliseconds: 30 * 24 * 60 * 60 * 1000,
|
501
|
+
getBaseDate: function() {
|
502
|
+
var now = new Date();
|
503
|
+
return new Date(now.getFullYear(),
|
504
|
+
now.getMonth(),
|
505
|
+
now.getDate() - 15);
|
506
|
+
}
|
507
|
+
}));
|
508
|
+
|
509
|
+
TimeUnit.register('year', new TimeUnit({
|
510
|
+
label: 'Year',
|
511
|
+
baseTimeInMilliseconds: 365 * 24 * 60 * 60 * 1000,
|
512
|
+
getBaseDate: function() {
|
513
|
+
var now = new Date();
|
514
|
+
return new Date(now.getFullYear(),
|
515
|
+
now.getMonth() - 6);
|
516
|
+
}
|
517
|
+
}));
|
518
|
+
|
519
|
+
TimeUnit.register('decade', new TimeUnit({
|
520
|
+
label: 'Decade',
|
521
|
+
baseTimeInMilliseconds: 10 * 365 * 24 * 60 * 60 * 1000,
|
522
|
+
getBaseDate: function() {
|
523
|
+
var now = new Date();
|
524
|
+
return new Date(now.getFullYear() - 5);
|
525
|
+
}
|
526
|
+
}));
|
527
|
+
})(window);
|
528
|
+
|
529
|
+
'use strict';
|
530
|
+
|
531
|
+
/**
|
532
|
+
* @ngdoc overview
|
533
|
+
* @name groongaAdminApp
|
534
|
+
* @description
|
535
|
+
* # groongaAdminApp
|
536
|
+
*
|
537
|
+
* Main module of the application.
|
538
|
+
*/
|
539
|
+
angular
|
540
|
+
.module('groongaAdminApp', [
|
541
|
+
'ngAnimate',
|
542
|
+
'ngCookies',
|
543
|
+
'ngResource',
|
544
|
+
'ngRoute',
|
545
|
+
'ngSanitize',
|
546
|
+
'ngTouch',
|
547
|
+
'ui.bootstrap',
|
548
|
+
'ui.bootstrap-slider'
|
549
|
+
])
|
550
|
+
.config(function ($routeProvider) {
|
551
|
+
$routeProvider
|
552
|
+
.when('/', {
|
553
|
+
templateUrl: 'views/top.html',
|
554
|
+
controller: 'TopController'
|
555
|
+
})
|
556
|
+
.when('/tables/', {
|
557
|
+
templateUrl: 'views/tables/index.html',
|
558
|
+
controller: 'TableIndexController'
|
559
|
+
})
|
560
|
+
.when('/tables/_new', {
|
561
|
+
templateUrl: 'views/tables/new.html',
|
562
|
+
controller: 'TableNewController'
|
563
|
+
})
|
564
|
+
.when('/tables/:table/', {
|
565
|
+
templateUrl: 'views/tables/show.html',
|
566
|
+
controller: 'TableShowController'
|
567
|
+
})
|
568
|
+
.when('/tables/:table/search', {
|
569
|
+
templateUrl: 'views/tables/search.html',
|
570
|
+
controller: 'TableSearchController'
|
571
|
+
})
|
572
|
+
.when('/tables/:table/columns/_new', {
|
573
|
+
templateUrl: 'views/columns/new.html',
|
574
|
+
controller: 'ColumnNewController'
|
575
|
+
})
|
576
|
+
.when('/tables/:table/columns/:column', {
|
577
|
+
templateUrl: 'views/columns/show.html',
|
578
|
+
controller: 'ColumnShowController'
|
579
|
+
})
|
580
|
+
.otherwise({
|
581
|
+
redirectTo: '/'
|
582
|
+
});
|
583
|
+
});
|
584
|
+
|
585
|
+
'use strict';
|
586
|
+
|
587
|
+
/**
|
588
|
+
* @ngdoc function
|
589
|
+
* @name groongaAdminApp.service:schemaLoader
|
590
|
+
* @description
|
591
|
+
* # schemaLoader
|
592
|
+
* Groonga database schema loader.
|
593
|
+
*/
|
594
|
+
angular.module('groongaAdminApp')
|
595
|
+
.factory('schemaLoader', [
|
596
|
+
'$q', '$http', '$timeout',
|
597
|
+
function ($q, $http, $timeout) {
|
598
|
+
var fetching = false;
|
599
|
+
var waitingDeferes = [];
|
600
|
+
var fetched = false;
|
601
|
+
var schema;
|
602
|
+
var client = new GroongaClient($http);
|
603
|
+
|
604
|
+
function createSchema() {
|
605
|
+
var newSchema = {};
|
606
|
+
fillTypes(newSchema);
|
607
|
+
return newSchema;
|
608
|
+
}
|
609
|
+
|
610
|
+
function fillTypes(schema) {
|
611
|
+
var builtinTypes = [
|
612
|
+
{
|
613
|
+
name: 'Bool'
|
614
|
+
},
|
615
|
+
{
|
616
|
+
name: 'Int8'
|
617
|
+
},
|
618
|
+
{
|
619
|
+
name: 'UInt8'
|
620
|
+
},
|
621
|
+
{
|
622
|
+
name: 'Int16'
|
623
|
+
},
|
624
|
+
{
|
625
|
+
name: 'UInt16'
|
626
|
+
},
|
627
|
+
{
|
628
|
+
name: 'Int32'
|
629
|
+
},
|
630
|
+
{
|
631
|
+
name: 'UInt32'
|
632
|
+
},
|
633
|
+
{
|
634
|
+
name: 'Int64'
|
635
|
+
},
|
636
|
+
{
|
637
|
+
name: 'UInt64'
|
638
|
+
},
|
639
|
+
{
|
640
|
+
name: 'Float'
|
641
|
+
},
|
642
|
+
{
|
643
|
+
name: 'Time'
|
644
|
+
},
|
645
|
+
{
|
646
|
+
name: 'ShortText'
|
647
|
+
},
|
648
|
+
{
|
649
|
+
name: 'Text'
|
650
|
+
},
|
651
|
+
{
|
652
|
+
name: 'LongText'
|
653
|
+
},
|
654
|
+
{
|
655
|
+
name: 'TokyoGeoPoint'
|
656
|
+
},
|
657
|
+
{
|
658
|
+
name: 'WGS84GeoPoint'
|
659
|
+
}
|
660
|
+
];
|
661
|
+
schema.types = {};
|
662
|
+
angular.forEach(builtinTypes, function(type) {
|
663
|
+
schema.types[type.name] = type;
|
664
|
+
});
|
665
|
+
}
|
666
|
+
|
667
|
+
function isTextType(typeName) {
|
668
|
+
switch (typeName) {
|
669
|
+
case 'ShortText':
|
670
|
+
case 'Text':
|
671
|
+
case 'LongText':
|
672
|
+
return true;
|
673
|
+
default:
|
674
|
+
return false;
|
675
|
+
}
|
676
|
+
}
|
677
|
+
|
678
|
+
function isReferenceType(schema, typeName) {
|
679
|
+
return typeName in schema.tables;
|
680
|
+
}
|
681
|
+
|
682
|
+
function resolveTable(table) {
|
683
|
+
table.keyType = {
|
684
|
+
name: table.domain,
|
685
|
+
isTextType: isTextType(table.domain)
|
686
|
+
};
|
687
|
+
}
|
688
|
+
|
689
|
+
function resolveTables(schema) {
|
690
|
+
angular.forEach(schema.tables, function(table) {
|
691
|
+
resolveTable(table);
|
692
|
+
});
|
693
|
+
}
|
694
|
+
|
695
|
+
function resolveColumn(schema, column) {
|
696
|
+
column.valueType = {
|
697
|
+
name: column.range,
|
698
|
+
isTextType: isTextType(column.range),
|
699
|
+
isReferenceType: isReferenceType(schema, column.range)
|
700
|
+
};
|
701
|
+
}
|
702
|
+
|
703
|
+
function resolveColumns(schema) {
|
704
|
+
angular.forEach(schema.tables, function(table) {
|
705
|
+
angular.forEach(table.columns, function(column) {
|
706
|
+
resolveColumn(schema, column);
|
707
|
+
});
|
708
|
+
});
|
709
|
+
}
|
710
|
+
|
711
|
+
function resolveIndex(schema, column) {
|
712
|
+
var table = schema.tables[column.range];
|
713
|
+
column.sources.forEach(function(source) {
|
714
|
+
var columnName;
|
715
|
+
if (source.indexOf('.') === -1) {
|
716
|
+
columnName = '_key';
|
717
|
+
} else {
|
718
|
+
columnName = source.split('.')[1];
|
719
|
+
}
|
720
|
+
var targetColumn = table.columns[columnName];
|
721
|
+
targetColumn.indexes.push(column);
|
722
|
+
});
|
723
|
+
}
|
724
|
+
|
725
|
+
function resolveIndexes(schema) {
|
726
|
+
angular.forEach(schema.tables, function(table) {
|
727
|
+
angular.forEach(table.columns, function(column) {
|
728
|
+
if (column.isIndex) {
|
729
|
+
resolveIndex(schema, column);
|
730
|
+
}
|
731
|
+
});
|
732
|
+
});
|
733
|
+
}
|
734
|
+
|
735
|
+
function addColumn(table, column) {
|
736
|
+
column.table = table;
|
737
|
+
column.indexes = [];
|
738
|
+
table.columns[column.name] = column;
|
739
|
+
}
|
740
|
+
|
741
|
+
function fetchColumns(table) {
|
742
|
+
table.columns = {};
|
743
|
+
|
744
|
+
return client.execute('column_list', {table: table.name})
|
745
|
+
.success(function(response) {
|
746
|
+
var columns = response.columns();
|
747
|
+
|
748
|
+
var rawIDColumn = [
|
749
|
+
table.id, // id
|
750
|
+
'_id', // name
|
751
|
+
table.path, // path
|
752
|
+
'fix', // type
|
753
|
+
'COLUMN_SCALAR|PERSISTENT', // flags
|
754
|
+
table.name, // domain
|
755
|
+
'UInt32', // range
|
756
|
+
[] // source
|
757
|
+
];
|
758
|
+
columns.unshift(response.parseRawColumn(rawIDColumn));
|
759
|
+
|
760
|
+
columns.forEach(function(column) {
|
761
|
+
addColumn(table, column);
|
762
|
+
});
|
763
|
+
});
|
764
|
+
}
|
765
|
+
|
766
|
+
function fetchTables(schema) {
|
767
|
+
schema.tables = {};
|
768
|
+
return client.execute('table_list')
|
769
|
+
.success(function(response) {
|
770
|
+
response.tables().forEach(function(table) {
|
771
|
+
schema.tables[table.name] = table;
|
772
|
+
});
|
773
|
+
resolveTables(schema);
|
774
|
+
|
775
|
+
var fetchColumnsTasks = [];
|
776
|
+
angular.forEach(schema.tables, function(table) {
|
777
|
+
fetchColumnsTasks.push(fetchColumns(table));
|
778
|
+
});
|
779
|
+
|
780
|
+
return $q.all(fetchColumnsTasks)
|
781
|
+
.then(function() {
|
782
|
+
resolveColumns(schema);
|
783
|
+
resolveIndexes(schema);
|
784
|
+
fetched = true;
|
785
|
+
fetching = false;
|
786
|
+
waitingDeferes.forEach(function(defer) {
|
787
|
+
defer.resolve(schema);
|
788
|
+
});
|
789
|
+
waitingDeferes = [];
|
790
|
+
return schema;
|
791
|
+
});
|
792
|
+
});
|
793
|
+
}
|
794
|
+
|
795
|
+
schema = createSchema();
|
796
|
+
|
797
|
+
return function() {
|
798
|
+
var defer;
|
799
|
+
var loader;
|
800
|
+
if (fetching) {
|
801
|
+
defer = $q.defer();
|
802
|
+
waitingDeferes.push(defer);
|
803
|
+
loader = defer.promise;
|
804
|
+
} else if (fetched) {
|
805
|
+
defer = $q.defer();
|
806
|
+
$timeout(function() {
|
807
|
+
defer.resolve(schema);
|
808
|
+
});
|
809
|
+
loader = defer.promise;
|
810
|
+
} else {
|
811
|
+
fetching = true;
|
812
|
+
loader = fetchTables(schema);
|
813
|
+
}
|
814
|
+
loader.reload = function() {
|
815
|
+
fetching = false;
|
816
|
+
fetched = false;
|
817
|
+
schema = createSchema();
|
818
|
+
};
|
819
|
+
return loader;
|
820
|
+
};
|
821
|
+
}]);
|
822
|
+
|
823
|
+
'use strict';
|
824
|
+
|
825
|
+
/**
|
826
|
+
* @ngdoc function
|
827
|
+
* @name groongaAdminApp.controller:TopController
|
828
|
+
* @description
|
829
|
+
* # TopController
|
830
|
+
* Controller of the groongaAdminApp
|
831
|
+
*/
|
832
|
+
angular.module('groongaAdminApp')
|
833
|
+
.controller('TopController', [
|
834
|
+
'$scope', 'schemaLoader',
|
835
|
+
function ($scope, schemaLoader) {
|
836
|
+
$scope.tables = [];
|
837
|
+
schemaLoader()
|
838
|
+
.then(function(schema) {
|
839
|
+
angular.forEach(schema.tables, function(table) {
|
840
|
+
$scope.tables.push(table);
|
841
|
+
});
|
842
|
+
});
|
843
|
+
}]);
|
844
|
+
|
845
|
+
'use strict';
|
846
|
+
|
847
|
+
/**
|
848
|
+
* @ngdoc function
|
849
|
+
* @name groongaAdminApp.controller:TableIndexController
|
850
|
+
* @description
|
851
|
+
* # TableIndexController
|
852
|
+
* Controller of the groongaAdminApp
|
853
|
+
*/
|
854
|
+
angular.module('groongaAdminApp')
|
855
|
+
.controller('TableIndexController', [
|
856
|
+
'$scope', 'schemaLoader',
|
857
|
+
function ($scope, schemaLoader) {
|
858
|
+
var schema;
|
859
|
+
|
860
|
+
function initialize() {
|
861
|
+
$scope.tables = [];
|
862
|
+
}
|
863
|
+
|
864
|
+
initialize();
|
865
|
+
schemaLoader()
|
866
|
+
.then(function(_schema) {
|
867
|
+
schema = _schema;
|
868
|
+
|
869
|
+
var tables = [];
|
870
|
+
angular.forEach(schema.tables, function(value) {
|
871
|
+
tables.push(value);
|
872
|
+
});
|
873
|
+
$scope.tables = tables.sort(function(table1, table2) {
|
874
|
+
return (table1.name > table2.name) ? 1 : -1;
|
875
|
+
});
|
876
|
+
});
|
877
|
+
}]);
|
878
|
+
|
879
|
+
'use strict';
|
880
|
+
|
881
|
+
/**
|
882
|
+
* @ngdoc function
|
883
|
+
* @name groongaAdminApp.controller:TableShowController
|
884
|
+
* @description
|
885
|
+
* # TableShowController
|
886
|
+
* Controller of the groongaAdminApp
|
887
|
+
*/
|
888
|
+
angular.module('groongaAdminApp')
|
889
|
+
.controller('TableShowController', [
|
890
|
+
'$scope', '$routeParams', '$http', '$location', 'schemaLoader',
|
891
|
+
function ($scope, $routeParams, $http, $location, schemaLoader) {
|
892
|
+
var schema;
|
893
|
+
var client = new GroongaClient($http);
|
894
|
+
|
895
|
+
function initialize() {
|
896
|
+
$scope.table = {
|
897
|
+
name: $routeParams.table,
|
898
|
+
columns: []
|
899
|
+
};
|
900
|
+
$scope.remove = remove;
|
901
|
+
}
|
902
|
+
|
903
|
+
function remove() {
|
904
|
+
if (!window.confirm('Really remove the table?')) {
|
905
|
+
return;
|
906
|
+
}
|
907
|
+
|
908
|
+
var request = client.execute('table_remove', {name: $scope.table.name});
|
909
|
+
request.success(function(response) {
|
910
|
+
console.log(response);
|
911
|
+
if (response.isRemoved()) {
|
912
|
+
schemaLoader().reload();
|
913
|
+
$location.url('/tables/');
|
914
|
+
} else {
|
915
|
+
var errorMessage = response.errorMessage();
|
916
|
+
$scope.message = 'Failed to remove the table: ' + errorMessage;
|
917
|
+
}
|
918
|
+
});
|
919
|
+
}
|
920
|
+
|
921
|
+
initialize();
|
922
|
+
schemaLoader()
|
923
|
+
.then(function(_schema) {
|
924
|
+
schema = _schema;
|
925
|
+
|
926
|
+
var table = schema.tables[$scope.table.name];
|
927
|
+
angular.extend($scope.table, table);
|
928
|
+
var columns = [];
|
929
|
+
angular.forEach(table.columns, function(value) {
|
930
|
+
columns.push(value);
|
931
|
+
});
|
932
|
+
$scope.table.columns = columns.sort(function(column1, column2) {
|
933
|
+
return (column1.name > column2.name) ? 1 : -1;
|
934
|
+
});
|
935
|
+
});
|
936
|
+
}]);
|
937
|
+
|
938
|
+
'use strict';
|
939
|
+
|
940
|
+
/**
|
941
|
+
* @ngdoc function
|
942
|
+
* @name groongaAdminApp.controller:TableNewController
|
943
|
+
* @description
|
944
|
+
* # TableNewController
|
945
|
+
* Controller of the groongaAdminApp
|
946
|
+
*/
|
947
|
+
angular.module('groongaAdminApp')
|
948
|
+
.controller('TableNewController', [
|
949
|
+
'$scope', '$http', '$location', 'schemaLoader',
|
950
|
+
function ($scope, $http, $location, schemaLoader) {
|
951
|
+
var schema;
|
952
|
+
var client = new GroongaClient($http);
|
953
|
+
|
954
|
+
function initialize() {
|
955
|
+
$scope.availableTypes = {
|
956
|
+
array: {
|
957
|
+
label: 'Array',
|
958
|
+
flag: 'TABLE_NO_KEY'
|
959
|
+
},
|
960
|
+
hashTable: {
|
961
|
+
label: 'Hash table',
|
962
|
+
flag: 'TABLE_HASH_KEY'
|
963
|
+
},
|
964
|
+
patriciaTrie: {
|
965
|
+
label: 'Patricia trie',
|
966
|
+
flag: 'TABLE_PAT_KEY'
|
967
|
+
},
|
968
|
+
doubleArrayTrie: {
|
969
|
+
label: 'Double array trie',
|
970
|
+
flag: 'TABLE_DAT_KEY'
|
971
|
+
}
|
972
|
+
};
|
973
|
+
$scope.parameters = {
|
974
|
+
type: $scope.availableTypes.array
|
975
|
+
};
|
976
|
+
$scope.tables = {
|
977
|
+
};
|
978
|
+
$scope.submit = submit;
|
979
|
+
}
|
980
|
+
|
981
|
+
function submit() {
|
982
|
+
var parameters = {
|
983
|
+
name: $scope.parameters.name,
|
984
|
+
flags: [$scope.parameters.type.flag].join('|')
|
985
|
+
};
|
986
|
+
var request = client.execute('table_create', parameters);
|
987
|
+
request.success(function(response) {
|
988
|
+
if (response.isCreated()) {
|
989
|
+
schemaLoader().reload();
|
990
|
+
$location.url('/tables/' + parameters.name);
|
991
|
+
} else {
|
992
|
+
var errorMessage = response.errorMessage();
|
993
|
+
$scope.message = 'Failed to create the table: ' + errorMessage;
|
994
|
+
}
|
995
|
+
});
|
996
|
+
}
|
997
|
+
|
998
|
+
initialize();
|
999
|
+
schemaLoader()
|
1000
|
+
.then(function(_schema) {
|
1001
|
+
schema = _schema;
|
1002
|
+
|
1003
|
+
$scope.tables = schema.tables;
|
1004
|
+
});
|
1005
|
+
}]);
|
1006
|
+
|
1007
|
+
'use strict';
|
1008
|
+
|
1009
|
+
/**
|
1010
|
+
* @ngdoc function
|
1011
|
+
* @name groongaAdminApp.controller:TableSearchController
|
1012
|
+
* @description
|
1013
|
+
* # TableSearchController
|
1014
|
+
* Controller of the groongaAdminApp
|
1015
|
+
*/
|
1016
|
+
angular.module('groongaAdminApp')
|
1017
|
+
.controller('TableSearchController', [
|
1018
|
+
'$scope',
|
1019
|
+
'$routeParams',
|
1020
|
+
'$location',
|
1021
|
+
'$http',
|
1022
|
+
'$filter',
|
1023
|
+
'$interval',
|
1024
|
+
'schemaLoader',
|
1025
|
+
function ($scope,
|
1026
|
+
$routeParams,
|
1027
|
+
$location,
|
1028
|
+
$http,
|
1029
|
+
$filter,
|
1030
|
+
$interval,
|
1031
|
+
schemaLoader) {
|
1032
|
+
var schema;
|
1033
|
+
var client = new GroongaClient($http);
|
1034
|
+
var autoRefreshPromise = null;
|
1035
|
+
|
1036
|
+
function findElement(array, finder) {
|
1037
|
+
var i, length;
|
1038
|
+
length = array.length;
|
1039
|
+
for (i = 0; i < length; i++) {
|
1040
|
+
var element = array[i];
|
1041
|
+
if (finder(element)) {
|
1042
|
+
return element;
|
1043
|
+
}
|
1044
|
+
}
|
1045
|
+
return undefined;
|
1046
|
+
}
|
1047
|
+
|
1048
|
+
function computeCurrentPage(offset) {
|
1049
|
+
return Math.ceil((parseInt(offset) + 1) / $scope.nRecordsInPage);
|
1050
|
+
}
|
1051
|
+
|
1052
|
+
function initialize() {
|
1053
|
+
$scope.orderedTimeColumnUnits = TimeUnit.getOrderedUnits();
|
1054
|
+
|
1055
|
+
$scope.table = {
|
1056
|
+
name: $routeParams.table,
|
1057
|
+
allColumns: [],
|
1058
|
+
timeColumns: [],
|
1059
|
+
indexedColumns: []
|
1060
|
+
};
|
1061
|
+
$scope.style = 'table';
|
1062
|
+
$scope.response = {
|
1063
|
+
rawData: [],
|
1064
|
+
columns: [],
|
1065
|
+
records: [],
|
1066
|
+
drilldowns: [],
|
1067
|
+
elapsedTimeInMilliseconds: 0,
|
1068
|
+
nTotalRecords: 0
|
1069
|
+
};
|
1070
|
+
$scope.commandLine = '';
|
1071
|
+
$scope.message = '';
|
1072
|
+
$scope.parameters = angular.copy($location.search());
|
1073
|
+
if ($scope.parameters.limit && $scope.parameters.limit > 0) {
|
1074
|
+
$scope.nRecordsInPage = $scope.parameters.limit;
|
1075
|
+
} else {
|
1076
|
+
$scope.nRecordsInPage = 10;
|
1077
|
+
}
|
1078
|
+
$scope.currentPage = computeCurrentPage($scope.parameters.offset || 0);
|
1079
|
+
$scope.maxNPages = 10;
|
1080
|
+
$scope.autoRefreshIntervalInSeconds = 0;
|
1081
|
+
|
1082
|
+
$scope.search = search;
|
1083
|
+
$scope.incrementalSearch = incrementalSearch;
|
1084
|
+
$scope.updateAutoRefresh = updateAutoRefresh;
|
1085
|
+
$scope.clearQuery = clearQuery;
|
1086
|
+
$scope.clear = clear;
|
1087
|
+
$scope.toggleSort = toggleSort;
|
1088
|
+
$scope.selectDrilldown = selectDrilldown;
|
1089
|
+
$scope.toggleAllColumns = toggleAllColumns;
|
1090
|
+
$scope.toggleAllColumnsChecked = true;
|
1091
|
+
}
|
1092
|
+
|
1093
|
+
function packColumns(columns) {
|
1094
|
+
var names = columns.map(function(column) {
|
1095
|
+
return column.name;
|
1096
|
+
});
|
1097
|
+
return names.join(',');
|
1098
|
+
}
|
1099
|
+
|
1100
|
+
function packMatchColumns(columns) {
|
1101
|
+
var names = columns.map(function(column) {
|
1102
|
+
return column.indexName;
|
1103
|
+
});
|
1104
|
+
return names.join(',');
|
1105
|
+
}
|
1106
|
+
|
1107
|
+
function packSortColumns(columns) {
|
1108
|
+
var keys = columns.map(function(column) {
|
1109
|
+
if (column.sort === 'ascending') {
|
1110
|
+
return column.name;
|
1111
|
+
} else {
|
1112
|
+
return '-' + column.name;
|
1113
|
+
}
|
1114
|
+
});
|
1115
|
+
return keys.join(',');
|
1116
|
+
}
|
1117
|
+
|
1118
|
+
function toGroongaTime(date) {
|
1119
|
+
return '"' + $filter('date')(date, 'yyyy-MM-dd HH:mm:ss.sss') + '"';
|
1120
|
+
}
|
1121
|
+
|
1122
|
+
function fromGroongaTime(time) {
|
1123
|
+
if (typeof time === 'number') {
|
1124
|
+
return new Date(time * 1000);
|
1125
|
+
} else {
|
1126
|
+
return new Date(time.replace(/ /, 'T'));
|
1127
|
+
}
|
1128
|
+
}
|
1129
|
+
|
1130
|
+
function toBetweenBorder(included) {
|
1131
|
+
if (included) {
|
1132
|
+
return '"include"';
|
1133
|
+
} else {
|
1134
|
+
return '"exclude"';
|
1135
|
+
}
|
1136
|
+
}
|
1137
|
+
|
1138
|
+
function fromBetweenBorder(border) {
|
1139
|
+
return border === 'include';
|
1140
|
+
}
|
1141
|
+
|
1142
|
+
function buildFilter() {
|
1143
|
+
$scope.table.timeColumns.forEach(function(column) {
|
1144
|
+
column.syncFromRange();
|
1145
|
+
});
|
1146
|
+
var timeQueries = $scope.table.timeColumns.filter(function(column) {
|
1147
|
+
return column.start || column.end;
|
1148
|
+
}).map(function(column) {
|
1149
|
+
var operator;
|
1150
|
+
var groongaTime;
|
1151
|
+
if (column.start && column.end) {
|
1152
|
+
return 'between(' + column.name + ', ' +
|
1153
|
+
toGroongaTime(column.start) + ', ' +
|
1154
|
+
toBetweenBorder(column.startIncluded) + ', ' +
|
1155
|
+
toGroongaTime(column.end) + ', ' +
|
1156
|
+
toBetweenBorder(column.endIncluded) + ')';
|
1157
|
+
} else if (column.start) {
|
1158
|
+
if (column.startIncluded) {
|
1159
|
+
operator = '>=';
|
1160
|
+
} else {
|
1161
|
+
operator = '>';
|
1162
|
+
}
|
1163
|
+
groongaTime = toGroongaTime(column.start);
|
1164
|
+
return column.name + ' ' + operator + ' ' + groongaTime;
|
1165
|
+
} else {
|
1166
|
+
if (column.endIncluded) {
|
1167
|
+
operator = '<=';
|
1168
|
+
} else {
|
1169
|
+
operator = '<';
|
1170
|
+
}
|
1171
|
+
groongaTime = toGroongaTime(column.end);
|
1172
|
+
return column.name + ' ' + operator + ' ' + groongaTime;
|
1173
|
+
}
|
1174
|
+
});
|
1175
|
+
|
1176
|
+
return timeQueries.join(' && ');
|
1177
|
+
}
|
1178
|
+
|
1179
|
+
function buildParameters() {
|
1180
|
+
var parameters = angular.copy($scope.parameters);
|
1181
|
+
|
1182
|
+
var matchColumns = $scope.table.indexedColumns.filter(function(column) {
|
1183
|
+
return column.inUse;
|
1184
|
+
});
|
1185
|
+
parameters.match_columns = packMatchColumns(matchColumns);
|
1186
|
+
|
1187
|
+
var outputColumns = $scope.table.allColumns.filter(function(column) {
|
1188
|
+
return column.output;
|
1189
|
+
});
|
1190
|
+
parameters.output_columns = packColumns(outputColumns);
|
1191
|
+
|
1192
|
+
parameters.offset = ($scope.currentPage - 1) * $scope.nRecordsInPage;
|
1193
|
+
parameters.limit = $scope.nRecordsInPage;
|
1194
|
+
|
1195
|
+
var sortColumns = $scope.table.allColumns.filter(function(column) {
|
1196
|
+
return column.sort;
|
1197
|
+
});
|
1198
|
+
parameters.sortby = packSortColumns(sortColumns);
|
1199
|
+
|
1200
|
+
var drilldowns = $scope.table.allColumns.filter(function(column) {
|
1201
|
+
return column.drilldown;
|
1202
|
+
});
|
1203
|
+
parameters.drilldown = packColumns(drilldowns);
|
1204
|
+
|
1205
|
+
parameters.drilldown_sortby = '-_nsubrecs';
|
1206
|
+
|
1207
|
+
parameters.filter = buildFilter();
|
1208
|
+
|
1209
|
+
return parameters;
|
1210
|
+
}
|
1211
|
+
|
1212
|
+
function search() {
|
1213
|
+
$location.search(buildParameters());
|
1214
|
+
}
|
1215
|
+
|
1216
|
+
function incrementalSearch() {
|
1217
|
+
select(buildParameters());
|
1218
|
+
}
|
1219
|
+
|
1220
|
+
function updateAutoRefresh() {
|
1221
|
+
if (autoRefreshPromise) {
|
1222
|
+
$interval.cancel(autoRefreshPromise);
|
1223
|
+
autoRefreshPromise = null;
|
1224
|
+
}
|
1225
|
+
if ($scope.autoRefreshIntervalInSeconds > 0) {
|
1226
|
+
autoRefreshPromise =
|
1227
|
+
$interval(incrementalSearch,
|
1228
|
+
$scope.autoRefreshIntervalInSeconds * 1000);
|
1229
|
+
}
|
1230
|
+
}
|
1231
|
+
|
1232
|
+
function clearQuery() {
|
1233
|
+
$scope.parameters.query = '';
|
1234
|
+
incrementalSearch();
|
1235
|
+
}
|
1236
|
+
|
1237
|
+
function clear() {
|
1238
|
+
$location.search({});
|
1239
|
+
}
|
1240
|
+
|
1241
|
+
function setSortIconClass(column, sort) {
|
1242
|
+
switch (sort) {
|
1243
|
+
case 'ascending':
|
1244
|
+
column.iconClass = 'glyphicon-sort-by-attributes';
|
1245
|
+
break;
|
1246
|
+
case 'descending':
|
1247
|
+
column.iconClass = 'glyphicon-sort-by-attributes-alt';
|
1248
|
+
break;
|
1249
|
+
default:
|
1250
|
+
column.iconClass = 'glyphicon-sort';
|
1251
|
+
break;
|
1252
|
+
}
|
1253
|
+
}
|
1254
|
+
|
1255
|
+
function toggleAllColumns() {
|
1256
|
+
$scope.table.allColumns.forEach(function(columnInfo) {
|
1257
|
+
if (columnInfo.name === '_id') {
|
1258
|
+
columnInfo.output = true;
|
1259
|
+
} else {
|
1260
|
+
columnInfo.output = $scope.toggleAllColumnsChecked;
|
1261
|
+
}
|
1262
|
+
});
|
1263
|
+
incrementalSearch();
|
1264
|
+
}
|
1265
|
+
|
1266
|
+
function toggleSort(column) {
|
1267
|
+
var columnInfo = findElement($scope.table.allColumns, function(columnInfo) {
|
1268
|
+
return columnInfo.name === column.name;
|
1269
|
+
});
|
1270
|
+
if (!columnInfo) {
|
1271
|
+
return;
|
1272
|
+
}
|
1273
|
+
|
1274
|
+
var sort;
|
1275
|
+
switch (columnInfo.sort) {
|
1276
|
+
case 'ascending':
|
1277
|
+
sort = 'descending';
|
1278
|
+
break;
|
1279
|
+
case 'descending':
|
1280
|
+
sort = null;
|
1281
|
+
break;
|
1282
|
+
default:
|
1283
|
+
sort = 'ascending';
|
1284
|
+
break;
|
1285
|
+
}
|
1286
|
+
columnInfo.sort = sort;
|
1287
|
+
setSortIconClass(column, columnInfo.sort);
|
1288
|
+
incrementalSearch();
|
1289
|
+
}
|
1290
|
+
|
1291
|
+
function selectDrilldown(key, value) {
|
1292
|
+
var queryKey = key;
|
1293
|
+
var column = findElement($scope.table.allColumns, function(column) {
|
1294
|
+
return column.name === key;
|
1295
|
+
});
|
1296
|
+
|
1297
|
+
var escapedValue;
|
1298
|
+
if (typeof value === 'string') {
|
1299
|
+
escapedValue = '"' + value.replace('"', '\\"') + '"';
|
1300
|
+
} else {
|
1301
|
+
escapedValue = value.toString();
|
1302
|
+
}
|
1303
|
+
|
1304
|
+
var query = $scope.parameters.query || '';
|
1305
|
+
if (query.length > 0) {
|
1306
|
+
query += ' ';
|
1307
|
+
}
|
1308
|
+
$scope.parameters.query = query + queryKey + ':' + escapedValue;
|
1309
|
+
|
1310
|
+
var drilldowns = ($scope.parameters.drilldown || '').split(/\s*,\s*/);
|
1311
|
+
drilldowns = drilldowns.filter(function(drilldown) {
|
1312
|
+
return drilldown !== key;
|
1313
|
+
});
|
1314
|
+
$scope.parameters.drilldown = drilldowns.join(',');
|
1315
|
+
|
1316
|
+
search();
|
1317
|
+
}
|
1318
|
+
|
1319
|
+
function createColumnInfo(column) {
|
1320
|
+
var name = column.name;
|
1321
|
+
|
1322
|
+
var output = true;
|
1323
|
+
var outputColumns = $scope.parameters.output_columns;
|
1324
|
+
if (outputColumns) {
|
1325
|
+
outputColumns = outputColumns.split(/\s*,\s*/);
|
1326
|
+
output = outputColumns.indexOf(name) !== -1;
|
1327
|
+
}
|
1328
|
+
|
1329
|
+
var drilldown = false;
|
1330
|
+
var drilldowns = $scope.parameters.drilldown;
|
1331
|
+
if (drilldowns) {
|
1332
|
+
drilldowns = drilldowns.split(/\s*,\s*/);
|
1333
|
+
drilldown = drilldowns.indexOf(name) !== -1;
|
1334
|
+
}
|
1335
|
+
|
1336
|
+
var sort = null;
|
1337
|
+
var sortKeys = ($scope.parameters.sortby || '').split(/\s*,\s*/);
|
1338
|
+
if (sortKeys.indexOf(column.name) !== -1) {
|
1339
|
+
sort = 'ascending';
|
1340
|
+
} else if (sortKeys.indexOf('-' + column.name) !== -1) {
|
1341
|
+
sort = 'descending';
|
1342
|
+
}
|
1343
|
+
|
1344
|
+
return {
|
1345
|
+
name: name,
|
1346
|
+
output: output,
|
1347
|
+
drilldown: drilldown,
|
1348
|
+
sort: sort,
|
1349
|
+
indexes: column.indexes || [],
|
1350
|
+
valueType: column.valueType
|
1351
|
+
};
|
1352
|
+
}
|
1353
|
+
|
1354
|
+
function addTimeColumn(columnInfo) {
|
1355
|
+
if (columnInfo.valueType.name !== 'Time') {
|
1356
|
+
return;
|
1357
|
+
}
|
1358
|
+
|
1359
|
+
var timeColumnInfo = {
|
1360
|
+
name: columnInfo.name,
|
1361
|
+
start: null,
|
1362
|
+
startIncluded: true,
|
1363
|
+
end: null,
|
1364
|
+
endIncluded: true,
|
1365
|
+
unit: TimeUnit.units.day,
|
1366
|
+
range: [0, 0],
|
1367
|
+
syncFromRange: function() {
|
1368
|
+
if (this.range[0] === 0 && this.range[1] === 0) {
|
1369
|
+
return;
|
1370
|
+
}
|
1371
|
+
this.start = this.unit.percentToDate(this.range[0] / 100);
|
1372
|
+
this.end = this.unit.percentToDate(this.range[1] / 100);
|
1373
|
+
},
|
1374
|
+
syncToRange: function() {
|
1375
|
+
this.unit = TimeUnit.findByDateRange(this.start, this.end);
|
1376
|
+
this.updateRangeByDateRange(this.start, this.end);
|
1377
|
+
},
|
1378
|
+
updateRangeByDateRange: function(start, end) {
|
1379
|
+
if (start && end) {
|
1380
|
+
this.range = [
|
1381
|
+
this.unit.dateToPercent(start) * 100,
|
1382
|
+
this.unit.dateToPercent(end) * 100
|
1383
|
+
];
|
1384
|
+
} else if (start) {
|
1385
|
+
this.range = [
|
1386
|
+
this.unit.dateToPercent(start) * 100,
|
1387
|
+
100
|
1388
|
+
];
|
1389
|
+
} else if (end) {
|
1390
|
+
this.range = [
|
1391
|
+
0,
|
1392
|
+
this.unit.dateToPercent(end) * 100
|
1393
|
+
];
|
1394
|
+
} else {
|
1395
|
+
this.range = [0, 0];
|
1396
|
+
}
|
1397
|
+
},
|
1398
|
+
formater: function(value) {
|
1399
|
+
var date = timeColumnInfo.unit.percentToDate(value / 100);
|
1400
|
+
return date.toLocaleString();
|
1401
|
+
},
|
1402
|
+
onRangeChange: function() {
|
1403
|
+
timeColumnInfo.syncFromRange();
|
1404
|
+
incrementalSearch();
|
1405
|
+
},
|
1406
|
+
onUnitChange: function() {
|
1407
|
+
timeColumnInfo.updateRangeByDateRange(timeColumnInfo.start,
|
1408
|
+
timeColumnInfo.end);
|
1409
|
+
}
|
1410
|
+
};
|
1411
|
+
$scope.table.timeColumns.push(timeColumnInfo);
|
1412
|
+
}
|
1413
|
+
|
1414
|
+
function addIndexedColumn(columnInfo) {
|
1415
|
+
if (columnInfo.indexes.length === 0) {
|
1416
|
+
return;
|
1417
|
+
}
|
1418
|
+
|
1419
|
+
var isTextType = false;
|
1420
|
+
if (columnInfo.valueType.isReferenceType) {
|
1421
|
+
var table = schema.tables[columnInfo.valueType.name];
|
1422
|
+
isTextType = table.keyType.isTextType;
|
1423
|
+
} else {
|
1424
|
+
isTextType = columnInfo.valueType.isTextType;
|
1425
|
+
}
|
1426
|
+
|
1427
|
+
if (!isTextType) {
|
1428
|
+
return;
|
1429
|
+
}
|
1430
|
+
|
1431
|
+
var matchColumns = $scope.parameters.match_columns;
|
1432
|
+
var indexName = columnInfo.name;
|
1433
|
+
if (columnInfo.valueType.isReferenceType) {
|
1434
|
+
indexName += '._key';
|
1435
|
+
}
|
1436
|
+
var inUse = true;
|
1437
|
+
if (matchColumns) {
|
1438
|
+
inUse = (matchColumns.indexOf(indexName) !== -1);
|
1439
|
+
}
|
1440
|
+
var indexedColumnInfo = {
|
1441
|
+
name: columnInfo.name,
|
1442
|
+
indexName: indexName,
|
1443
|
+
inUse: inUse
|
1444
|
+
};
|
1445
|
+
$scope.table.indexedColumns.push(indexedColumnInfo);
|
1446
|
+
}
|
1447
|
+
|
1448
|
+
function addColumn(columnInfo) {
|
1449
|
+
$scope.table.allColumns.push(columnInfo);
|
1450
|
+
addTimeColumn(columnInfo);
|
1451
|
+
addIndexedColumn(columnInfo);
|
1452
|
+
}
|
1453
|
+
|
1454
|
+
function applyTimeQueries() {
|
1455
|
+
var filter = $scope.parameters.filter || '';
|
1456
|
+
var conditions = filter.split(/\s*(\|\||&&)\s*/);
|
1457
|
+
conditions.forEach(function(condition) {
|
1458
|
+
var parts;
|
1459
|
+
var columnName;
|
1460
|
+
var operator;
|
1461
|
+
var time;
|
1462
|
+
var timeColumn;
|
1463
|
+
if (/^between\(/.test(condition)) {
|
1464
|
+
parts = condition.split(/\s*[(,)]\s*/).map(function(part) {
|
1465
|
+
var matchData = part.match(/^"(.*)"$/);
|
1466
|
+
if (matchData) {
|
1467
|
+
return matchData[1];
|
1468
|
+
}
|
1469
|
+
matchData = part.match(/^\d+$/);
|
1470
|
+
if (matchData) {
|
1471
|
+
return parseInt(part);
|
1472
|
+
}
|
1473
|
+
matchData = part.match(/^\d+\.\d+$/);
|
1474
|
+
if (matchData) {
|
1475
|
+
return parseFloat(part);
|
1476
|
+
}
|
1477
|
+
return part;
|
1478
|
+
});
|
1479
|
+
columnName = parts[1];
|
1480
|
+
var start = parts[2];
|
1481
|
+
var startBorder = parts[3];
|
1482
|
+
var end = parts[4];
|
1483
|
+
var endBorder = parts[5];
|
1484
|
+
timeColumn = findElement($scope.table.timeColumns, function(column) {
|
1485
|
+
return column.name === columnName;
|
1486
|
+
});
|
1487
|
+
if (!timeColumn) {
|
1488
|
+
return;
|
1489
|
+
}
|
1490
|
+
timeColumn.start = fromGroongaTime(start);
|
1491
|
+
timeColumn.startBorder = fromBetweenBorder(startBorder);
|
1492
|
+
timeColumn.end = fromGroongaTime(end);
|
1493
|
+
timeColumn.endBorder = fromBetweenBorder(endBorder);
|
1494
|
+
timeColumn.syncToRange();
|
1495
|
+
} else if (/(<=|<|>|=>)/.test(condition)) {
|
1496
|
+
parts = condition.split(/(<=|<|>|=>)/);
|
1497
|
+
columnName = parts[0];
|
1498
|
+
operator = parts[1];
|
1499
|
+
time = parts[2];
|
1500
|
+
timeColumn = findElement($scope.table.timeColumns, function(column) {
|
1501
|
+
return column.name === columnName;
|
1502
|
+
});
|
1503
|
+
if (!timeColumn) {
|
1504
|
+
return;
|
1505
|
+
}
|
1506
|
+
switch (operator) {
|
1507
|
+
case '<=':
|
1508
|
+
timeColumn.end = fromGroongaTime(time);
|
1509
|
+
timeColumn.endBorder = 'include';
|
1510
|
+
break;
|
1511
|
+
case '<':
|
1512
|
+
timeColumn.end = fromGroongaTime(time);
|
1513
|
+
timeColumn.endBorder = 'exclude';
|
1514
|
+
break;
|
1515
|
+
case '>':
|
1516
|
+
timeColumn.start = fromGroongaTime(time);
|
1517
|
+
timeColumn.startBorder = 'exclude';
|
1518
|
+
break;
|
1519
|
+
case '>=':
|
1520
|
+
timeColumn.start = fromGroongaTime(time);
|
1521
|
+
timeColumn.startBorder = 'include';
|
1522
|
+
break;
|
1523
|
+
}
|
1524
|
+
timeColumn.syncToRange();
|
1525
|
+
}
|
1526
|
+
});
|
1527
|
+
}
|
1528
|
+
|
1529
|
+
function select(userParameters) {
|
1530
|
+
var parameters = {
|
1531
|
+
table: $scope.table.name
|
1532
|
+
};
|
1533
|
+
angular.forEach(userParameters, function(value, key) {
|
1534
|
+
if (key in parameters) {
|
1535
|
+
return;
|
1536
|
+
}
|
1537
|
+
parameters[key] = value;
|
1538
|
+
});
|
1539
|
+
var request = client.execute('select', parameters);
|
1540
|
+
request.success(function(response) {
|
1541
|
+
$scope.message = '';
|
1542
|
+
$scope.response.rawData = response.rawData();
|
1543
|
+
$scope.commandLine = request.commandLine();
|
1544
|
+
$scope.response.elapsedTimeInMilliseconds =
|
1545
|
+
response.elapsedTime() * 1000;
|
1546
|
+
if (!response.isSuccess()) {
|
1547
|
+
$scope.message =
|
1548
|
+
'Failed to call "select" command: ' + response.errorMessage();
|
1549
|
+
$scope.response.nTotalRecords = 0;
|
1550
|
+
return;
|
1551
|
+
}
|
1552
|
+
$scope.currentPage = computeCurrentPage(parameters.offset || 0);
|
1553
|
+
$scope.response.nTotalRecords = response.nTotalRecords();
|
1554
|
+
$scope.response.columns = response.columns();
|
1555
|
+
$scope.response.columns.forEach(function(column) {
|
1556
|
+
var columnInfo = findElement($scope.table.allColumns, function(columnInfo) {
|
1557
|
+
return columnInfo.name === column.name;
|
1558
|
+
});
|
1559
|
+
if (columnInfo) {
|
1560
|
+
setSortIconClass(column, columnInfo.sort);
|
1561
|
+
}
|
1562
|
+
});
|
1563
|
+
$scope.response.records = response.records().map(function(record) {
|
1564
|
+
return record.map(function(value, index) {
|
1565
|
+
var column = $scope.response.columns[index];
|
1566
|
+
var formattedValue;
|
1567
|
+
if (column.type === 'Time') {
|
1568
|
+
var iso8601Format = 'yyyy-MM-ddTHH:mm:ss.sssZ';
|
1569
|
+
formattedValue = $filter('date')(value * 1000, iso8601Format);
|
1570
|
+
} else {
|
1571
|
+
formattedValue = value;
|
1572
|
+
}
|
1573
|
+
return {
|
1574
|
+
value: value,
|
1575
|
+
formattedValue: formattedValue,
|
1576
|
+
column: column
|
1577
|
+
};
|
1578
|
+
});
|
1579
|
+
});
|
1580
|
+
$scope.response.drilldowns = response.drilldowns();
|
1581
|
+
(parameters.drilldown || '')
|
1582
|
+
.split(/\s*,\s*/)
|
1583
|
+
.filter(function(drilldown) {
|
1584
|
+
return drilldown.length > 0;
|
1585
|
+
})
|
1586
|
+
.forEach(function(drilldown, i) {
|
1587
|
+
$scope.response.drilldowns[i].key = drilldown;
|
1588
|
+
});
|
1589
|
+
});
|
1590
|
+
}
|
1591
|
+
|
1592
|
+
initialize();
|
1593
|
+
schemaLoader()
|
1594
|
+
.then(function(_schema) {
|
1595
|
+
schema = _schema;
|
1596
|
+
var table = schema.tables[$scope.table.name];
|
1597
|
+
angular.forEach(table.columns, function(column) {
|
1598
|
+
addColumn(createColumnInfo(column));
|
1599
|
+
});
|
1600
|
+
applyTimeQueries();
|
1601
|
+
|
1602
|
+
var parameters = buildParameters();
|
1603
|
+
if ($scope.parameters.offset) {
|
1604
|
+
parameters.offset = $scope.parameters.offset;
|
1605
|
+
}
|
1606
|
+
select(parameters);
|
1607
|
+
});
|
1608
|
+
}]);
|
1609
|
+
|
1610
|
+
'use strict';
|
1611
|
+
|
1612
|
+
/**
|
1613
|
+
* @ngdoc function
|
1614
|
+
* @name groongaAdminApp.controller:ColumnShowController
|
1615
|
+
* @description
|
1616
|
+
* # ColumnShowController
|
1617
|
+
* Controller of the groongaAdminApp
|
1618
|
+
*/
|
1619
|
+
angular.module('groongaAdminApp')
|
1620
|
+
.controller('ColumnShowController', [
|
1621
|
+
'$scope', '$routeParams', '$location', '$http', 'schemaLoader',
|
1622
|
+
function ($scope, $routeParams, $location, $http, schemaLoader) {
|
1623
|
+
var schema;
|
1624
|
+
var client = new GroongaClient($http);
|
1625
|
+
|
1626
|
+
function initialize() {
|
1627
|
+
$scope.column = {
|
1628
|
+
name: $routeParams.column,
|
1629
|
+
table: {
|
1630
|
+
name: $routeParams.table
|
1631
|
+
}
|
1632
|
+
};
|
1633
|
+
$scope.remove = remove;
|
1634
|
+
}
|
1635
|
+
|
1636
|
+
function remove() {
|
1637
|
+
if (!window.confirm('Really remove the column?')) {
|
1638
|
+
return;
|
1639
|
+
}
|
1640
|
+
|
1641
|
+
var parameters = {
|
1642
|
+
table: $scope.column.table.name,
|
1643
|
+
name: $scope.column.name
|
1644
|
+
};
|
1645
|
+
var request = client.execute('column_remove', parameters);
|
1646
|
+
request.success(function(response) {
|
1647
|
+
console.log(response);
|
1648
|
+
if (response.isRemoved()) {
|
1649
|
+
schemaLoader().reload();
|
1650
|
+
$location.url('/tables/' + $scope.column.table.name + '/');
|
1651
|
+
} else {
|
1652
|
+
var errorMessage = response.errorMessage();
|
1653
|
+
$scope.message = 'Failed to remove the column: ' + errorMessage;
|
1654
|
+
}
|
1655
|
+
});
|
1656
|
+
}
|
1657
|
+
|
1658
|
+
initialize();
|
1659
|
+
schemaLoader()
|
1660
|
+
.then(function(_schema) {
|
1661
|
+
schema = _schema;
|
1662
|
+
|
1663
|
+
var table = schema.tables[$scope.column.table.name];
|
1664
|
+
var column = table.columns[$scope.column.name];
|
1665
|
+
angular.extend($scope.column, column);
|
1666
|
+
});
|
1667
|
+
}]);
|
1668
|
+
|
1669
|
+
'use strict';
|
1670
|
+
|
1671
|
+
/**
|
1672
|
+
* @ngdoc function
|
1673
|
+
* @name groongaAdminApp.controller:ColumnNewController
|
1674
|
+
* @description
|
1675
|
+
* # ColumnNewController
|
1676
|
+
* Controller of the groongaAdminApp
|
1677
|
+
*/
|
1678
|
+
angular.module('groongaAdminApp')
|
1679
|
+
.controller('ColumnNewController', [
|
1680
|
+
'$scope', '$routeParams', '$location', '$http', 'schemaLoader',
|
1681
|
+
function ($scope, $routeParams, $location, $http, schemaLoader) {
|
1682
|
+
var schema;
|
1683
|
+
var client = new GroongaClient($http);
|
1684
|
+
|
1685
|
+
function initialize() {
|
1686
|
+
$scope.table = {
|
1687
|
+
name: $routeParams.table
|
1688
|
+
};
|
1689
|
+
$scope.availableTypes = {
|
1690
|
+
scalar: {
|
1691
|
+
label: 'Scalar',
|
1692
|
+
flag: 'COLUMN_SCALAR'
|
1693
|
+
},
|
1694
|
+
vector: {
|
1695
|
+
label: 'Vector',
|
1696
|
+
flag: 'COLUMN_VECTOR'
|
1697
|
+
},
|
1698
|
+
index: {
|
1699
|
+
label: 'Index',
|
1700
|
+
flag: 'COLUMN_INDEX'
|
1701
|
+
}
|
1702
|
+
};
|
1703
|
+
$scope.availableValueTypes = {};
|
1704
|
+
$scope.column = {
|
1705
|
+
type: $scope.availableTypes.scalar,
|
1706
|
+
sources: []
|
1707
|
+
};
|
1708
|
+
$scope.submit = submit;
|
1709
|
+
}
|
1710
|
+
|
1711
|
+
function submit() {
|
1712
|
+
var parameters = {
|
1713
|
+
table: $scope.table.name,
|
1714
|
+
name: $scope.column.name,
|
1715
|
+
flags: [$scope.column.type.flag].join('|'),
|
1716
|
+
type: $scope.column.valueType,
|
1717
|
+
source: $scope.column.sources.join(',')
|
1718
|
+
};
|
1719
|
+
var request = client.execute('column_create', parameters);
|
1720
|
+
request.success(function(response) {
|
1721
|
+
if (response.isCreated()) {
|
1722
|
+
schemaLoader().reload();
|
1723
|
+
$location.url('/tables/' + parameters.table +
|
1724
|
+
'/columns/' + parameters.name);
|
1725
|
+
} else {
|
1726
|
+
var errorMessage = response.errorMessage();
|
1727
|
+
$scope.message = 'Failed to create the column: ' + errorMessage;
|
1728
|
+
}
|
1729
|
+
});
|
1730
|
+
}
|
1731
|
+
|
1732
|
+
function collectAvailableValueTypes() {
|
1733
|
+
var types = [];
|
1734
|
+
angular.forEach(schema.types, function(type) {
|
1735
|
+
types.push(type.name);
|
1736
|
+
});
|
1737
|
+
angular.forEach(schema.tables, function(table) {
|
1738
|
+
types.push(table.name);
|
1739
|
+
});
|
1740
|
+
return types.sort();
|
1741
|
+
}
|
1742
|
+
|
1743
|
+
initialize();
|
1744
|
+
schemaLoader()
|
1745
|
+
.then(function(_schema) {
|
1746
|
+
schema = _schema;
|
1747
|
+
$scope.availableValueTypes = collectAvailableValueTypes();
|
1748
|
+
});
|
1749
|
+
}]);
|