-/* $Id: zinfo.c,v 1.37 2003-06-30 19:37:12 adam Exp $
- Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003
- Index Data Aps
+/* $Id: zinfo.c,v 1.44 2005-01-16 23:33:31 adam Exp $
+ Copyright (C) 1995-2005
+ Index Data ApS
This file is part of the Zebra server.
02111-1307, USA.
*/
-#include <stdlib.h>
+#include <sys/types.h>
#include <assert.h>
+#include <stdlib.h>
#include <string.h>
#include <time.h>
-#include <zebraver.h>
+#include <idzebra/version.h>
#include "zinfo.h"
#define ZINFO_DEBUG 0
typedef struct zebAccessObjectB *zebAccessObject;
struct zebAccessObjectB {
void *handle;
- int sysno;
+ SYSNO sysno;
Odr_oid *oid;
zebAccessObject next;
};
typedef struct {
struct zebSUInfoB *SUInfo;
- int sysno;
+ SYSNO sysno;
int dirty;
int readFlag;
data1_node *data1_tree;
zebAttributeDetails attributeDetails;
char *databaseName;
data1_node *data1_database;
- int recordCount; /* records in db */
- int recordBytes; /* size of records */
- int sysno; /* sysno of database info */
+ zint recordCount; /* records in db */
+ zint recordBytes; /* size of records */
+ SYSNO sysno; /* sysno of database info */
int readFlag; /* 1: read is needed when referenced; 0 if not */
int dirty; /* 1: database is dirty: write is needed */
struct zebDatabaseInfoB *next;
struct zebraCategoryListInfo {
int dirty;
- int sysno;
+ SYSNO sysno;
data1_node *data1_categoryList;
};
struct zebraExplainInfo {
- int ordinalSU;
- int runNumber;
- int dirty;
+ int ordinalSU;
+ zint runNumber;
+ int dirty;
int write_flag;
Records records;
data1_handle dh;
int key_flush);
-static Record createRecord (Records records, int *sysno)
+static Record createRecord (Records records, SYSNO *sysno)
{
Record rec;
if (*sysno)
void zebraExplain_close (ZebraExplainInfo zei)
{
#if ZINFO_DEBUG
- yaz_log (LOG_LOG, "zebraExplain_close");
+ yaz_log (YLOG_LOG, "zebraExplain_close");
#endif
if (!zei)
return;
NMEM nmem = nmem_create ();
#if ZINFO_DEBUG
- logf (LOG_LOG, "zebraExplain_open wr=%d", writeFlag);
+ yaz_log (YLOG_LOG, "zebraExplain_open wr=%d", writeFlag);
#endif
zei = (ZebraExplainInfo) nmem_malloc (nmem, sizeof(*zei));
zei->write_flag = writeFlag;
if (!zei->data1_target)
#endif
{
- logf (LOG_FATAL, "Explain schema missing. Check profilePath");
+ yaz_log (YLOG_FATAL, "Explain schema missing. Check profilePath");
nmem_destroy (zei->nmem);
return 0;
}
memcpy ((*zdip)->databaseName, node_name->u.data.data,
node_name->u.data.len);
(*zdip)->databaseName[node_name->u.data.len] = '\0';
- (*zdip)->sysno = atoi_n (node_id->u.data.data,
- node_id->u.data.len);
+ (*zdip)->sysno = atoi_zn (node_id->u.data.data,
+ node_id->u.data.len);
(*zdip)->attributeDetails = (zebAttributeDetails)
nmem_malloc (zei->nmem, sizeof(*(*zdip)->attributeDetails));
- (*zdip)->attributeDetails->sysno = atoi_n (node_aid->u.data.data,
- node_aid->u.data.len);
+ (*zdip)->attributeDetails->sysno = atoi_zn (node_aid->u.data.data,
+ node_aid->u.data.len);
(*zdip)->attributeDetails->readFlag = 1;
(*zdip)->attributeDetails->dirty = 0;
(*zdip)->attributeDetails->SUInfo = NULL;
"runNumber");
np = np->child;
assert (np && np->which == DATA1N_data);
- zei->runNumber = atoi_n (np->u.data.data, np->u.data.len);
- yaz_log (LOG_DEBUG, "read runnumber = %d", zei->runNumber);
+ zei->runNumber = atoi_zn (np->u.data.data, np->u.data.len);
+ yaz_log (YLOG_DEBUG, "read runnumber=" ZINT_FORMAT, zei->runNumber);
*zdip = NULL;
}
rec_rm (&trec);
"</></>\n" );
if (!zei->data1_target)
{
- logf (LOG_FATAL, "Explain schema missing. Check profilePath");
+ yaz_log (YLOG_FATAL, "Explain schema missing. Check profilePath");
nmem_destroy (zei->nmem);
return 0;
}
node_use->u.data.len);
(*zsuip)->info.ordinal = atoi_n (node_ordinal->u.data.data,
node_ordinal->u.data.len);
- logf (LOG_DEBUG, "set=%d use=%d ordinal=%d",
+ yaz_log (YLOG_DEBUG, "set=%d use=%d ordinal=%d",
(*zsuip)->info.set, (*zsuip)->info.use, (*zsuip)->info.ordinal);
zsuip = &(*zsuip)->next;
}
&& (np = data1_search_tag (zei->dh, node_zebra->child,
"recordBytes"))
&& np->child && np->child->which == DATA1N_data)
- zdi->recordBytes = atoi_n (np->child->u.data.data,
- np->child->u.data.len);
+ zdi->recordBytes = atoi_zn (np->child->u.data.data,
+ np->child->u.data.len);
if ((np = data1_search_tag (zei->dh, node_dbinfo->child,
"recordCount")) &&
(np = data1_search_tag (zei->dh, np->child,
"recordCountActual")) &&
np->child->which == DATA1N_data)
{
- zdi->recordCount = atoi_n (np->child->u.data.data,
- np->child->u.data.len);
+ zdi->recordCount = atoi_zn (np->child->u.data.data,
+ np->child->u.data.len);
}
zdi->readFlag = 0;
rec_rm (&rec);
if (!zdi)
return -1;
#if ZINFO_DEBUG
- logf (LOG_LOG, "zebraExplain_curDatabase: %s", database);
+ yaz_log (YLOG_LOG, "zebraExplain_curDatabase: %s", database);
#endif
if (zdi->readFlag)
{
#if ZINFO_DEBUG
- logf (LOG_LOG, "zebraExplain_readDatabase: %s", database);
+ yaz_log (YLOG_LOG, "zebraExplain_readDatabase: %s", database);
#endif
zebraExplain_readDatabase (zei, zdi);
}
if (zdi->attributeDetails->readFlag)
{
#if ZINFO_DEBUG
- logf (LOG_LOG, "zebraExplain_readAttributeDetails: %s", database);
+ yaz_log (YLOG_LOG, "zebraExplain_readAttributeDetails: %s", database);
#endif
zebraExplain_readAttributeDetails (zei, zdi->attributeDetails);
}
database_n = database;
#if ZINFO_DEBUG
- logf (LOG_LOG, "zebraExplain_newDatabase: %s", database);
+ yaz_log (YLOG_LOG, "zebraExplain_newDatabase: %s", database);
#endif
assert (zei);
for (zdi = zei->databaseInfo; zdi; zdi=zdi->next)
int i;
Record drec;
data1_node *node_ci, *node_categoryList;
- int sysno = 0;
+ SYSNO sysno = 0;
static char *category[] = {
"CategoryList",
"TargetInfo",
node_categoryList = zcl->data1_categoryList;
#if ZINFO_DEBUG
- logf (LOG_LOG, "zebraExplain_writeCategoryList");
+ yaz_log (YLOG_LOG, "zebraExplain_writeCategoryList");
#endif
drec = createRecord (zei->records, &sysno);
zad->dirty = 0;
#if ZINFO_DEBUG
- logf (LOG_LOG, "zebraExplain_writeAttributeDetails");
+ yaz_log (YLOG_LOG, "zebraExplain_writeAttributeDetails");
#endif
drec = createRecord (zei->records, &zad->sysno);
zdi->dirty = 0;
#if ZINFO_DEBUG
- logf (LOG_LOG, "zebraExplain_writeDatabase %s", zdi->databaseName);
+ yaz_log (YLOG_LOG, "zebraExplain_writeDatabase %s", zdi->databaseName);
#endif
drec = createRecord (zei->records, &zdi->sysno);
assert (zdi->data1_database);
/* record count */
node_count = data1_mk_tag_uni (zei->dh, zei->nmem,
"recordCount", node_dbinfo);
- data1_mk_tag_data_int (zei->dh, node_count, "recordCountActual",
- zdi->recordCount, zei->nmem);
+ data1_mk_tag_data_zint (zei->dh, node_count, "recordCountActual",
+ zdi->recordCount, zei->nmem);
/* zebra info (private) */
node_zebra = data1_mk_tag_uni (zei->dh, zei->nmem,
"zebraInfo", node_dbinfo);
- data1_mk_tag_data_int (zei->dh, node_zebra,
+ data1_mk_tag_data_zint (zei->dh, node_zebra,
"recordBytes", zdi->recordBytes, zei->nmem);
/* convert to "SGML" and write it */
#if ZINFO_DEBUG
attset = data1_attset_search_id (zei->dh, entp->value);
#if ZINFO_DEBUG
- logf (LOG_LOG, "zebraExplain_writeAttributeSet %s",
+ yaz_log (YLOG_LOG, "zebraExplain_writeAttributeSet %s",
attset ? attset->name : "<unknown>");
#endif
"database", 0 /* attr */, node_list);
data1_mk_tag_data_text (zei->dh, node_db, "name",
zdi->databaseName, zei->nmem);
- data1_mk_tag_data_int (zei->dh, node_db, "id",
- zdi->sysno, zei->nmem);
- data1_mk_tag_data_int (zei->dh, node_db, "attributeDetailsId",
- zdi->attributeDetails->sysno, zei->nmem);
+ data1_mk_tag_data_zint (zei->dh, node_db, "id",
+ zdi->sysno, zei->nmem);
+ data1_mk_tag_data_zint (zei->dh, node_db, "attributeDetailsId",
+ zdi->attributeDetails->sysno, zei->nmem);
}
data1_mk_tag_data_int (zei->dh, node_zebra, "ordinalSU",
zei->ordinalSU, zei->nmem);
- data1_mk_tag_data_int (zei->dh, node_zebra, "runNumber",
- zei->runNumber, zei->nmem);
+ data1_mk_tag_data_zint (zei->dh, node_zebra, "runNumber",
+ zei->runNumber, zei->nmem);
#if ZINFO_DEBUG
data1_pr_tree (zei->dh, zei->data1_target, stderr);
}
}
-int zebraExplain_runNumberIncrement (ZebraExplainInfo zei, int adjust_num)
+zint zebraExplain_runNumberIncrement (ZebraExplainInfo zei, int adjust_num)
{
if (adjust_num)
{
{
data1_handle dh = (data1_handle) p;
if (!data1_get_attset (dh, name))
- logf (LOG_WARN, "Directive attset failed for %s", name);
+ yaz_log (YLOG_WARN, "Directive attset failed for %s", name);
}
void zebraExplain_loadAttsets (data1_handle dh, Res res)