X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=index%2Fextract.c;h=1ec0f80c5c68b222baa92ec04f3a362d14619926;hb=d609724b63e4c82cf94a02bf7a8b40a33254a250;hp=84d4c4f1a175f6f753bd725421e9a9d7aff82cd2;hpb=a9e90f22d2cefbafc9d490a03a3bc7d1b75d57ee;p=idzebra-moved-to-github.git diff --git a/index/extract.c b/index/extract.c index 84d4c4f..1ec0f80 100644 --- a/index/extract.c +++ b/index/extract.c @@ -1,4 +1,4 @@ -/* $Id: extract.c,v 1.174 2005-03-09 12:14:42 adam Exp $ +/* $Id: extract.c,v 1.176 2005-03-17 08:31:28 adam Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -491,18 +491,6 @@ static int file_extract_record(ZebraHandle zh, } return 0; } - if (zh->reg->keys.buf_used == 0) - { - /* the extraction process returned no information - the record - is probably empty - unless flagShowRecords is in use */ - if (!zh->m_flag_rw) - return 1; - - if (zh->records_processed < zh->m_file_verbose_limit) - yaz_log (YLOG_WARN, "empty %s %s " PRINTF_OFF_T, zh->m_record_type, - fname, recordOffset); - return 1; - } if (extractCtrl.match_criteria[0]) matchStr = extractCtrl.match_criteria; } @@ -534,6 +522,18 @@ static int file_extract_record(ZebraHandle zh, } } } + if (! *sysno && zh->reg->keys.buf_used == 0) + { + /* the extraction process returned no information - the record + is probably empty - unless flagShowRecords is in use */ + if (!zh->m_flag_rw) + return 1; + + if (zh->records_processed < zh->m_file_verbose_limit) + yaz_log (YLOG_WARN, "empty %s %s " PRINTF_OFF_T, zh->m_record_type, + fname, recordOffset); + return 1; + } if (! *sysno) { @@ -833,6 +833,7 @@ int buffer_extract_record (ZebraHandle zh, long recordOffset = 0; struct zebra_fetch_control fc; const char *pr_fname = fname; /* filename to print .. */ + int show_progress = zh->records_processed < zh->m_file_verbose_limit ? 1:0; if (!pr_fname) pr_fname = ""; /* make it printable if file is omitted */ @@ -914,16 +915,6 @@ int buffer_extract_record (ZebraHandle zh, yaz_log (YLOG_WARN, "extract error: no such filter"); return 0; } - if (zh->reg->keys.buf_used == 0) - { - /* the extraction process returned no information - the record - is probably empty - unless flagShowRecords is in use */ - if (test_mode) - return 1; - yaz_log (YLOG_WARN, "No keys generated for record"); - yaz_log (YLOG_WARN, " The file is probably empty"); - return 1; - } /* match criteria */ matchStr = NULL; @@ -954,19 +945,31 @@ int buffer_extract_record (ZebraHandle zh, } } } + if (! *sysno && zh->reg->keys.buf_used == 0) + { + /* new record and it's empty .. we will skip it */ + /* the extraction process returned no information - the record + is probably empty - unless flagShowRecords is in use */ + if (test_mode) + return 1; + yaz_log (YLOG_WARN, "No keys generated for record."); + return 1; + } if (! *sysno) { /* new record */ if (delete_flag) { - yaz_log (YLOG_LOG, "delete %s %s %ld", recordType, - pr_fname, (long) recordOffset); + if (show_progress) + yaz_log (YLOG_LOG, "delete %s %s %ld", recordType, + pr_fname, (long) recordOffset); yaz_log (YLOG_WARN, "cannot delete record above (seems new)"); return 1; } - yaz_log (YLOG_LOG, "add %s %s %ld", recordType, pr_fname, - (long) recordOffset); + if (show_progress) + yaz_log (YLOG_LOG, "add %s %s %ld", recordType, pr_fname, + (long) recordOffset); rec = rec_new (zh->reg->records); *sysno = rec->sysno; @@ -989,11 +992,13 @@ int buffer_extract_record (ZebraHandle zh, struct recKeys delkeys; struct sortKeys sortKeys; - if (!allow_update) { - yaz_log (YLOG_LOG, "skipped %s %s %ld", - recordType, pr_fname, (long) recordOffset); - logRecord(zh); - return -1; + if (!allow_update) + { + if (show_progress) + yaz_log (YLOG_LOG, "skipped %s %s %ld", + recordType, pr_fname, (long) recordOffset); + logRecord(zh); + return -1; } rec = rec_get (zh->reg->records, *sysno); @@ -1005,8 +1010,9 @@ int buffer_extract_record (ZebraHandle zh, if (recordAttr->runNumber == zebraExplain_runNumberIncrement (zh->reg->zei, 0)) { - yaz_log (YLOG_LOG, "skipped %s %s %ld", recordType, - pr_fname, (long) recordOffset); + if (show_progress) + yaz_log (YLOG_LOG, "skipped %s %s %ld", recordType, + pr_fname, (long) recordOffset); extract_flushSortKeys (zh, *sysno, -1, &zh->reg->sortKeys); rec_rm (&rec); logRecord(zh); @@ -1027,14 +1033,19 @@ int buffer_extract_record (ZebraHandle zh, /* record going to be deleted */ if (!delkeys.buf_used) { - yaz_log (YLOG_LOG, "delete %s %s %ld", recordType, - pr_fname, (long) recordOffset); - yaz_log (YLOG_WARN, "cannot delete file above, storeKeys false"); - } + if (show_progress) + { + yaz_log (YLOG_LOG, "delete %s %s %ld", recordType, + pr_fname, (long) recordOffset); + yaz_log (YLOG_WARN, "cannot delete file above, " + "storeKeys false"); + } + } else { - yaz_log (YLOG_LOG, "delete %s %s %ld", recordType, - pr_fname, (long) recordOffset); + if (show_progress) + yaz_log (YLOG_LOG, "delete %s %s %ld", recordType, + pr_fname, (long) recordOffset); zh->records_deleted++; if (matchStr) dict_delete (zh->reg->matchDict, matchStr); @@ -1049,14 +1060,18 @@ int buffer_extract_record (ZebraHandle zh, /* record going to be updated */ if (!delkeys.buf_used) { - yaz_log (YLOG_LOG, "update %s %s %ld", recordType, - pr_fname, (long) recordOffset); - yaz_log (YLOG_WARN, "cannot update file above, storeKeys false"); - } + if (show_progress) + { + yaz_log (YLOG_LOG, "update %s %s %ld", recordType, + pr_fname, (long) recordOffset); + yaz_log (YLOG_WARN, "cannot update file above, storeKeys false"); + } + } else { - yaz_log (YLOG_LOG, "update %s %s %ld", recordType, - pr_fname, (long) recordOffset); + if (show_progress) + yaz_log (YLOG_LOG, "update %s %s %ld", recordType, + pr_fname, (long) recordOffset); extract_flushSortKeys (zh, *sysno, 1, &zh->reg->sortKeys); extract_flushRecordKeys (zh, *sysno, 1, &zh->reg->keys); zh->records_updated++;