Skip to content
This repository was archived by the owner on Nov 7, 2025. It is now read-only.

Commit d08a273

Browse files
committed
Cleanup 2
1 parent cdc378b commit d08a273

File tree

2 files changed

+5
-51
lines changed

2 files changed

+5
-51
lines changed

quesma/queryparser/pancake_sql_query_generation_test.go

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -61,30 +61,21 @@ func TestPancakeQueryGeneration(t *testing.T) {
6161
}
6262

6363
if test.TestName == "multiple buckets_path(file:clients/clover,nr:1)" {
64-
t.Skip("auto date histogram")
64+
t.Skip("Unskip after merge of auto_date_histogram")
6565
}
6666
if test.TestName == "Clover(file:clients/clover,nr:4)" {
6767
t.Skip("answers are fine, need to update test")
6868
}
6969

7070
if test.TestName == "max_bucket. Reproduce: Visualize -> Line: Metrics: Max Bucket (Bucket: Filters, Metric: Sum)(file:opensearch-visualize/pipeline_agg_req,nr:20)" ||
7171
test.TestName == "complex max_bucket. Reproduce: Visualize -> Line: Metrics: Max Bucket (Bucket: Filters, Metric: Sum), Buckets: Split chart: Rows -> Range(file:opensearch-visualize/pipeline_agg_req,nr:21)" {
72-
t.Skip("Wrong key in max_bucket, should be an easy fix")
72+
t.Skip("Was skipped before. Wrong key in max_bucket, should be an easy fix")
7373
}
7474

7575
if test.TestName == "complex sum_bucket. Reproduce: Visualize -> Vertical Bar: Metrics: Sum Bucket (Bucket: Date Histogram, Metric: Average), Buckets: X-Asis: Histogram(file:opensearch-visualize/pipeline_agg_req,nr:24)" {
7676
t.Skip("Was skipped before, no expected results")
7777
}
7878

79-
// 18 wtf?
80-
81-
if i >= 85 {
82-
//t.Skip()
83-
}
84-
if i != 6 {
85-
//t.Skip()
86-
}
87-
8879
fmt.Println("i:", i, "test:", test.TestName)
8980

