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
Added other sort index test.
[idzebra-moved-to-github.git]
/
index
/
extract.c
diff --git
a/index/extract.c
b/index/extract.c
index
10c4adc
..
89f072a
100644
(file)
--- a/
index/extract.c
+++ b/
index/extract.c
@@
-1,8
+1,5
@@
-/* $Id: extract.c,v 1.274 2007-12-17 08:44:07 adam Exp $
- Copyright (C) 1995-2007
- Index Data ApS
-
-This file is part of the Zebra server.
+/* This file is part of the Zebra server.
+ Copyright (C) 1995-2008 Index Data
Zebra is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Zebra is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
@@
-187,7
+184,7
@@
static void snippet_add_complete_field(RecWord *p, int ord,
}
if (!i)
return;
}
if (!i)
return;
- if (last && start != last)
+ if (last && start != last && zebra_maps_is_index(zm))
zebra_snippets_appendn(h->snippets, p->seqno, 0, ord,
start, last - start);
}
zebra_snippets_appendn(h->snippets, p->seqno, 0, ord,
start, last - start);
}
@@
-222,7
+219,7
@@
static void snippet_add_incomplete_field(RecWord *p, int ord, zebra_map_t zm)
}
if (!map)
break;
}
if (!map)
break;
- if (start != last)
+ if (start != last && zebra_maps_is_index(zm))
{
zebra_snippets_appendn(h->snippets, p->seqno, 1, ord,
start, last - start);
{
zebra_snippets_appendn(h->snippets, p->seqno, 1, ord,
start, last - start);
@@
-256,7
+253,7
@@
static void snippet_add_incomplete_field(RecWord *p, int ord, zebra_map_t zm)
p->seqno++;
}
}
p->seqno++;
}
}
- if (start != last)
+ if (start != last && zebra_maps_is_index(zm))
zebra_snippets_appendn(h->snippets, p->seqno, 0, ord,
start, last - start);
start = last;
zebra_snippets_appendn(h->snippets, p->seqno, 0, ord,
start, last - start);
start = last;
@@
-279,8
+276,9
@@
static void snippet_add_icu(RecWord *p, int ord, zebra_map_t zm)
while (zebra_map_tokenize_next(zm, &res_buf, &res_len,
&display_buf, &display_len))
{
while (zebra_map_tokenize_next(zm, &res_buf, &res_len,
&display_buf, &display_len))
{
- zebra_snippets_appendn(h->snippets, p->seqno, 0, ord,
- display_buf, display_len);
+ if (zebra_maps_is_index(zm))
+ zebra_snippets_appendn(h->snippets, p->seqno, 0, ord,
+ display_buf, display_len);
p->seqno++;
}
}
p->seqno++;
}
}
@@
-291,7
+289,7
@@
static void snippet_token_add(RecWord *p)
ZebraHandle zh = h->zh;
zebra_map_t zm = zebra_map_get(zh->reg->zebra_maps, p->index_type);
ZebraHandle zh = h->zh;
zebra_map_t zm = zebra_map_get(zh->reg->zebra_maps, p->index_type);
- if (zm && zebra_maps_is_index(zm))
+ if (zm)
{
ZebraExplainInfo zei = zh->reg->zei;
int ch = zebraExplain_lookup_attr_str(
{
ZebraExplainInfo zei = zh->reg->zei;
int ch = zebraExplain_lookup_attr_str(
@@
-585,7
+583,7
@@
ZEBRA_RES zebra_extract_records_stream(ZebraHandle zh,
ZEBRA_RES zebra_extract_file(ZebraHandle zh, zint *sysno, const char *fname,
ZEBRA_RES zebra_extract_file(ZebraHandle zh, zint *sysno, const char *fname,
- int deleteFlag)
+ enum zebra_recctrl_action_t action)
{
ZEBRA_RES r = ZEBRA_OK;
int i, fd;
{
ZEBRA_RES r = ZEBRA_OK;
int i, fd;
@@
-655,7
+653,7
@@
ZEBRA_RES zebra_extract_file(ZebraHandle zh, zint *sysno, const char *fname,
default:
yaz_log(YLOG_WARN, "Bad filter version: %s", zh->m_record_type);
}
default:
yaz_log(YLOG_WARN, "Bad filter version: %s", zh->m_record_type);
}
- if (sysno && deleteFlag)
+ if (sysno && (action == action_delete || action == action_a_delete))
{
streamp = 0;
fi = 0;
{
streamp = 0;
fi = 0;
@@
-683,8
+681,7
@@
ZEBRA_RES zebra_extract_file(ZebraHandle zh, zint *sysno, const char *fname,
zebra_create_stream_fd(streamp, fd, 0);
}
r = zebra_extract_records_stream(zh, streamp,
zebra_create_stream_fd(streamp, fd, 0);
}
r = zebra_extract_records_stream(zh, streamp,
- deleteFlag ?
- action_delete : action_update,
+ action,
0, /* tst_mode */
zh->m_record_type,
sysno,
0, /* tst_mode */
zh->m_record_type,
sysno,
@@
-969,14
+966,21
@@
ZEBRA_RES zebra_extract_record_stream(ZebraHandle zh,
if (! *sysno)
{
if (! *sysno)
{
- /* new record */
+ /* new record AKA does not exist already */
if (action == action_delete)
{
if (action == action_delete)
{
- yaz_log(YLOG_LOG, "delete %s %s " ZINT_FORMAT, recordType,
- pr_fname, (zint) start_offset);
+ yaz_log(YLOG_LOG, "delete %s %s " ZINT_FORMAT, recordType,
+ pr_fname, (zint) start_offset);
yaz_log(YLOG_WARN, "cannot delete record above (seems new)");
return ZEBRA_FAIL;
}
yaz_log(YLOG_WARN, "cannot delete record above (seems new)");
return ZEBRA_FAIL;
}
+ else if (action == action_a_delete)
+ {
+ if (show_progress)
+ yaz_log(YLOG_LOG, "adelete %s %s " ZINT_FORMAT, recordType,
+ pr_fname, (zint) start_offset);
+ return ZEBRA_OK;
+ }
else if (action == action_replace)
{
yaz_log(YLOG_LOG, "update %s %s " ZINT_FORMAT, recordType,
else if (action == action_replace)
{
yaz_log(YLOG_LOG, "update %s %s " ZINT_FORMAT, recordType,
@@
-1069,7
+1073,7
@@
ZEBRA_RES zebra_extract_record_stream(ZebraHandle zh,
extract_flush_record_keys(zh, *sysno, 0, delkeys,
recordAttr->staticrank);
#endif
extract_flush_record_keys(zh, *sysno, 0, delkeys,
recordAttr->staticrank);
#endif
- if (action == action_delete)
+ if (action == action_delete || action == action_a_delete)
{
/* record going to be deleted */
#if FLUSH2
{
/* record going to be deleted */
#if FLUSH2
@@
-1608,7
+1612,15
@@
static void extract_add_string(RecWord *p, zebra_map_t zm,
if (!p->index_name)
return;
if (!p->index_name)
return;
+ if (log_level_details)
+ {
+ WRBUF w = wrbuf_alloc();
+
+ wrbuf_write_escaped(w, string, length);
+ yaz_log(log_level_details, "extract_add_string: %s", wrbuf_cstr(w));
+ wrbuf_destroy(w);
+ }
if (zebra_maps_is_index(zm))
{
extract_add_index_string(p, zinfo_index_category_index,
if (zebra_maps_is_index(zm))
{
extract_add_index_string(p, zinfo_index_category_index,