-/* $Id: zebraapi.c,v 1.266 2007-12-18 10:04:15 adam Exp $
+/* $Id: zebraapi.c,v 1.267 2007-12-18 13:41:27 adam Exp $
Copyright (C) 1995-2007
Index Data ApS
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;
}