projects
/
idzebra-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
started show command - doesn't work yet
[idzebra-moved-to-github.git]
/
index
/
extract.c
diff --git
a/index/extract.c
b/index/extract.c
index
e431453
..
5a179b8
100644
(file)
--- a/
index/extract.c
+++ b/
index/extract.c
@@
-1,4
+1,4
@@
-/* $Id: extract.c,v 1.142 2003-03-12 17:11:23 pop Exp $
+/* $Id: extract.c,v 1.145 2003-06-30 19:37:12 adam Exp $
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003
Index Data Aps
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003
Index Data Aps
@@
-419,7
+419,8
@@
static int recordExtract (ZebraHandle zh,
SYSNO *sysno, const char *fname,
struct recordGroup *rGroup, int deleteFlag,
struct file_read_info *fi,
SYSNO *sysno, const char *fname,
struct recordGroup *rGroup, int deleteFlag,
struct file_read_info *fi,
- RecType recType, char *subType, void *clientData)
+ RecType recType, char *subType, void *clientData,
+ int force_update)
{
RecordAttr *recordAttr;
int r;
{
RecordAttr *recordAttr;
int r;
@@
-580,7
+581,7
@@
static int recordExtract (ZebraHandle zh,
recordAttr = rec_init_attr (zh->reg->zei, rec);
recordAttr = rec_init_attr (zh->reg->zei, rec);
- if (recordAttr->runNumber ==
+ if (!force_update && recordAttr->runNumber ==
zebraExplain_runNumberIncrement (zh->reg->zei, 0))
{
yaz_log (LOG_LOG, "run number = %d", recordAttr->runNumber);
zebraExplain_runNumberIncrement (zh->reg->zei, 0))
{
yaz_log (LOG_LOG, "run number = %d", recordAttr->runNumber);
@@
-882,7
+883,7
@@
int fileExtract (ZebraHandle zh, SYSNO *sysno, const char *fname,
{
file_begin (fi);
r = recordExtract (zh, sysno, fname, rGroup, deleteFlag, fi,
{
file_begin (fi);
r = recordExtract (zh, sysno, fname, rGroup, deleteFlag, fi,
- recType, subType, clientData);
+ recType, subType, clientData, 1);
} while (r && !sysno && fi->file_more);
file_read_stop (fi);
if (fd != -1)
} while (r && !sysno && fi->file_more);
file_read_stop (fi);
if (fd != -1)
@@
-918,7
+919,7
@@
int extract_rec_in_mem (ZebraHandle zh, const char *recordType,
sysno,
match_criteria,
"<no file>",
sysno,
match_criteria,
"<no file>",
- 0));
+ 0,1));
}
/*
If sysno is provided, then it's used to identify the reocord.
}
/*
If sysno is provided, then it's used to identify the reocord.
@@
-935,7
+936,8
@@
int bufferExtractRecord (ZebraHandle zh,
int *sysno,
const char *match_criteria,
const char *fname,
int *sysno,
const char *match_criteria,
const char *fname,
- int force_update)
+ int force_update,
+ int allow_update)
{
RecordAttr *recordAttr;
{
RecordAttr *recordAttr;
@@
-1094,13
+1096,20
@@
int bufferExtractRecord (ZebraHandle zh,
extract_flushRecordKeys (zh, *sysno, 1, &zh->reg->keys);
zh->records_inserted++;
extract_flushRecordKeys (zh, *sysno, 1, &zh->reg->keys);
zh->records_inserted++;
- }
+ }
else
{
/* record already exists */
struct recKeys delkeys;
struct sortKeys sortKeys;
else
{
/* record already exists */
struct recKeys delkeys;
struct sortKeys sortKeys;
+ if (!allow_update) {
+ logf (LOG_LOG, "skipped %s %s %ld",
+ recordType, fname, (long) recordOffset);
+ logRecord(zh);
+ return -1;
+ }
+
rec = rec_get (zh->reg->records, *sysno);
assert (rec);
rec = rec_get (zh->reg->records, *sysno);
assert (rec);
@@
-1294,8
+1303,9
@@
int explain_extract (void *handle, Record rec, data1_node *n)
extractCtrl.zebra_maps = zh->reg->zebra_maps;
extractCtrl.flagShowRecords = 0;
extractCtrl.handle = handle;
extractCtrl.zebra_maps = zh->reg->zebra_maps;
extractCtrl.flagShowRecords = 0;
extractCtrl.handle = handle;
-
- grs_extract_tree(&extractCtrl, n);
+
+ if (n)
+ grs_extract_tree(&extractCtrl, n);
if (rec->size[recInfo_delKeys])
{
if (rec->size[recInfo_delKeys])
{
@@
-1825,6
+1835,7
@@
char *encode_key_int (int d, char *bp)
}
return bp;
}
}
return bp;
}
+#define OLDENCODE 1
#ifdef OLDENCODE
/* this is the old encode_key_write
#ifdef OLDENCODE
/* this is the old encode_key_write