-/* $Id: zebraapi.c,v 1.162 2005-04-26 08:11:22 adam Exp $
+/* $Id: zebraapi.c,v 1.166 2005-05-09 10:04:30 adam Exp $
Copyright (C) 1995-2005
Index Data ApS
zebra_mutex_cond_unlock (&zs->session_lock);
+ zh->store_data_buf = 0;
+
+ zh->m_limit = zebra_limit_create(0, 0);
+
return zh;
}
xfree(zh->reg_name);
xfree(zh->user_perm);
zh->service = 0; /* more likely to trigger an assert */
+
+ zebra_limit_destroy(zh->m_limit);
+
xfree(zh->path_reg);
xfree(zh);
return ZEBRA_OK;
zh->lock_shadow =
zebra_lock_create (res_get(zh->res, "lockDir"), fname, 0);
+ if (!zh->lock_normal || !zh->lock_shadow)
+ {
+ if (zh->lock_normal)
+ {
+ zebra_lock_destroy(zh->lock_normal);
+ zh->lock_normal = 0;
+ }
+ if (zh->lock_shadow)
+ {
+ zebra_lock_destroy(zh->lock_shadow);
+ zh->lock_shadow = 0;
+ }
+ zebra_close_res(zh);
+ }
}
}
const char *group = res_get(zh->service->global_res, "group");
const char *v = res_get_prefix(zh->service->global_res,
"database", group, "Default");
- zebra_select_database(zh, v);
+ return zebra_select_database(zh, v);
}
return 0;
}
ASSERTZH;
assert(name);
assert(value);
- yaz_log(log_level, "zebra_set_resource %s:%s",name,value);
+ yaz_log(log_level, "zebra_set_resource %s:%s", name, value);
zh->errCode = 0;
res_set(zh->res, name, value);
}
ASSERTZH;
assert(name);
assert(defaultvalue);
- v= res_get_def( zh->res, name, (char *)defaultvalue);
+ v = res_get_def (zh->res, name, (char *)defaultvalue);
zh->errCode = 0;
- yaz_log(log_level, "zebra_get_resource %s:%s",name,v);
+ yaz_log(log_level, "zebra_get_resource %s:%s", name, v);
return v;
}
return sort_status;
}
+/* ---------------------------------------------------------------------------
+ Get BFS for Zebra system (to make alternative storage methods)
+*/
struct BFiles_struct *zebra_get_bfs(ZebraHandle zh)
{
if (zh && zh->reg)
return zh->reg->bfs;
return 0;
}
+
+
+/* ---------------------------------------------------------------------------
+ Set limit for search/scan
+*/
+ZEBRA_RES zebra_set_limit(ZebraHandle zh, int exclude_flag, zint *ids)
+{
+ ASSERTZH;
+ zebra_limit_destroy(zh->m_limit);
+ zh->m_limit = zebra_limit_create(exclude_flag, ids);
+ return ZEBRA_OK;
+}