* Sebastian Hammer, Adam Dickmeiss
*
* $Log: invstat.c,v $
- * Revision 1.8 1999-02-02 14:50:53 adam
+ * Revision 1.11 1999-05-15 14:36:38 adam
+ * Updated dictionary. Implemented "compression" of dictionary.
+ *
+ * Revision 1.10 1999/05/12 13:08:06 adam
+ * First version of ISAMS.
+ *
+ * Revision 1.9 1999/02/12 13:29:23 adam
+ * Implemented position-flag for registers.
+ *
+ * Revision 1.8 1999/02/02 14:50:53 adam
* Updated WIN32 code specific sections. Changed header.
*
* Revision 1.7 1998/03/13 15:30:50 adam
struct inv_stat_info {
ISAM isam;
ISAMC isamc;
+ ISAMS isams;
int no_isam_entries[8];
int no_dict_entries;
int no_dict_bytes;
assert (*info == sizeof(ISAM_P));
memcpy (&isam_p, info+1, sizeof(ISAM_P));
+ printf ("---\n");
if (stat_info->isam)
{
ISPT ispt;
{
ISAMC_PP pp;
int occurx = 0;
- char buf[128];
+ struct it_key key;
pp = isc_pp_open (stat_info->isamc, isam_p);
occur = isc_pp_num (pp);
- while (isc_pp_read(pp, buf))
+ while (isc_pp_read(pp, &key))
+ {
+ printf ("sysno=%d seqno=%d\n", key.sysno, key.seqno);
occurx++;
+ }
assert (occurx == occur);
stat_info->no_isam_entries[isc_type(isam_p)] += occur;
isc_pp_close (pp);
}
+ if (stat_info->isams)
+ {
+ ISAMS_PP pp;
+ int occurx = 0;
+ struct it_key key;
+
+ pp = isams_pp_open (stat_info->isams, isam_p);
+ occur = isams_pp_num (pp);
+ while (isams_pp_read(pp, &key))
+ {
+ printf ("sysno=%d seqno=%d\n", key.sysno, key.seqno);
+ occurx++;
+ }
+ assert (occurx == occur);
+ stat_info->no_isam_entries[isc_type(isam_p)] += occur;
+ isams_pp_close (pp);
+ }
while (occur > stat_info->isam_bounds[i] && stat_info->isam_bounds[i])
i++;
Dict dict;
ISAM isam = NULL;
ISAMC isamc = NULL;
+ ISAMS isams = NULL;
Records records;
int i, prev;
int before = 0;
term_dict[0] = 1;
term_dict[1] = 0;
- dict = dict_open (bfs, FNAME_DICT, 100, 0);
+ dict = dict_open (bfs, FNAME_DICT, 100, 0, 0);
if (!dict)
{
logf (LOG_FATAL, "dict_open fail");
exit (1);
}
- if (!res_get_match (common_resource, "isam", "i", NULL))
+ if (res_get_match (common_resource, "isam", "i", NULL))
{
- isamc = isc_open (bfs, FNAME_ISAMC, 0, key_isamc_m (common_resource));
- if (!isamc)
+ isam = is_open (bfs, FNAME_ISAM, key_compare, 0,
+ sizeof(struct it_key), common_resource);
+ if (!isam)
{
- logf (LOG_FATAL, "isc_open fail");
+ logf (LOG_FATAL, "is_open fail");
+ exit (1);
+ }
+ }
+ else if (res_get_match (common_resource, "isam", "s", NULL))
+ {
+ isams = isams_open (bfs, FNAME_ISAMS, 0, key_isams_m(common_resource));
+ if (!isams)
+ {
+ logf (LOG_FATAL, "isams_open fail");
exit (1);
}
}
else
{
- isam = is_open (bfs, FNAME_ISAM, key_compare, 0,
- sizeof(struct it_key), common_resource);
- if (!isam)
+ isamc = isc_open (bfs, FNAME_ISAMC, 0, key_isamc_m (common_resource));
+ if (!isamc)
{
- logf (LOG_FATAL, "is_open fail");
+ logf (LOG_FATAL, "isc_open fail");
exit (1);
}
}
stat_info.no_dict_bytes = 0;
stat_info.isam = isam;
stat_info.isamc = isamc;
+ stat_info.isams = isams;
stat_info.isam_bounds[0] = 1;
stat_info.isam_bounds[1] = 2;
stat_info.isam_bounds[2] = 3;
is_close (isam);
if (isamc)
isc_close (isamc);
+ if (isams)
+ isams_close (isams);
}