@@ -281,11 +281,11 @@ class ColumnarProxySorter_T : public ISphMatchSorter
281
281
void Push ( const VecTraits_T<const CSphMatch> & dMatches ) override { assert ( 0 && " No batch push to proxy sorter" ); }
282
282
283
283
bool IsGroupby () const override { return m_pSorter->IsGroupby (); }
284
- bool PushGrouped ( const CSphMatch & tEntry, bool bNewSet ) override { return m_pSorter->PushGrouped ( tEntry, bNewSet ); }
284
+ bool PushGrouped ( const CSphMatch & tEntry, bool bNewSet, bool bUpdateDistinct ) override { return m_pSorter->PushGrouped ( tEntry, bNewSet, bUpdateDistinct ); }
285
285
int GetLength () override ;
286
- void Finalize ( MatchProcessor_i & tProcessor, bool bCallProcessInResultSetOrder ) override ;
286
+ void Finalize ( MatchProcessor_i & tProcessor, bool bCallProcessInResultSetOrder, bool bFinalizeMatches ) override ;
287
287
int Flatten ( CSphMatch * pTo ) override ;
288
- void MoveTo ( ISphMatchSorter * pRhs ) override ;
288
+ void MoveTo ( ISphMatchSorter * pRhs, bool bCopyMeta ) override ;
289
289
290
290
ISphMatchSorter * Clone () const override { return new ColumnarProxySorter_T<GENERIC,COMP,SINGLE> ( m_pSorter->Clone (), m_iSize, m_iFastPathAttrs ); }
291
291
void CloneTo ( ISphMatchSorter * pTrg ) const override ;
@@ -300,7 +300,7 @@ class ColumnarProxySorter_T : public ISphMatchSorter
300
300
int64_t GetTotalCount () const override { return m_pSorter->GetTotalCount (); }
301
301
302
302
void SetFilteredAttrs ( const sph::StringSet & hAttrs, bool bAddDocid ) override { m_pSorter->SetFilteredAttrs ( hAttrs, bAddDocid ); }
303
- void TransformPooled2StandalonePtrs ( GetBlobPoolFromMatch_fn fnBlobPoolFromMatch, GetColumnarFromMatch_fn fnGetColumnarFromMatch ) override ;
303
+ void TransformPooled2StandalonePtrs ( GetBlobPoolFromMatch_fn fnBlobPoolFromMatch, GetColumnarFromMatch_fn fnGetColumnarFromMatch, bool bFinalizeSorters ) override ;
304
304
305
305
bool IsRandom () const override { return m_pSorter->IsRandom (); }
306
306
void SetRandom ( bool bRandom ) override { m_pSorter->SetRandom (bRandom); }
@@ -477,11 +477,11 @@ void ColumnarProxySorter_T<GENERIC,COMP,SINGLE>::SetColumnar ( columnar::Columna
477
477
}
478
478
479
479
template <typename GENERIC, typename COMP, typename SINGLE>
480
- void ColumnarProxySorter_T<GENERIC,COMP,SINGLE>::TransformPooled2StandalonePtrs ( GetBlobPoolFromMatch_fn fnBlobPoolFromMatch, GetColumnarFromMatch_fn fnGetColumnarFromMatch )
480
+ void ColumnarProxySorter_T<GENERIC,COMP,SINGLE>::TransformPooled2StandalonePtrs ( GetBlobPoolFromMatch_fn fnBlobPoolFromMatch, GetColumnarFromMatch_fn fnGetColumnarFromMatch, bool bFinalizeSorters )
481
481
{
482
482
assert (m_pSorter);
483
483
PushCollectedToSorter ();
484
- m_pSorter->TransformPooled2StandalonePtrs ( fnBlobPoolFromMatch, fnGetColumnarFromMatch );
484
+ m_pSorter->TransformPooled2StandalonePtrs ( fnBlobPoolFromMatch, fnGetColumnarFromMatch, bFinalizeSorters );
485
485
m_pSchema = m_pSorter->GetSchema ();
486
486
}
487
487
@@ -505,11 +505,11 @@ bool ColumnarProxySorter_T<GENERIC,COMP,SINGLE>::PushMatch ( const CSphMatch & t
505
505
}
506
506
507
507
template <typename GENERIC, typename COMP, typename SINGLE>
508
- void ColumnarProxySorter_T<GENERIC,COMP,SINGLE>::Finalize ( MatchProcessor_i & tProcessor, bool bCallProcessInResultSetOrder )
508
+ void ColumnarProxySorter_T<GENERIC,COMP,SINGLE>::Finalize ( MatchProcessor_i & tProcessor, bool bCallProcessInResultSetOrder, bool bFinalizeMatches )
509
509
{
510
510
assert (m_pSorter);
511
511
PushCollectedToSorter ();
512
- m_pSorter->Finalize ( tProcessor, bCallProcessInResultSetOrder );
512
+ m_pSorter->Finalize ( tProcessor, bCallProcessInResultSetOrder, bFinalizeMatches );
513
513
}
514
514
515
515
template <typename GENERIC, typename COMP, typename SINGLE>
@@ -521,15 +521,15 @@ int ColumnarProxySorter_T<GENERIC,COMP,SINGLE>::Flatten ( CSphMatch * pTo )
521
521
}
522
522
523
523
template <typename GENERIC, typename COMP, typename SINGLE>
524
- void ColumnarProxySorter_T<GENERIC,COMP,SINGLE>::MoveTo ( ISphMatchSorter * pRhs )
524
+ void ColumnarProxySorter_T<GENERIC,COMP,SINGLE>::MoveTo ( ISphMatchSorter * pRhs, bool bCopyMeta )
525
525
{
526
526
// we assume that the rhs sorter is of the same type, i.e. proxy
527
527
auto pRhsProxy = (ColumnarProxySorter_T<GENERIC,COMP,SINGLE>*)pRhs;
528
528
529
529
PushCollectedToSorter ();
530
530
pRhsProxy->PushCollectedToSorter ();
531
531
532
- m_pSorter->MoveTo ( pRhsProxy->m_pSorter .Ptr () );
532
+ m_pSorter->MoveTo ( pRhsProxy->m_pSorter .Ptr (), bCopyMeta );
533
533
}
534
534
535
535
template <typename GENERIC, typename COMP, typename SINGLE>
0 commit comments