-/* $Id: zebraapi.c,v 1.163 2005-04-28 08:20:40 adam Exp $
+/* $Id: zebraapi.c,v 1.167 2005-05-09 10:16:13 adam Exp $
Copyright (C) 1995-2005
Index Data ApS
zh->store_data_buf = 0;
+ zh->m_limit = zebra_limit_create(1, 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;
}
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 complement_flag, zint *ids)
+{
+ ASSERTZH;
+ zebra_limit_destroy(zh->m_limit);
+ zh->m_limit = zebra_limit_create(complement_flag, ids);
+ return ZEBRA_OK;
+}