@@ -232,17 +232,19 @@ func (o *vectorOperator) execBinaryAnd(lhs, rhs model.StepVector) (model.StepVec
232
232
jp .sid = sampleID
233
233
jp .ats = ts
234
234
}
235
- for i , sampleID := range lhs .SampleIDs {
236
- if jp := o .hcJoinBuckets [sampleID ]; jp .ats == ts {
237
- step .AppendSample (o .pool , o .outputSeriesID (sampleID + 1 , jp .sid + 1 ), lhs .Samples [i ])
238
- }
239
- }
240
235
241
236
for _ , histogramID := range rhs .HistogramIDs {
242
237
jp := o .lcJoinBuckets [histogramID ]
243
238
jp .sid = histogramID
244
239
jp .ats = ts
245
240
}
241
+
242
+ for i , sampleID := range lhs .SampleIDs {
243
+ if jp := o .hcJoinBuckets [sampleID ]; jp .ats == ts {
244
+ step .AppendSample (o .pool , o .outputSeriesID (sampleID + 1 , jp .sid + 1 ), lhs .Samples [i ])
245
+ }
246
+ }
247
+
246
248
for i , histogramID := range lhs .HistogramIDs {
247
249
if jp := o .hcJoinBuckets [histogramID ]; jp .ats == ts {
248
250
step .AppendHistogram (o .pool , o .outputSeriesID (histogramID + 1 , jp .sid + 1 ), lhs .Histograms [i ])
@@ -268,8 +270,7 @@ func (o *vectorOperator) execBinaryOr(lhs, rhs model.StepVector) (model.StepVect
268
270
}
269
271
270
272
for i , sampleID := range rhs .SampleIDs {
271
- jp := o .lcJoinBuckets [sampleID ]
272
- if jp .ats != ts {
273
+ if jp := o .lcJoinBuckets [sampleID ]; jp .ats != ts {
273
274
step .AppendSample (o .pool , o .outputSeriesID (0 , sampleID + 1 ), rhs .Samples [i ])
274
275
}
275
276
}
@@ -291,11 +292,21 @@ func (o *vectorOperator) execBinaryUnless(lhs, rhs model.StepVector) (model.Step
291
292
jp := o .lcJoinBuckets [sampleID ]
292
293
jp .ats = ts
293
294
}
295
+ for _ , histogramID := range rhs .HistogramIDs {
296
+ jp := o .lcJoinBuckets [histogramID ]
297
+ jp .ats = ts
298
+ }
299
+
294
300
for i , sampleID := range lhs .SampleIDs {
295
301
if jp := o .hcJoinBuckets [sampleID ]; jp .ats != ts {
296
302
step .AppendSample (o .pool , o .outputSeriesID (sampleID + 1 , 0 ), lhs .Samples [i ])
297
303
}
298
304
}
305
+ for i , histogramID := range lhs .HistogramIDs {
306
+ if jp := o .hcJoinBuckets [histogramID ]; jp .ats != ts {
307
+ step .AppendHistogram (o .pool , o .outputSeriesID (histogramID + 1 , 0 ), lhs .Histograms [i ])
308
+ }
309
+ }
299
310
return step , nil
300
311
}
301
312
0 commit comments