From fde9918591b4e9a5489cfa6515487fa071489804 Mon Sep 17 00:00:00 2001 From: Andrey Karpov Date: Mon, 10 Feb 2025 20:17:43 +0000 Subject: [PATCH] wip --- tempodb/encoding/vparquet4/block_traceql.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tempodb/encoding/vparquet4/block_traceql.go b/tempodb/encoding/vparquet4/block_traceql.go index f4766518f68..2f6b0368482 100644 --- a/tempodb/encoding/vparquet4/block_traceql.go +++ b/tempodb/encoding/vparquet4/block_traceql.go @@ -2008,10 +2008,20 @@ func createSpanIterator(makeIter makeIterFn, innerIterators []parquetquery.Itera return nil, fmt.Errorf("creating predicate: %w", err) } if pred != nil { - subIters = append(subIters, makeIter(columnPathResourceAttrDouble, pred, cond.Attribute.Name)) + subIters = append(subIters, + parquetquery.NewJoinIterator( + DefinitionLevelResourceSpansILSSpanAttrs, + []parquetquery.Iterator{ + makeIter(columnPathSpanAttrKey, parquetquery.NewStringInPredicate([]string{cond.Attribute.Name}), "key"), + makeIter(columnPathSpanAttrDouble, pred, "float"), + }, + &attributeCollector{}, + parquetquery.WithPool(pqAttrPool), + ), + ) } } - if unionItr := unionIfNeeded(DefinitionLevelResourceSpansILSSpan, subIters, nil); unionItr != nil { + if unionItr := unionIfNeeded(DefinitionLevelResourceSpansILSSpanAttrs, subIters, nil); unionItr != nil { iters = append(iters, unionItr) }