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
Functional multi-value sort + tests
[idzebra-moved-to-github.git]
/
index
/
extract.c
diff --git
a/index/extract.c
b/index/extract.c
index
0d648a6
..
e092a9b
100644
(file)
--- a/
index/extract.c
+++ b/
index/extract.c
@@
-1867,20
+1867,16
@@
void extract_flush_sort_keys(ZebraHandle zh, zint sysno,
const char *str;
struct it_key key_in;
const char *str;
struct it_key key_in;
-#define USE_SORT_ENT 1
-#if USE_SORT_ENT
NMEM nmem = nmem_create();
struct sort_add_ent {
int ord;
int cmd;
struct sort_add_ent *next;
NMEM nmem = nmem_create();
struct sort_add_ent {
int ord;
int cmd;
struct sort_add_ent *next;
- struct zebra_sort_ent sort_ent;
+ WRBUF wrbuf;
};
struct sort_add_ent *sort_ent_list = 0;
};
struct sort_add_ent *sort_ent_list = 0;
-#endif
zebra_sort_sysno(si, sysno);
zebra_sort_sysno(si, sysno);
-#if USE_SORT_ENT
while (zebra_rec_keys_read(reckeys, &str, &slen, &key_in))
{
int ord = CAST_ZINT_TO_INT(key_in.mem[0]);
while (zebra_rec_keys_read(reckeys, &str, &slen, &key_in))
{
int ord = CAST_ZINT_TO_INT(key_in.mem[0]);
@@
-1892,15
+1888,13
@@
void extract_flush_sort_keys(ZebraHandle zh, zint sysno,
{
*e = nmem_malloc(nmem, sizeof(**e));
(*e)->next = 0;
{
*e = nmem_malloc(nmem, sizeof(**e));
(*e)->next = 0;
- (*e)->sort_ent.wrbuf = wrbuf_alloc();
- (*e)->sort_ent.num = 0;
+ (*e)->wrbuf = wrbuf_alloc();
(*e)->ord = ord;
(*e)->cmd = cmd;
}
(*e)->ord = ord;
(*e)->cmd = cmd;
}
- wrbuf_write((*e)->sort_ent.wrbuf, str, slen);
- wrbuf_putc((*e)->sort_ent.wrbuf, '\0');
- (*e)->sort_ent.num++;
+ wrbuf_write((*e)->wrbuf, str, slen);
+ wrbuf_putc((*e)->wrbuf, '\0');
}
if (sort_ent_list)
{
}
if (sort_ent_list)
{
@@
-1909,25
+1903,13
@@
void extract_flush_sort_keys(ZebraHandle zh, zint sysno,
{
zebra_sort_type(si, e->ord);
if (e->cmd == 1)
{
zebra_sort_type(si, e->ord);
if (e->cmd == 1)
- zebra_sort_add_ent(si, &e->sort_ent);
+ zebra_sort_add(si, e->wrbuf);
else
zebra_sort_delete(si);
else
zebra_sort_delete(si);
- wrbuf_destroy(e->sort_ent.wrbuf);
+ wrbuf_destroy(e->wrbuf);
}
}
nmem_destroy(nmem);
}
}
nmem_destroy(nmem);
-#else
- while (zebra_rec_keys_read(reckeys, &str, &slen, &key_in))
- {
- int ord = CAST_ZINT_TO_INT(key_in.mem[0]);
-
- zebra_sort_type(si, ord);
- if (cmd == 1)
- zebra_sort_add(si, str, slen);
- else
- zebra_sort_delete(si);
- }
-#endif
}
}
}
}