X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzebraapi.c;h=6b609569e8d39c44230aafe433a1e38fb9e021a7;hb=2a0be28b861bf340b8213ad17438daf49e5cb8b0;hp=61268c26d6ad588dee25bebe2418e8809172e5a2;hpb=deb0cef3d4d19dc6508b2fed71711b3fb1be26a2;p=idzebra-moved-to-github.git diff --git a/index/zebraapi.c b/index/zebraapi.c index 61268c2..6b60956 100644 --- a/index/zebraapi.c +++ b/index/zebraapi.c @@ -1,4 +1,4 @@ -/* $Id: zebraapi.c,v 1.225 2006-08-16 13:16:36 adam Exp $ +/* $Id: zebraapi.c,v 1.227 2006-09-11 22:57:54 adam Exp $ Copyright (C) 1995-2006 Index Data ApS @@ -772,8 +772,10 @@ static void zebra_select_register (ZebraHandle zh, const char *new_reg) { if (res_get_int(zh->res, "segment", &zh->m_segment_indexing) == ZEBRA_OK) - yaz_log(YLOG_LOG, "segment indexing set and is %d", + { + yaz_log(YLOG_DEBUG, "segment indexing set and is %d", zh->m_segment_indexing); + } } } @@ -1483,12 +1485,20 @@ ZEBRA_RES zebra_drop_database(ZebraHandle zh, const char *db) if (zh->reg->isamb) { int db_ord; - zebraExplain_curDatabase (zh->reg->zei, db); - db_ord = zebraExplain_get_database_ord(zh->reg->zei); - dict_delete_subtree_ord(zh->reg->matchDict, db_ord, - 0 /* handle */, 0 /* func */); - zebraExplain_trav_ord(zh->reg->zei, zh, delete_SU_handle); - zebraExplain_removeDatabase(zh->reg->zei, zh); + if (zebraExplain_curDatabase (zh->reg->zei, db)) + { + zebra_setError(zh, YAZ_BIB1_DATABASE_DOES_NOT_EXIST, db); + ret = ZEBRA_FAIL; + } + else + { + db_ord = zebraExplain_get_database_ord(zh->reg->zei); + dict_delete_subtree_ord(zh->reg->matchDict, db_ord, + 0 /* handle */, 0 /* func */); + zebraExplain_trav_ord(zh->reg->zei, zh, delete_SU_handle); + zebraExplain_removeDatabase(zh->reg->zei, zh); + zebra_remove_file_match(zh); + } } else {