improved count join for the equals case.
[SXSI/xpathcomp.git] / src / lexindex_stub.cpp
index 9f88afb..f597a41 100644 (file)
@@ -156,15 +156,17 @@ void VectorCountMergeJoin::mergeJoin(vector<pair<int32_t,int32_t>> v1, vector<pa
   int comp=0;
   int i1=0;
   int i2=0;
-  int k;
+  int k,j;
   while((i1<v1.size()) && (i2<v2.size())){
     k = strcmp((const char*) tree->get_text(v1[i1].first),
               (const char*) tree->get_text(v2[i2].first));
     comp++;
     if (k==0) 
       {
-       resultVector.push_back(v1[i1]);
-       i1++; //advance left
+       for(j=0; j<v1[i1].second ; j++)
+         resultVector.push_back(v1[i1+j]);
+       i1=i1+j;
+       //      i1++; //advance left
       }
     //    else if (k<0) i1++; //advance left
     else if (k<0) i1=i1+v1[i1].second; //advance left