[Groonga-commit] groonga/groonga at 658225c [master] Add grn_ii_estimate_size_for_lexicon_cursor()

Back to archive index

Kouhei Sutou null+****@clear*****
Thu Feb 19 16:37:57 JST 2015


Kouhei Sutou	2015-02-19 16:37:57 +0900 (Thu, 19 Feb 2015)

  New Revision: 658225ce44de4f36b8d8a4e480e7cff4d83f747e
  https://github.com/groonga/groonga/commit/658225ce44de4f36b8d8a4e480e7cff4d83f747e

  Message:
    Add grn_ii_estimate_size_for_lexicon_cursor()

  Modified files:
    include/groonga/ii.h
    lib/ii.c

  Modified: include/groonga/ii.h (+3 -0)
===================================================================
--- include/groonga/ii.h    2015-02-19 16:37:28 +0900 (aeb9aa6)
+++ include/groonga/ii.h    2015-02-19 16:37:57 +0900 (176e137)
@@ -32,6 +32,9 @@ GRN_API unsigned int grn_ii_estimate_size_for_query(grn_ctx *ctx, grn_ii *ii,
                                                     const char *query,
                                                     unsigned int query_len,
                                                     grn_search_optarg *optarg);
+GRN_API unsigned int grn_ii_estimate_size_for_lexicon_cursor(grn_ctx *ctx,
+                                                             grn_ii *ii,
+                                                             grn_table_cursor *lexicon_cursor);
 
 GRN_API grn_ii_buffer *grn_ii_buffer_open(grn_ctx *ctx, grn_ii *ii,
                                           long long unsigned int update_buffer_size);

  Modified: lib/ii.c (+16 -0)
===================================================================
--- lib/ii.c    2015-02-19 16:37:28 +0900 (e969ba8)
+++ lib/ii.c    2015-02-19 16:37:57 +0900 (3b97df0)
@@ -6507,6 +6507,22 @@ exit :
   return estimated_size;
 }
 
+uint32_t
+grn_ii_estimate_size_for_lexicon_cursor(grn_ctx *ctx, grn_ii *ii,
+                                        grn_table_cursor *lexicon_cursor)
+{
+  grn_id term_id;
+  uint32_t estimated_size = 0;
+
+  while ((term_id = grn_table_cursor_next(ctx, lexicon_cursor)) != GRN_ID_NIL) {
+    uint32_t term_estimated_size;
+    term_estimated_size = grn_ii_estimate_size(ctx, ii, term_id);
+    estimated_size += term_estimated_size;
+  }
+
+  return estimated_size;
+}
+
 grn_rc
 grn_ii_sel(grn_ctx *ctx, grn_ii *ii, const char *string, unsigned int string_len,
            grn_hash *s, grn_operator op, grn_search_optarg *optarg)
-------------- next part --------------
HTML����������������������������...
Download 



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