X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=index%2Fzebraapi.c;h=97ac2d75f48f8d673f28225a6cc9f2a86d52b8a9;hb=f0e68a4ee36180d52d69369d0bb09a33392bb643;hp=02893e9bfc30689247ee5345b3d6150fcae15e81;hpb=fbbce5a85247803288df5d97e5061889f118c826;p=idzebra-moved-to-github.git diff --git a/index/zebraapi.c b/index/zebraapi.c index 02893e9..97ac2d7 100644 --- a/index/zebraapi.c +++ b/index/zebraapi.c @@ -1,4 +1,4 @@ -/* $Id: zebraapi.c,v 1.83 2003-02-12 15:45:59 heikki Exp $ +/* $Id: zebraapi.c,v 1.85 2003-02-27 22:55:40 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -219,6 +219,8 @@ struct zebra_register *zebra_register_open (ZebraService zs, const char *name, reg->keys.buf_max = 0; reg->keys.buf = 0; + reg->sortKeys.buf = 0; + reg->sortKeys.buf_max = 0; reg->records = 0; reg->dict = 0; @@ -234,6 +236,7 @@ struct zebra_register *zebra_register_open (ZebraService zs, const char *name, reg->key_file_no = 0; zebraRankInstall (reg, rank1_class); + zebraRankInstall (reg, rankzv_class); recordCompression = res_get_def (res, "recordCompression", "none"); if (!strcmp (recordCompression, "none")) @@ -398,6 +401,9 @@ static void zebra_register_close (ZebraService zs, struct zebra_register *reg) bfs_destroy (reg->bfs); data1_destroy (reg->dh); + xfree (reg->sortKeys.buf); + xfree (reg->keys.buf); + xfree (reg->key_buf); xfree (reg->name); xfree (reg); @@ -430,6 +436,7 @@ void zebra_close (ZebraHandle zh) { ZebraService zs; struct zebra_session **sp; + int i; if (!zh) return; @@ -442,13 +449,16 @@ void zebra_close (ZebraHandle zh) return ; resultSetDestroy (zh, -1, 0, 0); - if (zh->reg) zebra_register_close (zh->service, zh->reg); zebra_close_res (zh); xfree (zh->record_encoding); + for (i = 0; i < zh->num_basenames; i++) + xfree (zh->basenames[i]); + xfree (zh->basenames); + if (zh->iconv_to_utf8 != 0) yaz_iconv_close (zh->iconv_to_utf8); if (zh->iconv_from_utf8 != 0) @@ -1180,8 +1190,6 @@ void zebra_end_read (ZebraHandle zh) if (zh->trans_no != 0) return; - zh->errCode=0; - #if HAVE_SYS_TIMES_H times (&zh->tms2); logf (LOG_LOG, "user/system: %ld/%ld", @@ -1290,8 +1298,6 @@ void zebra_end_trans (ZebraHandle zh) zh->trans_no--; if (zh->trans_no != 0) return; - zh->errCode=0; - yaz_log (LOG_LOG, "zebra_end_trans"); rval = res_get (zh->res, "shadow");