Kouhei Sutou
null+****@clear*****
Fri Jul 24 16:15:35 JST 2015
Kouhei Sutou 2015-07-24 16:15:35 +0900 (Fri, 24 Jul 2015) New Revision: 463b5147d2dac4efdb90fa5bcb27d9bf788ddebe https://github.com/groonga/groonga/commit/463b5147d2dac4efdb90fa5bcb27d9bf788ddebe Message: db_exist: add Added files: test/command/suite/db_exist/column.expected test/command/suite/db_exist/column.test test/command/suite/db_exist/nonexistent.expected test/command/suite/db_exist/nonexistent.test test/command/suite/db_exist/table.expected test/command/suite/db_exist/table.test test/command/suite/db_exist/tokenizer.expected test/command/suite/db_exist/tokenizer.test Modified files: lib/proc.c Modified: lib/proc.c (+30 -0) =================================================================== --- lib/proc.c 2015-07-24 15:35:50 +0900 (025c118) +++ lib/proc.c 2015-07-24 16:15:35 +0900 (5313829) @@ -6844,6 +6844,33 @@ proc_io_flush(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data) return NULL; } +static grn_obj * +proc_db_exist(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data) +{ + grn_obj *db; + grn_obj *name; + grn_id id; + + db = grn_ctx_db(ctx); + if (!db) { + ERR(GRN_INVALID_ARGUMENT, "[db_exist] DB isn't opened"); + return NULL; + } + + name = VAR(0); + if (GRN_TEXT_LEN(name) == 0) { + ERR(GRN_INVALID_ARGUMENT, "[db_exist] name is missing"); + GRN_OUTPUT_BOOL(GRN_FALSE); + return NULL; + } + + id = grn_table_get(ctx, db, + GRN_TEXT_VALUE(name), + GRN_TEXT_LEN(name)); + GRN_OUTPUT_BOOL(id != GRN_ID_NIL); + return NULL; +} + #define DEF_VAR(v,name_str) do {\ (v).name = (name_str);\ (v).name_size = GRN_STRLEN(name_str);\ @@ -7127,4 +7154,7 @@ grn_db_init_builtin_query(grn_ctx *ctx) DEF_VAR(vars[0], "target_name"); DEF_VAR(vars[1], "recursive"); DEF_COMMAND("io_flush", proc_io_flush, 2, vars); + + DEF_VAR(vars[0], "name"); + DEF_COMMAND("db_exist", proc_db_exist, 1, vars); } Added: test/command/suite/db_exist/column.expected (+6 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/db_exist/column.expected 2015-07-24 16:15:35 +0900 (562f19e) @@ -0,0 +1,6 @@ +table_create Users TABLE_HASH_KEY ShortText +[[0,0.0,0.0],true] +column_create Users name COLUMN_SCALAR ShortText +[[0,0.0,0.0],true] +db_exist Users.name +[[0,0.0,0.0],true] Added: test/command/suite/db_exist/column.test (+4 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/db_exist/column.test 2015-07-24 16:15:35 +0900 (8ee2f60) @@ -0,0 +1,4 @@ +table_create Users TABLE_HASH_KEY ShortText +column_create Users name COLUMN_SCALAR ShortText + +db_exist Users.name Added: test/command/suite/db_exist/nonexistent.expected (+2 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/db_exist/nonexistent.expected 2015-07-24 16:15:35 +0900 (e761ff6) @@ -0,0 +1,2 @@ +db_exist Nonexistent +[[0,0.0,0.0],false] Added: test/command/suite/db_exist/nonexistent.test (+1 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/db_exist/nonexistent.test 2015-07-24 16:15:35 +0900 (f0960e0) @@ -0,0 +1 @@ +db_exist Nonexistent Added: test/command/suite/db_exist/table.expected (+4 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/db_exist/table.expected 2015-07-24 16:15:35 +0900 (3bd8a1f) @@ -0,0 +1,4 @@ +table_create Users TABLE_HASH_KEY ShortText +[[0,0.0,0.0],true] +db_exist Users +[[0,0.0,0.0],true] Added: test/command/suite/db_exist/table.test (+3 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/db_exist/table.test 2015-07-24 16:15:35 +0900 (2bcae3e) @@ -0,0 +1,3 @@ +table_create Users TABLE_HASH_KEY ShortText + +db_exist Users Added: test/command/suite/db_exist/tokenizer.expected (+2 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/db_exist/tokenizer.expected 2015-07-24 16:15:35 +0900 (3678239) @@ -0,0 +1,2 @@ +db_exist TokenBigram +[[0,0.0,0.0],true] Added: test/command/suite/db_exist/tokenizer.test (+1 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/db_exist/tokenizer.test 2015-07-24 16:15:35 +0900 (8dfa275) @@ -0,0 +1 @@ +db_exist TokenBigram -------------- next part -------------- HTML����������������������������...Download