/* This file is part of Metaproxy.
- Copyright (C) 2005-2013 Index Data
+ Copyright (C) Index Data
Metaproxy is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Record(Z_NamePlusRecord *n, const char *namespaces,
const char *expr, bool debug);
~Record();
- bool operator < (const Record &rhs);
+ bool operator < (const Record &rhs) const;
};
class Sort::RecordList : boost::noncopyable {
Odr_oid *syntax;
Odr_int start_pos,
ResultSetPtr s,
Odr_oid *syntax,
+ Z_RecordComposition *comp,
const char *resultSetId);
public:
Frontend(Impl *impl);
{
}
-bool yf::Sort::Record::operator < (const Record &rhs)
+bool yf::Sort::Record::operator < (const Record &rhs) const
{
if (strcmp(this->score.c_str(), rhs.score.c_str()) < 0)
return true;
Odr_int start_pos,
ResultSetPtr s,
Odr_oid *syntax,
+ Z_RecordComposition *comp,
const char *resultSetId)
{
if (records && records->which == Z_Records_DBOSD && start_pos == 1)
*p_req->numberOfRecordsRequested = end_pos - pos + 1;
p_req->preferredRecordSyntax = syntax;
p_req->resultSetId = odr_strdup(odr, resultSetId);
+ p_req->recordComposition = comp;
present_package.request() = p_apdu;
present_package.move();
Z_APDU_searchResponse)
{
Z_SearchResponse *res = gdu_res->u.z3950->u.searchResponse;
+ Z_RecordComposition *record_comp =
+ mp::util::piggyback_to_RecordComposition(odr,
+ *res->resultCount, req);
s->hit_count = *res->resultCount;
handle_records(b_package, apdu_req, res->records, 1, s,
- syntax, resultSetId.c_str());
+ syntax, record_comp, resultSetId.c_str());
package.response() = gdu_res;
}
}
{
Z_PresentResponse *res = gdu_res->u.z3950->u.presentResponse;
handle_records(b_package, apdu_req, res->records,
- start, rset, syntax, resultSetId.c_str());
+ start, rset, syntax, req->recordComposition,
+ resultSetId.c_str());
package.response() = gdu_res;
}
}