if (rec_release_blocks(p, rec_sysno_to_int(rec->sysno)) != ZEBRA_OK)
return ZEBRA_FAIL;
+ yaz_log(YLOG_LOG, "rec_delete_single sysno=" ZINT_FORMAT, rec->sysno);
entry.next = p->head.index_free;
entry.size = 0;
p->head.index_free = rec_sysno_to_int(rec->sysno);
return 0;
}
-static int delete_SU_handle(void *handle, int ord)
+static int delete_SU_handle(void *handle, int ord,
+ const char *index_type, const char *string_index,
+ zinfo_index_category_t cat)
{
ZebraHandle zh = (ZebraHandle) handle;
char ord_buf[20];
int ord_len;
-
+#if 0
+ const char *index_type = 0;
+ const char *db = 0;
+ const char *string_index = 0;
+ zebraExplain_lookup_ord(zh->reg->zei, ord,
+ &index_type, &db, &string_index);
+ yaz_log(YLOG_LOG,
+ "delete_SU_handle:: ord=%d index_type=%s db=%s string_index=%s",
+ ord, index_type, db, string_index);
+#endif
+ yaz_log(YLOG_LOG, "ord=%d index_type=%s index=%s cat=%d", ord,
+ index_type, string_index, (int) cat);
ord_len = key_SU_encode(ord, ord_buf);
ord_buf[ord_len] = '\0';
}
int zebraExplain_trav_ord(ZebraExplainInfo zei, void *handle,
- int (*f)(void *handle, int ord))
+ int (*f)(void *handle, int ord,
+ const char *index_type,
+ const char *string_index,
+ zinfo_index_category_t cat))
{
struct zebDatabaseInfoB *zdb = zei->curDatabaseInfo;
if (zdb)
{
struct zebSUInfoB *zsui = zdb->attributeDetails->SUInfo;
for ( ;zsui; zsui = zsui->next)
- (*f)(handle, zsui->info.ordinal);
+ (*f)(handle, zsui->info.ordinal,
+ zsui->info.index_type, zsui->info.str,
+ zsui->info.cat);
}
return 0;
}
zint zebraExplain_ord_get_doc_occurrences(ZebraExplainInfo zei, int ord);
int zebraExplain_trav_ord(ZebraExplainInfo zei, void *handle,
- int (*f)(void *handle, int ord));
+ int (*f)(void *handle, int ord,
+ const char *index_type,
+ const char *string_index,
+ zinfo_index_category_t cat));
int zebraExplain_get_database_ord(ZebraExplainInfo zei);
int zebraExplain_removeDatabase(ZebraExplainInfo zei, void *updateHandle);