- s.no = 1;
- s.insert_flag = 1;
- isamc_i.clientData = &s;
- isamc_i.read_item = sort_term_code_read;
-
- isamb_merge(sf->u.isamb, &sf->isam_p, &isamc_i);
- sf->no_inserted++;
- }
- break;
- }
-}
-
-void zebra_sort_add(zebra_sort_index_t si, const char *buf, int len)
-{
- struct sortFile *sf = si->current_file;
-
- if (!sf || !sf->u.bf)
- return;
- switch(si->type)
- {
- case ZEBRA_SORT_TYPE_FLAT:
- if (len > SORT_IDX_ENTRYSIZE)
- {
- len = SORT_IDX_ENTRYSIZE;
- memcpy(si->entry_buf, buf, len);
- }
- else
- {
- memcpy(si->entry_buf, buf, len);
- memset(si->entry_buf+len, 0, SORT_IDX_ENTRYSIZE-len);
- }
- bf_write(sf->u.bf, si->sysno+1, 0, 0, si->entry_buf);
- break;
- case ZEBRA_SORT_TYPE_ISAMB:
- assert(sf->u.isamb);
- if (sf->no_inserted == 0)
- {
- struct sort_term_stream s;
- ISAMC_I isamc_i;
-