Changeset View
Changeset View
Standalone View
Standalone View
src/engine/transaction.cpp
Show First 20 Lines • Show All 342 Lines • ▼ Show 20 Line(s) | 336 | if (query.leaf()) { | |||
---|---|---|---|---|---|
343 | } | 343 | } | ||
344 | } | 344 | } | ||
345 | 345 | | |||
346 | const auto subQueries = query.subQueries(); | 346 | const auto subQueries = query.subQueries(); | ||
347 | if (subQueries.isEmpty()) { | 347 | if (subQueries.isEmpty()) { | ||
348 | return nullptr; | 348 | return nullptr; | ||
349 | } | 349 | } | ||
350 | 350 | | |||
351 | QVector<PostingIterator*> vec; | | |||
352 | vec.reserve(subQueries.size()); | | |||
353 | | ||||
354 | if (query.op() == EngineQuery::Phrase) { | 351 | if (query.op() == EngineQuery::Phrase) { | ||
352 | QVector<VectorPositionInfoIterator*> vec; | ||||
353 | vec.reserve(subQueries.size()); | ||||
355 | for (const EngineQuery& q : subQueries) { | 354 | for (const EngineQuery& q : subQueries) { | ||
356 | if (!q.leaf()) { | 355 | if (!q.leaf()) { | ||
357 | qCDebug(ENGINE) << "Transaction::toPostingIterator" << "Phrase queries must contain leaf queries"; | 356 | qCDebug(ENGINE) << "Transaction::toPostingIterator" << "Phrase queries must contain leaf queries"; | ||
358 | continue; | 357 | continue; | ||
359 | } | 358 | } | ||
360 | vec << positionDb.iter(q.term()); | 359 | vec << positionDb.iter(q.term()); | ||
361 | } | 360 | } | ||
362 | 361 | | |||
363 | return new PhraseAndIterator(vec); | 362 | return new PhraseAndIterator(vec); | ||
364 | } | 363 | } | ||
365 | 364 | | |||
365 | QVector<PostingIterator*> vec; | ||||
366 | vec.reserve(subQueries.size()); | ||||
366 | for (const EngineQuery& q : subQueries) { | 367 | for (const EngineQuery& q : subQueries) { | ||
367 | auto iterator = postingIterator(q); | 368 | auto iterator = postingIterator(q); | ||
368 | if (iterator) { | 369 | if (iterator) { | ||
369 | vec << iterator; | 370 | vec << iterator; | ||
370 | } else if (query.op() == EngineQuery::And) { | 371 | } else if (query.op() == EngineQuery::And) { | ||
371 | return nullptr; | 372 | return nullptr; | ||
372 | } | 373 | } | ||
373 | } | 374 | } | ||
▲ Show 20 Lines • Show All 272 Lines • Show Last 20 Lines |