X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzebraapi.c;h=ec6a6608d595bf27c3b3562d2de11908b93ce4ed;hb=404739981f08f588c670e3fc272c547bde5ac5ae;hp=42800e7c13074e42ab54b4bf93fe2eb9a6b6a497;hpb=2c2dcf07d04f1b52adc104c57273050f47b8b876;p=idzebra-moved-to-github.git diff --git a/index/zebraapi.c b/index/zebraapi.c index 42800e7..ec6a660 100644 --- a/index/zebraapi.c +++ b/index/zebraapi.c @@ -433,6 +433,13 @@ struct zebra_register *zebra_register_open(ZebraService zs, const char *name, ret = ZEBRA_FAIL; } + if (!rec_check_compression_method(record_compression)) + { + yaz_log(YLOG_FATAL, "unsupported recordCompression: %s", + compression_str); + ret = ZEBRA_FAIL; + } + { const char *index_fname = res_get_def(res, "index", "default.idx"); if (index_fname && *index_fname && strcmp(index_fname, "none")) @@ -1992,16 +1999,18 @@ ZEBRA_RES zebra_end_transaction(ZebraHandle zh, ZebraTransactionStatus *status) ZEBRA_RES zebra_repository_update(ZebraHandle zh, const char *path) { - return zebra_repository_index(zh, path, action_update); + /* Both of these probably need to be thought out better */ + return zebra_repository_index(zh, path, action_update, NULL); } ZEBRA_RES zebra_repository_delete(ZebraHandle zh, const char *path) { - return zebra_repository_index(zh, path, action_delete); + /* Both of these probably need to be thought out better */ + return zebra_repository_index(zh, path, action_delete, NULL); } ZEBRA_RES zebra_repository_index(ZebraHandle zh, const char *path, - enum zebra_recctrl_action_t action) + enum zebra_recctrl_action_t action, char *useIndexDriver) { ASSERTZH; assert(path); @@ -2015,10 +2024,20 @@ ZEBRA_RES zebra_repository_index(ZebraHandle zh, const char *path, else yaz_log(log_level, "update action=%d", (int) action); - if (zh->m_record_id && !strcmp(zh->m_record_id, "file")) - return zebra_update_file_match(zh, path); + if(!useIndexDriver) + { + if (zh->m_record_id && !strcmp(zh->m_record_id, "file")) + return zebra_update_file_match(zh, path); + else + return zebra_update_from_path(zh, path, action); + } else - return zebra_update_from_path(zh, path, action); + { + /* This is used if we indicate we'll be indexing from the plugin + rather than any of the file input systems */ + zebra_update_from_driver(zh, path, action, useIndexDriver); + } + } ZEBRA_RES zebra_repository_show(ZebraHandle zh, const char *path)