-/* $Id: logic.c,v 1.66 2007-09-10 16:25:50 adam Exp $
+/* $Id: logic.c,v 1.73 2007-12-22 17:10:37 adam Exp $
Copyright (c) 2006-2007, Index Data.
This file is part of Pazpar2.
"",
"",
0,
- 0, /* dump_records */
- 0, /* debug_mode */
- 30,
+ 0, // dump_records
+ 0, // debug_mode
+ 30, // operations timeout
"81",
"Index Data PazPar2",
VERSION,
- 600, // 10 minutes
- 60,
+ 60, // session timeout
100,
MAX_CHUNK,
0,
0,
- 180,
- 30
+ 180, // Z39.50 session timeout
+ 15 // Connect timeout
};
// Recursively traverse query structure to extract terms.
}
// called if watch should be removed because http_channel is to be destroyed
-static void session_watch_cancel(void *data, struct http_channel *c)
+static void session_watch_cancel(void *data, struct http_channel *c,
+ void *data2)
{
struct session_watchentry *ent = data;
if (s->watchlist[what].fun)
{
/* our watch is no longer associated with http_channel */
+ void *data;
+ session_watchfun fun;
+
http_remove_observer(s->watchlist[what].obs);
- session_watchfun fun = s->watchlist[what].fun;
- void *data = s->watchlist[what].data;
+ fun = s->watchlist[what].fun;
+ data = s->watchlist[what].data;
/* reset watch before fun is invoked - in case fun wants to set
it again */
rec_md->data.text.disp = nmem_strdup(nmem, p);
rec_md->data.text.sort = 0;
}
- else if (type == Metadata_type_year)
+ else if (type == Metadata_type_year || type == Metadata_type_date)
{
int first, last;
- if (extract7bit_years((char *) value, &first, &last) < 0)
+ int longdate = 0;
+
+ if (type == Metadata_type_date)
+ longdate = 1;
+ if (extract7bit_dates((char *) value, &first, &last, longdate) < 0)
return 0;
+
rec_md->data.number.min = first;
rec_md->data.number.max = last;
}
cluster->sortkeys[sk_field_id]->text.disp =
rec_md->data.text.disp;
+ if (!sort_str)
+ {
+ sort_str = rec_md->data.text.disp;
+ yaz_log(YLOG_WARN,
+ "Could not make sortkey. Bug #1858");
+ }
cluster->sortkeys[sk_field_id]->text.sort =
nmem_strdup(se->nmem, sort_str);
#if 0