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