se->sorted_results->position = position;
se->sorted_results->next = 0;
+ session_log(se, YLOG_DEBUG, "clear_set search_sort: field=%s increasing=%d position=%d configured",
+ sort_field, increasing, position);
+
se->reclist = reclist_create(se->nmem);
}
yaz_log(YLOG_LOG, "session_sort field=%s increasing=%d position=%d", field, increasing, position);
/* see if we already have sorted for this critieria */
- /* TODO I do not see the point in saving all previous sorts. Dont we re-sort anyway ? */
for (sr = se->sorted_results; sr; sr = sr->next)
{
if (!strcmp(field, sr->field) && increasing == sr->increasing && sr->position == position)
const char *filter,
const char *limit,
const char **addinfo,
- const char *sort_field,
- int increasing)
+ struct reclist_sortparms *sp)
{
int live_channels = 0;
int no_working = 0;
session_enter(se);
se->settings_modified = 0;
- session_clear_set(se, sort_field, increasing, 0); /* hardcoded position */
+ session_clear_set(se, sp->name, sp->increasing, sp->type == Metadata_sortkey_position);
relevance_destroy(&se->relevance);
live_channels = select_targets(se, filter);
const char *maxrecs,
const char *filter, const char *limit,
const char **addinfo,
- const char *sort_field, int increasing);
+ struct reclist_sortparms *sort_parm);
struct record_cluster **show_range_start(struct session *s,
struct reclist_sortparms *sp,
int start,