* Copyright (C) 1995-2002, Index Data
* All rights reserved.
*
- * $Id: zebraapi.c,v 1.45 2002-02-20 17:30:01 adam Exp $
+ * $Id: zebraapi.c,v 1.47 2002-03-15 20:11:36 adam Exp $
*/
#include <assert.h>
static void zebra_flush_reg (ZebraHandle zh)
{
- if (zh->service->matchDict)
- dict_close (zh->service->matchDict);
- zh->service->matchDict = 0;
zebraExplain_flush (zh->service->zei, 1, zh);
extract_flushWriteKeys (zh);
zs->recTypes = recTypes_init (zs->dh);
recTypes_default_handlers (zs->recTypes);
- zs->records = NULL;
zs->zebra_maps = zebra_maps_open (zs->res);
zs->rank_classes = NULL;
zs->dict = 0;
zs->sortIdx = 0;
zs->isams = 0;
+ zs->matchDict = 0;
#if ZMBOL
zs->isam = 0;
zs->isamc = 0;
zs->isamd = 0;
#endif
zs->zei = 0;
+ zs->matchDict = 0;
zebraRankInstall (zs, rank1_class);
logf (LOG_WARN, "rec_open");
return -1;
}
- if (!(zs->dict = dict_open (zs->bfs, FNAME_DICT, 80, rw, 0)))
+ if (rw)
+ {
+ zs->matchDict = dict_open (zs->bfs, GMATCH_DICT, 20, 1, 0);
+ }
+ if (!(zs->dict = dict_open (zs->bfs, FNAME_DICT, 40, rw, 0)))
{
logf (LOG_WARN, "dict_open");
return -1;
{
zebraExplain_close (zs->zei, 0);
dict_close (zs->dict);
+ if (zs->matchDict)
+ dict_close (zs->matchDict);
sortIdx_close (zs->sortIdx);
if (zs->isams)
isams_close (zs->isams);
char val;
int seqno;
- zebra_flush_reg (zh);
(zh->trans_no)++;
if (zh->trans_no != 1)
+ {
+ zebra_flush_reg (zh);
return 0;
+ }
zebra_get_state (&val, &seqno);
if (val == 'd')
zebra_set_state ('d', seqno);
zebra_register_activate (zh, 1, rval ? 1 : 0);
- zh->service->matchDict = dict_open (zh->service->bfs, GMATCH_DICT,
- 50, 1, 0);
zh->seqno = seqno;
}