9081
jsonp, err := types.ParseJSON(test.QueryRequestJson)
@@ -172,7 +163,7 @@ func TestPancakeQueryGeneration(t *testing.T) {
172163
if len(expectedMinusActual) != 0 {
173164
pp.Println("EXPECTED diff", expectedMinusActual)
174165
}
175-
pp.Println("ACTUAL", pancakeJson)
166+
//pp.Println("ACTUAL", pancakeJson)
176167
//pp.Println("EXPECTED", expectedAggregationsPart)
177168
assert.True(t, util.AlmostEmpty(actualMinusExpected, acceptableDifference))
178169
assert.True(t, util.AlmostEmpty(expectedMinusActual, acceptableDifference))

quesma/queryparser/pancake_transformer.go

Lines changed: 2 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ package queryparser
55
import (
66
"context"
77
"fmt"
8-
"github.com/k0kubun/pp"
98
"quesma/logger"
109
"quesma/model"
1110
"quesma/model/bucket_aggregations"
@@ -126,14 +125,9 @@ type layerAndNextBucket struct {
126125
}
127126

128127
func (a *pancakeTransformer) optimizeSimpleFilter(previousAggrNames []string, result *layerAndNextBucket, childAgg *pancakeAggregationTreeNode) bool {
129-
if len(previousAggrNames) == 0 { // already optimized
130-
//return false
131-
}
132-
133128
_, isFilter := result.nextBucketAggregation.queryType.(bucket_aggregations.FilterAgg)
134129
secondFilter, isFilter2 := childAgg.queryType.(bucket_aggregations.FilterAgg)
135130

136-
fmt.Println("dupa", isFilter, isFilter2, len(childAgg.children))
137131
if isFilter && isFilter2 && len(childAgg.children) == 0 {
138132
metrics, err := a.metricAggregationTreeNodeToModel(previousAggrNames, childAgg)
139133
if err != nil {
@@ -246,31 +240,8 @@ func (a *pancakeTransformer) aggregationChildrenToLayers(aggrNames []string, chi
246240
}
247241

248242
func (a *pancakeTransformer) checkIfSupported(layers []*pancakeModelLayer) error {
249-
// for now we support filter only as last bucket aggregation
250-
/* let's try to support everything
251-
for layerIdx, layer := range layers {
252-
if layer.nextBucketAggregation != nil {
253-
switch layer.nextBucketAggregation.queryType.(type) {
254-
case bucket_aggregations.CombinatorAggregationInterface:
255-
for _, followingLayer := range layers[layerIdx+1:] {
256-
bucket := followingLayer.nextBucketAggregation
257-
if bucket != nil {
258-
switch bucket.queryType.(type) {
259-
case *bucket_aggregations.DateHistogram:
260-
continue // histogram are fine
261-
case bucket_aggregations.CombinatorAggregationInterface:
262-
continue // we also support nested filters/range/dataRange
263-
case *bucket_aggregations.Filters:
264-
continue
265-
default:
266-
return fmt.Errorf("filter(s)/range/dataRange aggregation must be the last bucket aggregation (found %s)", bucket.queryType.String())
267-
}
268-
}
269-
}
270-
}
271-
}
272-
}
273-
*/
243+
// Let's say we support everything. That'll be true when I add support for filters/date_range/range in the middle of aggregation tree (@trzysiek)
244+
// Erase this function by then.
274245
return nil
275246
}
276247

@@ -389,8 +360,6 @@ func (a *pancakeTransformer) aggregationTreeToPancakes(topLevel pancakeAggregati
389360
return nil, fmt.Errorf("no top level aggregations found")
390361
}
391362

392-
//pp.Println("pancakeAggregationTree", topLevel, topLevel.children[0])
393-
394363
resultLayers, err := a.aggregationChildrenToLayers([]string{}, topLevel.children)
395364

396365
if err != nil {
@@ -422,7 +391,6 @@ func (a *pancakeTransformer) aggregationTreeToPancakes(topLevel pancakeAggregati
422391
pancakeResults = append(pancakeResults, &newPancake)
423392

424393
additionalTopHitPancakes, err := a.createTopHitAndTopMetricsPancakes(&newPancake)
425-
fmt.Println(topLevel.whereClause)
426394
if err != nil {
427395
return nil, err
428396
}
@@ -439,8 +407,6 @@ func (a *pancakeTransformer) aggregationTreeToPancakes(topLevel pancakeAggregati
439407
}
440408

441409
func (a *pancakeTransformer) createFiltersPancakes(pancake *pancakeModel) (result []*pancakeModel, err error) {
442-
pp.Println("PANCAKE", pancake)
443-
fmt.Println("hoho", len(pancake.layers), pancake.layers[0].nextBucketAggregation == nil)
444410
if len(pancake.layers) == 0 || pancake.layers[0].nextBucketAggregation == nil {
445411
return
446412
}
@@ -452,19 +418,16 @@ func (a *pancakeTransformer) createFiltersPancakes(pancake *pancakeModel) (resul
452418
}
453419
if len(firstLayer.currentMetricAggregations) == 0 && len(firstLayer.currentPipelineAggregations) == 0 && len(pancake.layers) > 1 { // maybe secondLayer, not first?
454420
// If filter is in the first layer, we can just add it to the where clause
455-
fmt.Println("jestem tu?", len(filters.Filters))
456421
for i, filter := range filters.Filters[1:] {
457422
newPancake := pancake.Clone()
458423
// new (every) pancake has only 1 filter instead of all
459424
bucketAggr := newPancake.layers[0].nextBucketAggregation.ShallowClone()
460425
bucketAggr.queryType = filters.NewFiltersSingleFilter(i + 1) // +1 because we iterate over [1:]
461-
pp.Println("new filter", bucketAggr.queryType)
462426
newPancake.layers[0] = newPancakeModelLayer(&bucketAggr)
463427
newPancake.whereClause = model.And([]model.Expr{newPancake.whereClause, filter.Sql.WhereClause})
464428
result = append(result, newPancake)
465429
}
466430
pancake.layers[0].nextBucketAggregation.queryType = filters.NewFiltersSingleFilter(0)
467-
pp.Println("hoho", filters)
468431
}
469432
return
470433
}

0 commit comments

Comments
 (0)