X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Finvstat.c;h=b810496daca61cd9add4c05e798e882a614b096c;hb=81a75ae20b5b250309a70de51bfdf8de0019f882;hp=d1c8fe2aaa9c6b4d3642f6dfa44c07573e9e2569;hpb=43506dd0ff92373604bb7288e2dcc943b2c1d524;p=idzebra-moved-to-github.git diff --git a/index/invstat.c b/index/invstat.c index d1c8fe2..b810496 100644 --- a/index/invstat.c +++ b/index/invstat.c @@ -10,18 +10,13 @@ #include #include "index.h" -#include "recindex.h" -#if ZMBOL #include "../isamc/isamd-p.h" -#endif struct inv_stat_info { ISAMS isams; -#if ZMBOL ISAM isam; ISAMC isamc; ISAMD isamd; -#endif int no_isam_entries[9]; int no_dict_entries; int no_dict_bytes; @@ -64,7 +59,6 @@ static int inv_stat_handle (char *name, const char *info, int pos, stat_info->no_isam_entries[0] += occur; isams_pp_close (pp); } -#if ZMBOL if (stat_info->isam) { ISPT ispt; @@ -121,31 +115,35 @@ static int inv_stat_handle (char *name, const char *info, int pos, stat_info->no_isam_entries[isamd_type(isam_p)] += occur; isamd_pp_close (pp); } -#endif while (occur > stat_info->isam_bounds[i] && stat_info->isam_bounds[i]) i++; ++(stat_info->isam_occurrences[i]); return 0; } -void inv_prstat (BFiles bfs) +void inv_prstat (ZebraHandle zh) { + Res res = zh->res; + BFiles bfs; Dict dict; ISAMS isams = NULL; -#if ZMBOL ISAM isam = NULL; ISAMC isamc = NULL; ISAMD isamd = NULL; -#endif + int blocks; + int size; + int count; Records records; int i, prev; int before = 0; int after = 1000000000; struct inv_stat_info stat_info; char term_dict[2*IT_MAX_WORD+2]; - int blocks; - int size; - int count; + + if (!res || !zh->reg) + return; + + bfs = zh->reg->bfs; term_dict[0] = 1; term_dict[1] = 0; @@ -156,51 +154,49 @@ void inv_prstat (BFiles bfs) logf (LOG_FATAL, "dict_open fail"); exit (1); } - if (res_get_match (common_resource, "isam", "s", ISAM_DEFAULT)) + if (res_get_match (res, "isam", "s", ISAM_DEFAULT)) { struct ISAMS_M_s isams_m; isams = isams_open (bfs, FNAME_ISAMS, 0, - key_isams_m(common_resource, &isams_m)); + key_isams_m(res, &isams_m)); if (!isams) { logf (LOG_FATAL, "isams_open fail"); exit (1); } } -#if ZMBOL - else if (res_get_match (common_resource, "isam", "i", ISAM_DEFAULT)) + else if (res_get_match (res, "isam", "i", ISAM_DEFAULT)) { isam = is_open (bfs, FNAME_ISAM, key_compare, 0, - sizeof(struct it_key), common_resource); + sizeof(struct it_key), res); if (!isam) { logf (LOG_FATAL, "is_open fail"); exit (1); } } - else if (res_get_match (common_resource, "isam", "d", ISAM_DEFAULT)) + else if (res_get_match (res, "isam", "d", ISAM_DEFAULT)) { struct ISAMD_M_s isamd_m; isamd = isamd_open (bfs, FNAME_ISAMD, 0, - key_isamd_m(common_resource,&isamd_m)); + key_isamd_m(res,&isamd_m)); if (!isamd) { logf (LOG_FATAL, "isamd_open fail"); exit (1); } } - else if (res_get_match (common_resource, "isam", "c", ISAM_DEFAULT)) + else if (res_get_match (res, "isam", "c", ISAM_DEFAULT)) { struct ISAMC_M_s isamc_m; isamc = isc_open (bfs, FNAME_ISAMC, 0, - key_isamc_m (common_resource, &isamc_m)); + key_isamc_m (res, &isamc_m)); if (!isamc) { logf (LOG_FATAL, "isc_open fail"); exit (1); } } -#endif records = rec_open (bfs, 0, 0); for (i = 0; i<=SINGLETON_TYPE; i++) @@ -208,11 +204,9 @@ void inv_prstat (BFiles bfs) stat_info.no_dict_entries = 0; stat_info.no_dict_bytes = 0; stat_info.isams = isams; -#if ZMBOL stat_info.isam = isam; stat_info.isamc = isamc; stat_info.isamd = isamd; -#endif stat_info.isam_bounds[0] = 1; stat_info.isam_bounds[1] = 2; stat_info.isam_bounds[2] = 3; @@ -238,7 +232,6 @@ void inv_prstat (BFiles bfs) dict_scan (dict, term_dict, &before, &after, &stat_info, inv_stat_handle); -#if ZMBOL if (isamc) { fprintf (stderr, " Blocks Occur Size KB Bytes/Entry\n"); @@ -290,7 +283,6 @@ void inv_prstat (BFiles bfs) if ( (isamd) && (isamd->method->debug>0)) fprintf (stderr, "\n%d words using %d bytes\n", stat_info.no_dict_entries, stat_info.no_dict_bytes); -#endif fprintf (stderr, " Occurrences Words\n"); prev = 1; for (i = 0; stat_info.isam_bounds[i]; i++) @@ -307,15 +299,12 @@ void inv_prstat (BFiles bfs) if (isams) isams_close (isams); -#if ZMBOL if (isam) is_close (isam); if (isamc) isc_close (isamc); if (isamd) isamd_close (isamd); -#endif - xmalloc_trav("unfreed"); /*! while hunting memory leaks */ } @@ -323,7 +312,19 @@ void inv_prstat (BFiles bfs) /* * * $Log: invstat.c,v $ - * Revision 1.20 1999-12-01 13:30:30 adam + * Revision 1.24 2002-04-05 08:46:26 adam + * Zebra with full functionality + * + * Revision 1.23 2002/04/04 14:14:13 adam + * Multiple registers (alpha early) + * + * Revision 1.22 2002/02/20 17:30:01 adam + * Work on new API. Locking system re-implemented + * + * Revision 1.21 2000/07/13 10:14:20 heikki + * Removed compiler warnings when making zebra + * + * Revision 1.20 1999/12/01 13:30:30 adam * Updated configure for Zmbol/Zebra dependent settings. * * Revision 1.19 1999/11/30 13:48:03 adam