#include <string.h>
#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;
stat_info->no_isam_entries[0] += occur;
isams_pp_close (pp);
}
-#if ZMBOL
if (stat_info->isam)
{
ISPT ispt;
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;
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++)
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;
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");
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++)
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 */
}
/*
*
* $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