[Groonga-commit] groonga/groonga at 862bf3f [master] range_filter: support default output_columns

Back to archive index

Kouhei Sutou null+****@clear*****
Wed Nov 19 19:06:29 JST 2014


Kouhei Sutou	2014-11-19 19:06:29 +0900 (Wed, 19 Nov 2014)

  New Revision: 862bf3f430d957f7bc3d870fd40ba51cd31be491
  https://github.com/groonga/groonga/commit/862bf3f430d957f7bc3d870fd40ba51cd31be491

  Message:
    range_filter: support default output_columns

  Added files:
    test/command/suite/range_filter/output_columns/default.expected
    test/command/suite/range_filter/output_columns/default.test
  Modified files:
    lib/proc.c

  Modified: lib/proc.c (+15 -4)
===================================================================
--- lib/proc.c    2014-11-19 19:03:12 +0900 (a1e5bb8)
+++ lib/proc.c    2014-11-19 19:06:29 +0900 (7f4e377)
@@ -6346,10 +6346,21 @@ proc_range_filter(grn_ctx *ctx, int nargs, grn_obj **args,
     grn_table_sort_key_close(ctx, sort_keys, n_sort_keys);
   }
 
-  grn_select_output_columns(ctx, res, -1, real_offset, real_limit,
-                            GRN_TEXT_VALUE(output_columns),
-                            GRN_TEXT_LEN(output_columns),
-                            filter_expr);
+  {
+    const char *raw_output_columns;
+    int raw_output_columns_len;
+
+    raw_output_columns = GRN_TEXT_VALUE(output_columns);
+    raw_output_columns_len = GRN_TEXT_LEN(output_columns);
+    if (raw_output_columns_len == 0) {
+      raw_output_columns = DEFAULT_OUTPUT_COLUMNS;
+      raw_output_columns_len = strlen(raw_output_columns);
+    }
+    grn_select_output_columns(ctx, res, -1, real_offset, real_limit,
+                              raw_output_columns,
+                              raw_output_columns_len,
+                              filter_expr);
+  }
 
 exit:
   if (filter_expr) {

  Added: test/command/suite/range_filter/output_columns/default.expected (+17 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/range_filter/output_columns/default.expected    2014-11-19 19:06:29 +0900 (892f095)
@@ -0,0 +1,17 @@
+table_create Memos TABLE_NO_KEY
+[[0,0.0,0.0],true]
+column_create Memos id COLUMN_SCALAR Int32
+[[0,0.0,0.0],true]
+column_create Memos text COLUMN_SCALAR Text
+[[0,0.0,0.0],true]
+table_create IDs TABLE_PAT_KEY Int32
+[[0,0.0,0.0],true]
+column_create IDs memos_id COLUMN_INDEX Memos id
+[[0,0.0,0.0],true]
+load --table Memos
+[
+{"id":   0, "text": "aaa"}
+]
+[[0,0.0,0.0],1]
+range_filter Memos id   --min 0 --min_border include   --max 10 --max_border exclude
+[[0,0.0,0.0],[[["_id","UInt32"],["id","Int32"],["text","Text"]],[1,0,"aaa"]]]

  Added: test/command/suite/range_filter/output_columns/default.test (+15 -0) 100644
===================================================================
--- /dev/null
+++ test/command/suite/range_filter/output_columns/default.test    2014-11-19 19:06:29 +0900 (35fdfd9)
@@ -0,0 +1,15 @@
+table_create Memos TABLE_NO_KEY
+column_create Memos id COLUMN_SCALAR Int32
+column_create Memos text COLUMN_SCALAR Text
+
+table_create IDs TABLE_PAT_KEY Int32
+column_create IDs memos_id COLUMN_INDEX Memos id
+
+load --table Memos
+[
+{"id":   0, "text": "aaa"}
+]
+
+range_filter Memos id \
+  --min 0 --min_border include \
+  --max 10 --max_border exclude
-------------- next part --------------
HTML����������������������������...
Download 



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