[Groonga-commit] groonga/groonga at 463b514 [master] db_exist: add

Back to archive index

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 



More information about the Groonga-commit mailing list
Back to archive index