--- a/src/query/docseqdb.cpp
+++ b/src/query/docseqdb.cpp
@@ -71,20 +71,17 @@
return m_rescnt;
}
-string DocSequenceDb::getAbstract(Rcl::Doc &doc)
+bool DocSequenceDb::getAbstract(Rcl::Doc &doc, vector<string>& vabs)
{
setQuery();
- if (!m_q->whatDb())
- return doc.meta[Rcl::Doc::keyabs];
- string abstract;
+ if (m_q->whatDb() &&
+ m_queryBuildAbstract && (doc.syntabs || m_queryReplaceAbstract)) {
+ m_q->whatDb()->makeDocAbstract(doc, m_q.getptr(), vabs);
+ }
+ if (vabs.empty())
+ vabs.push_back(doc.meta[Rcl::Doc::keyabs]);
- if (m_queryBuildAbstract && (doc.syntabs || m_queryReplaceAbstract)) {
- m_q->whatDb()->makeDocAbstract(doc, m_q.getptr(), abstract);
- } else {
- abstract = doc.meta[Rcl::Doc::keyabs];
- }
-
- return abstract.empty() ? doc.meta[Rcl::Doc::keyabs] : abstract;
+ return true;
}
bool DocSequenceDb::getEnclosing(Rcl::Doc& doc, Rcl::Doc& pdoc)