|
a/src/rcldb/searchdata.h |
|
b/src/rcldb/searchdata.h |
|
... |
|
... |
313 |
: SearchDataClause(tp), m_text(txt), m_field(fld), m_curcl(0)
|
313 |
: SearchDataClause(tp), m_text(txt), m_field(fld), m_curcl(0)
|
314 |
{
|
314 |
{
|
315 |
m_haveWildCards =
|
315 |
m_haveWildCards =
|
316 |
(txt.find_first_of(cstr_minwilds) != std::string::npos);
|
316 |
(txt.find_first_of(cstr_minwilds) != std::string::npos);
|
317 |
}
|
317 |
}
|
|
|
318 |
SearchDataClauseSimple(const std::string& txt, SClType tp)
|
|
|
319 |
: SearchDataClause(tp), m_text(txt), m_curcl(0)
|
|
|
320 |
{
|
|
|
321 |
m_haveWildCards =
|
|
|
322 |
(txt.find_first_of(cstr_minwilds) != std::string::npos);
|
|
|
323 |
}
|
318 |
|
324 |
|
319 |
virtual ~SearchDataClauseSimple()
|
325 |
virtual ~SearchDataClauseSimple()
|
320 |
{
|
326 |
{
|
321 |
}
|
327 |
}
|
322 |
|
328 |
|
|
... |
|
... |
363 |
*
|
369 |
*
|
364 |
* There is a big advantage in expanding only against the
|
370 |
* There is a big advantage in expanding only against the
|
365 |
* field, especially for file names, because this makes searches for
|
371 |
* field, especially for file names, because this makes searches for
|
366 |
* "*xx" much faster (no need to scan the whole main index).
|
372 |
* "*xx" much faster (no need to scan the whole main index).
|
367 |
*/
|
373 |
*/
|
368 |
class SearchDataClauseFilename : public SearchDataClause {
|
374 |
class SearchDataClauseFilename : public SearchDataClauseSimple {
|
369 |
public:
|
375 |
public:
|
370 |
SearchDataClauseFilename(const std::string& txt)
|
376 |
SearchDataClauseFilename(const std::string& txt)
|
371 |
: SearchDataClause(SCLT_FILENAME), m_text(txt)
|
377 |
: SearchDataClauseSimple(txt, SCLT_FILENAME)
|
372 |
{
|
378 |
{
|
373 |
// File name searches don't count when looking for wild cards.
|
379 |
// File name searches don't count when looking for wild cards.
|
374 |
m_haveWildCards = false;
|
380 |
m_haveWildCards = false;
|
375 |
}
|
381 |
}
|
376 |
|
382 |
|
|
... |
|
... |
381 |
virtual void getTerms(HighlightData&) const
|
387 |
virtual void getTerms(HighlightData&) const
|
382 |
{
|
388 |
{
|
383 |
}
|
389 |
}
|
384 |
|
390 |
|
385 |
virtual bool toNativeQuery(Rcl::Db &, void *);
|
391 |
virtual bool toNativeQuery(Rcl::Db &, void *);
|
386 |
|
|
|
387 |
protected:
|
|
|
388 |
std::string m_text;
|
|
|
389 |
};
|
392 |
};
|
390 |
|
393 |
|
391 |
|
394 |
|
392 |
/**
|
395 |
/**
|
393 |
* Pathname filtering clause. This is special because of history:
|
396 |
* Pathname filtering clause. This is special because of history:
|