-/* $Id: zebraapi.c,v 1.209 2006-03-31 08:51:26 adam Exp $
+/* $Id: zebraapi.c,v 1.211 2006-04-04 00:00:18 adam Exp $
Copyright (C) 1995-2005
Index Data ApS
{
if (res_get_int(zh->res, "staticrank", &zh->m_staticrank) == ZEBRA_OK)
yaz_log(YLOG_LOG, "static rank set and is %d", zh->m_staticrank);
- else
- yaz_log(YLOG_LOG, "static rank unset");
}
}
{
if (action == 1) /* fail if insert */
{
- zebra_end_trans(zh);
+ if (zebra_end_trans(zh) != ZEBRA_OK)
+ yaz_log(YLOG_WARN, "zebra_end_trans failed");
zebra_setError(zh, YAZ_BIB1_ES_IMMEDIATE_EXECUTION_FAILED,
"Cannot insert record: already exist");
return ZEBRA_FAIL;
{
if (action == 2 || action == 3) /* fail if delete or update */
{
- zebra_end_trans(zh);
+ if (zebra_end_trans(zh) != ZEBRA_OK)
+ yaz_log(YLOG_WARN, "zebra_end_trans failed");
zebra_setError(zh, YAZ_BIB1_ES_IMMEDIATE_EXECUTION_FAILED,
"Cannot delete/update record: does not exist");
return ZEBRA_FAIL;
{
dict_delete_ord(zh->reg->matchDict, db_ord, recid_z);
}
- zebra_end_trans(zh);
+ if (zebra_end_trans(zh) != ZEBRA_OK)
+ {
+ yaz_log(YLOG_WARN, "zebra_end_trans failed");
+ res = ZEBRA_FAIL;
+ }
return res;
}
"drop database only supported for isam:b");
ret = ZEBRA_FAIL;
}
- zebra_end_trans (zh);
+ if (zebra_end_trans (zh) != ZEBRA_OK)
+ {
+ yaz_log(YLOG_WARN, "zebra_end_trans failed");
+ ret = ZEBRA_FAIL;
+ }
return ret;
}
if (zebraExplain_newDatabase (zh->reg->zei, db, 0
/* explainDatabase */))
{
- zebra_end_trans (zh);
+ if (zebra_end_trans (zh) != ZEBRA_OK)
+ {
+ yaz_log(YLOG_WARN, "zebra_end_trans failed");
+ }
zebra_setError(zh, YAZ_BIB1_ES_IMMEDIATE_EXECUTION_FAILED, db);
return ZEBRA_FAIL;
}
sync ();
#endif
}
- yaz_log (YLOG_DEBUG, "commit clean");
- bf_commitClean (bfs, rval);
seqno++;
zebra_set_state (zh, 'o', seqno);
+
+ zebra_unlock (zh->lock_shadow);
+ zebra_unlock (zh->lock_normal);
+
+ zebra_lock_w(zh->lock_shadow);
+ bf_commitClean (bfs, rval);
+ zebra_unlock (zh->lock_normal);
}
else
{
+ zebra_unlock(zh->lock_shadow);
+ zebra_unlock(zh->lock_normal);
yaz_log (log_level, "nothing to commit");
}
bfs_destroy (bfs);
- zebra_unlock (zh->lock_shadow);
- zebra_unlock (zh->lock_normal);
return ZEBRA_OK;
}
match, fname,
0,
0); /* allow_update */
- zebra_end_trans(zh);
+ if (zebra_end_trans(zh) != ZEBRA_OK)
+ {
+ yaz_log(YLOG_WARN, "zebra_end_trans failed");
+ res = ZEBRA_FAIL;
+ }
return res;
}
match, fname,
force_update,
1); /* allow_update */
- zebra_end_trans(zh);
+ if (zebra_end_trans(zh) != ZEBRA_OK)
+ {
+ yaz_log(YLOG_WARN, "zebra_end_trans failed");
+ res = ZEBRA_FAIL;
+ }
return res;
}
match,fname,
force_update,
1); /* allow_update */
- zebra_end_trans(zh);
+ if (zebra_end_trans(zh) != ZEBRA_OK)
+ {
+ yaz_log(YLOG_WARN, "zebra_end_trans failed");
+ res = ZEBRA_FAIL;
+ }
return res;
}