-/* $Id: zebraapi.c,v 1.262 2007-10-31 16:56:14 adam Exp $
+/* $Id: zebraapi.c,v 1.267 2007-12-18 13:41:27 adam Exp $
Copyright (C) 1995-2007
Index Data ApS
data1_set_tabroot (reg->dh, reg_path);
reg->recTypes = recTypes_init (zs->record_classes, reg->dh);
- reg->index_types = 0;
reg->zebra_maps =
zebra_maps_open(res, reg_path, profilePath);
if (!reg->zebra_maps)
record_compression = REC_COMPRESS_BZIP2;
{
- const char *index_types_fname = res_get(res, "indextypes");
- if (index_types_fname)
- {
- char tmp_full_name[1024];
-
- if (!yaz_filepath_resolve(index_types_fname,
- profilePath,
- reg_path,
- tmp_full_name))
- {
- yaz_log(YLOG_WARN, "Could not find %s", index_types_fname);
- ret = ZEBRA_FAIL;
- }
- else
- {
- reg->index_types = zebra_index_types_create(
- tmp_full_name);
- yaz_log(YLOG_LOG, "zebra_index_types_create returned %p",
- reg->index_types);
- }
- }
-
- }
- {
const char *index_fname = res_get_def(res, "index", "default.idx");
- if (index_fname && *index_fname)
+ if (index_fname && *index_fname && strcmp(index_fname, "none"))
{
if (zebra_maps_read_file(reg->zebra_maps, index_fname) != ZEBRA_OK)
ret = ZEBRA_FAIL;
recTypes_destroy (reg->recTypes);
zebra_maps_close (reg->zebra_maps);
- zebra_index_types_destroy(reg->index_types);
zebraRankDestroy (reg);
bfs_destroy (reg->bfs);
data1_destroy (reg->dh);
recs[i].errCode =
zebra_record_fetch(zh, setname,
poset[i].sysno, poset[i].score,
- hit_snippet,
stream, input_format, comp,
&recs[i].format, &buf, &len,
&recs[i].base, &recs[i].errString);
const char *setname)
{
ZEBRA_RES res;
- RSET limit_rset = 0;
ZEBRA_CHECK_HANDLE(zh);
*num_entries = 0;
return ZEBRA_FAIL;
}
- if (setname)
- {
- limit_rset = resultSetRef(zh, setname);
- if (!limit_rset)
- {
- zebra_setError(zh,
- YAZ_BIB1_SPECIFIED_RESULT_SET_DOES_NOT_EXIST,
- setname);
- zebra_end_read (zh);
- return ZEBRA_FAIL;
- }
- }
+
res = rpn_scan(zh, stream, zapt, attributeset,
zh->num_basenames, zh->basenames, position,
- num_entries, entries, is_partial, limit_rset);
+ num_entries, entries, is_partial, setname);
zebra_end_read(zh);
return res;
}
long p = getpid();
FILE *f;
ASSERTZH;
- yaz_log(log_level, "zebra_set_state v=%d seq=%d", val, seqno);
+ yaz_log(log_level, "zebra_set_state v=%c seq=%d", val, seqno);
sprintf (state_fname, "state.%s.LCK", zh->reg_name);
fname = zebra_mk_fname (res_get(zh->res, "lockDir"), state_fname);
if (val != 'd')
{
BFiles bfs = bfs_create (rval, zh->path_reg);
- yaz_log (YLOG_DEBUG, "deleting shadow val=%c", val);
bf_commitClean (bfs, rval);
bfs_destroy (bfs);
}
if (!rval)
seqno++;
zebra_set_state (zh, 'o', seqno);
-
zebra_unlock (zh->lock_shadow);
zebra_unlock (zh->lock_normal);
ASSERTZH;
+ yaz_log(log_level, "zebra_commit_ex clean_only=%d", clean_only);
zebra_select_default_database(zh);
if (!zh->res)
{
yaz_log(YLOG_WARN, "previous transaction didn't reach commit");
clean_only = 1;
}
+ else if (val == 'c')
+ {
+ /* commit has started. We can not remove it anymore */
+ clean_only = 0;
+ }
if (rval && *rval)
bf_cache (bfs, rval);
{
zebra_set_state(zh, 'c', seqno);
- yaz_log(YLOG_DEBUG, "commit start");
+ yaz_log(log_level, "commit start");
if (bf_commitExec (bfs))
res = ZEBRA_FAIL;
}